在vs2008下使用cygwin(5):i686-pc-cygwin/newlib/libc/stdlib/Makefile分析

 

快乐虾

http://blog.csdn.net/lights_joy/

lights@hb165.com

   

 

本文适用于

Cygwin-1.16

Vs2008

   

欢迎转载,但请保留作者信息

 

 

这个Makefile由上一级目录的makefile调用make all执行。All目标定义为:

all: all-am

all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(DATA)

LIBRARIES = $(noinst_LIBRARIES)

noinst_LIBRARIES = lib.a

LTLIBRARIES = $(noinst_LTLIBRARIES)

noinst_LTLIBRARIES未定义

DATA = $(noinst_DATA)

noinst_DATA =

因而此目标将依赖于lib.a目标,其定义为:

lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)

       -rm -f lib.a

       $(lib_a_AR) lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)

       $(RANLIB) lib.a

在生成所需要的目标文件后,上述脚本将它们打包成lib.a文件。这个库将用于实现libc/include/stdlib.h中定义的几个函数。

由于有以下定义:

lib_a_OBJECTS = $(am_lib_a_OBJECTS)

am_lib_a_OBJECTS = $(am__objects_1) /

       $(am__objects_2) $(am__objects_6)

am__objects_1 = lib_a-__adjust.$(OBJEXT) lib_a-__atexit.$(OBJEXT) /

       lib_a-__call_atexit.$(OBJEXT) lib_a-__exp10.$(OBJEXT) /

       lib_a-__ten_mu.$(OBJEXT) lib_a-_Exit.$(OBJEXT) /

       lib_a-abort.$(OBJEXT) lib_a-abs.$(OBJEXT) /

       lib_a-assert.$(OBJEXT) lib_a-atexit.$(OBJEXT) /

       lib_a-atof.$(OBJEXT) lib_a-atoff.$(OBJEXT) /

       lib_a-atoi.$(OBJEXT) lib_a-atol.$(OBJEXT) /

       lib_a-calloc.$(OBJEXT) lib_a-div.$(OBJEXT) /

       lib_a-dtoa.$(OBJEXT) lib_a-dtoastub.$(OBJEXT) /

       lib_a-environ.$(OBJEXT) lib_a-envlock.$(OBJEXT) /

       lib_a-eprintf.$(OBJEXT) lib_a-exit.$(OBJEXT) /

       lib_a-gdtoa-gethex.$(OBJEXT) lib_a-gdtoa-hexnan.$(OBJEXT) /

       lib_a-getenv.$(OBJEXT) lib_a-getenv_r.$(OBJEXT) /

       lib_a-labs.$(OBJEXT) lib_a-ldiv.$(OBJEXT) /

       lib_a-ldtoa.$(OBJEXT) lib_a-malloc.$(OBJEXT) /

       lib_a-mblen.$(OBJEXT) lib_a-mblen_r.$(OBJEXT) /

       lib_a-mbstowcs.$(OBJEXT) lib_a-mbstowcs_r.$(OBJEXT) /

       lib_a-mbtowc.$(OBJEXT) lib_a-mbtowc_r.$(OBJEXT) /

       lib_a-mlock.$(OBJEXT) lib_a-mprec.$(OBJEXT) /

       lib_a-mstats.$(OBJEXT) lib_a-rand.$(OBJEXT) /

       lib_a-rand_r.$(OBJEXT) lib_a-realloc.$(OBJEXT) /

       lib_a-strtod.$(OBJEXT) lib_a-strtol.$(OBJEXT) /

       lib_a-strtoul.$(OBJEXT) lib_a-wcstol.$(OBJEXT) /

       lib_a-wcstoul.$(OBJEXT) lib_a-wcstombs.$(OBJEXT) /

       lib_a-wcstombs_r.$(OBJEXT) lib_a-wctomb.$(OBJEXT) /

       lib_a-wctomb_r.$(OBJEXT)

am__objects_2 = lib_a-cxa_atexit.$(OBJEXT) /

       lib_a-cxa_finalize.$(OBJEXT) lib_a-drand48.$(OBJEXT) /

       lib_a-ecvtbuf.$(OBJEXT) lib_a-efgcvt.$(OBJEXT) /

       lib_a-erand48.$(OBJEXT) lib_a-jrand48.$(OBJEXT) /

       lib_a-lcong48.$(OBJEXT) lib_a-lrand48.$(OBJEXT) /

       lib_a-mrand48.$(OBJEXT) lib_a-msize.$(OBJEXT) /

       lib_a-mtrim.$(OBJEXT) lib_a-nrand48.$(OBJEXT) /

       lib_a-rand48.$(OBJEXT) lib_a-seed48.$(OBJEXT) /

       lib_a-srand48.$(OBJEXT) lib_a-strtoll.$(OBJEXT) /

       lib_a-strtoll_r.$(OBJEXT) lib_a-strtoull.$(OBJEXT) /

       lib_a-strtoull_r.$(OBJEXT) lib_a-wcstoll.$(OBJEXT) /

       lib_a-wcstoll_r.$(OBJEXT) lib_a-wcstoull.$(OBJEXT) /

       lib_a-wcstoull_r.$(OBJEXT) lib_a-atoll.$(OBJEXT) /

       lib_a-llabs.$(OBJEXT) lib_a-lldiv.$(OBJEXT)

am__objects_3 = lib_a-a 64l .$(OBJEXT) lib_a-btowc.$(OBJEXT) /

       lib_a-getopt.$(OBJEXT) lib_a-getsubopt.$(OBJEXT) /

       lib_a-l 64a .$(OBJEXT) lib_a-malign.$(OBJEXT) /

       lib_a-mbrlen.$(OBJEXT) lib_a-mbrtowc.$(OBJEXT) /

       lib_a-mbsinit.$(OBJEXT) lib_a-mbsrtowcs.$(OBJEXT) /

       lib_a-on_exit.$(OBJEXT) lib_a-valloc.$(OBJEXT) /

       lib_a-wcrtomb.$(OBJEXT) lib_a-wcsrtombs.$(OBJEXT) /

       lib_a-wctob.$(OBJEXT)

am__objects_4 = lib_a-putenv.$(OBJEXT) lib_a-putenv_r.$(OBJEXT) /

       lib_a-setenv.$(OBJEXT) lib_a-setenv_r.$(OBJEXT)

am__objects_5 = lib_a-system.$(OBJEXT)

am__objects_6 = $(am__objects_3) /

       $(am__objects_4) /

       $(am__objects_5)

因而此目标有以下的依赖关系。

1.1.1.1             lib_a-__adjust.$(OBJEXT)

这个目标定义为:

lib_a-__adjust.o: __adjust.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-__adjust.o `test -f '__adjust.c' || echo '$(srcdir)/'`__adjust.c

直接编译即可。

这个文件实现了__adjust函数,但此函数并未在stdlib的实现中使用,因而在VC下编译时排除。

 

1.1.1.2             lib_a-__atexit.$(OBJEXT)

这个目标定义为:

lib_a-__atexit.o: __atexit.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-__atexit.o `test -f '__atexit.c' || echo '$(srcdir)/'`__atexit.c

直接编译即可。

这个文件实现了一个叫__register_exitproc的函数,这个函数用于将一个函数指针放到退出系统时的回调函数列表中。

vc中仅使用了atexit函数,它可以接受无参数的函数做为回调函数,但是glibc使用了atexit, on_exit, cxa_atexit三个函数,其中后两个函数可以接受带参数的回调函数,而这三个函数都使用__register_exitproc函数来保存其回调函数列表。

为此我们需要修改__register_exitproc函数,让它向VC注册一个回调函数,同时仍然将回调函数列表保存到reent结构体中。这样当VC程序退出时将调用这个中间的回调函数,在此函数中调用cygwin__call_exitprocs函数以使用参数调用已经注册的函数。

因为提供给VC的回调函数仅需要注册一次,因而还必须在reent结构体中添加一个是否已经注册的变量。

struct _reent

{

………………………

  /* atexit stuff */

  struct _atexit *_atexit;  /* points to head of LIFO stack */

  struct _atexit _atexit0;  /* one guaranteed table, required by ANSI */

  int _have_registered;    /* 用以判断回调函数是否已经注册*/

………………………

};

相应的,还要改变_REENT_INIT_REENT_INIT_PTR两个宏。

 

 

1.1.1.3                   lib_a-__call_atexit.$(OBJEXT)

这个目标定义为:

lib_a-__call_atexit.o: __call_atexit.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-__call_atexit.o `test -f '__call_atexit.c' || echo '$(srcdir)/'`__call_atexit.c

直接编译即可。

 

1.1.1.4             lib_a-__exp10.$(OBJEXT)

这个目标定义为:

lib_a-__exp10.o: __exp10.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-__exp10.o `test -f '__exp10.c' || echo '$(srcdir)/'`__exp10.c

直接编译即可。

 

1.1.1.5             lib_a-__ten_mu.$(OBJEXT)

这个目标定义为:

lib_a-__ten_mu.o: __ten_mu.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-__ten_mu.o `test -f '__ten_mu.c' || echo '$(srcdir)/'`__ten_mu.c

直接编译即可。

 

1.1.1.6             lib_a-_Exit.$(OBJEXT)

这个目标定义为:

lib_a-_Exit.o: _Exit.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-_Exit.o `test -f '_Exit.c' || echo '$(srcdir)/'`_Exit.c

直接编译即可。

 

1.1.1.7                   lib_a-abort.$(OBJEXT)

这个目标定义为:

lib_a-abort.o: abort.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-abort.o `test -f 'abort.c' || echo '$(srcdir)/'`abort.c

直接编译即可。

VC提供了abort函数,此文件可忽略。

 

1.1.1.8             lib_a-abs.$(OBJEXT)

这个目标定义为:

lib_a-abs.o: abs.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-abs.o `test -f 'abs.c' || echo '$(srcdir)/'`abs.c

直接编译即可。

VC提供了abs函数,此文件可忽略。

 

1.1.1.9                   lib_a-assert.$(OBJEXT)

这个目标定义为:

lib_a-assert.o: assert.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-assert.o `test -f 'assert.c' || echo '$(srcdir)/'`assert.c

直接编译即可。

VC提供了assert宏,此文件可忽略。

 

1.1.1.10        lib_a-atexit.$(OBJEXT)

这个目标定义为:

lib_a-atexit.o: atexit.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-atexit.o `test -f 'atexit.c' || echo '$(srcdir)/'`atexit.c

直接编译即可。

VC提供了atexit函数,此文件可忽略。

 

1.1.1.11       lib_a-atof.$(OBJEXT)

这个目标定义为:

lib_a-atof.o: atof.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-atof.o `test -f 'atof.c' || echo '$(srcdir)/'`atof.c

直接编译即可。

VC提供了atof函数,此文件可忽略。

 

1.1.1.12       lib_a-atoff.$(OBJEXT)

这个目标定义为:

lib_a-atoff.o: atoff.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-atoff.o `test -f 'atoff.c' || echo '$(srcdir)/'`atoff.c

直接编译即可。

这个函数其实相当简单:

float

_DEFUN (atoff, (s),

     _CONST char *s)

{

  return strtof (s, NULL);

}

呵呵。

 

1.1.1.13       lib_a-atoi.$(OBJEXT)

这个目标定义为:

lib_a-atoi.o: atoi.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-atoi.o `test -f 'atoi.c' || echo '$(srcdir)/'`atoi.c

直接编译即可。

Vc提供了atoi函数,此文件中的atoi函数可略过,保留_atoi_r函数即可。

 

1.1.1.14       lib_a-atol.$(OBJEXT)

这个目标定义为:

lib_a-atol.o: atol.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-atol.o `test -f 'atol.c' || echo '$(srcdir)/'`atol.c

直接编译即可。

Vc提供了atol函数,此文件中的atol函数可略过,保留_atol_r函数即可。

 

1.1.1.15       lib_a-calloc.$(OBJEXT)

这个目标定义为:

lib_a-calloc.o: calloc.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-calloc.o `test -f 'calloc.c' || echo '$(srcdir)/'`calloc.c

直接编译即可。

Vc提供了calloc函数,此文件可略过。

 

1.1.1.16       lib_a-div.$(OBJEXT)

这个目标定义为:

lib_a-div.o: div.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-div.o `test -f 'div.c' || echo '$(srcdir)/'`div.c

直接编译即可。

Vc提供了div函数,此文件可略过。

 

1.1.1.17       lib_a-dtoa.$(OBJEXT)

这个目标定义为:

lib_a-dtoa.o: dtoa.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-dtoa.o `test -f 'dtoa.c' || echo '$(srcdir)/'`dtoa.c

直接编译即可。

 

1.1.1.18       lib_a-dtoastub.$(OBJEXT)

这个目标定义为:

lib_a-dtoastub.o: dtoastub.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-dtoastub.o `test -f 'dtoastub.c' || echo '$(srcdir)/'`dtoastub.c

直接编译即可。

 

1.1.1.19       lib_a-environ.$(OBJEXT)

这个目标定义为:

lib_a-environ.o: environ.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-environ.o `test -f 'environ.c' || echo '$(srcdir)/'`environ.c

直接编译即可。

这个文件提供了environ这个全局变量的定义,但VS2005已经提供,故略过此文件。

 

1.1.1.20       lib_a-envlock.$(OBJEXT)

这个目标定义为:

lib_a-envlock.o: envlock.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-envlock.o `test -f 'envlock.c' || echo '$(srcdir)/'`envlock.c

直接编译即可。

 

1.1.1.21       lib_a-eprintf.$(OBJEXT)

这个目标定义为:

lib_a-eprintf.o: eprintf.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-eprintf.o `test -f 'eprintf.c' || echo '$(srcdir)/'`eprintf.c

直接编译即可。

 

1.1.1.22       lib_a-exit.$(OBJEXT)

这个目标定义为:

lib_a-exit.o: exit.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-exit.o `test -f 'exit.c' || echo '$(srcdir)/'`exit.c

直接编译即可。

Vc提供了exit函数,忽略此文件。

 

1.1.1.23       lib_a-gdtoa-gethex.$(OBJEXT)

这个目标定义为:

lib_a-gdtoa-gethex.o: gdtoa-gethex.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-gdtoa-gethex.o `test -f 'gdtoa-gethex.c' || echo '$(srcdir)/'`gdtoa-gethex.c

直接编译即可。

 

1.1.1.24       lib_a-gdtoa-hexnan.$(OBJEXT)

这个目标定义为:

lib_a-gdtoa-hexnan.o: gdtoa-hexnan.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-gdtoa-hexnan.o `test -f 'gdtoa-hexnan.c' || echo '$(srcdir)/'`gdtoa-hexnan.c

直接编译即可。

 

1.1.1.25       lib_a-getenv.$(OBJEXT)

这个目标定义为:

lib_a-getenv.o: getenv.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-getenv.o `test -f 'getenv.c' || echo '$(srcdir)/'`getenv.c

直接编译即可。

Vc提供了getenv函数,略过此文件。

1.1.1.26        lib_a-getenv_r.$(OBJEXT)

这个目标定义为:

lib_a-getenv_r.o: getenv_r.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-getenv_r.o `test -f 'getenv_r.c' || echo '$(srcdir)/'`getenv_r.c

直接编译即可。

这个文件的问题在于以下两个定义:

extern char **environ;

 

/* Only deal with a pointer to environ, to work around subtle bugs with shared

   libraries and/or small data systems where the user declares his own

   'environ'.  */

static char ***p_environ = &environ;

将造成__environ链接错误。可将这两个定义屏掉,然后在后面使用*p_environ的地方用_environ替换,_environ是在vcstdlib.h中定义的一个变量。

 

1.1.1.27       lib_a-labs.$(OBJEXT)

这个目标定义为:

lib_a-labs.o: labs.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-labs.o `test -f 'labs.c' || echo '$(srcdir)/'`labs.c

直接编译即可。

 

1.1.1.28       lib_a-ldiv.$(OBJEXT)

这个目标定义为:

lib_a-ldiv.o: ldiv.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ldiv.o `test -f 'ldiv.c' || echo '$(srcdir)/'`ldiv.c

直接编译即可。

Vc提供了ldiv函数,略过此文件。

 

1.1.1.29       lib_a-ldtoa.$(OBJEXT)

这个目标定义为:

lib_a-ldtoa.o: ldtoa.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ldtoa.o `test -f 'ldtoa.c' || echo '$(srcdir)/'`ldtoa.c

直接编译即可。

 

1.1.1.30       lib_a-malloc.$(OBJEXT)

这个目标定义为:

lib_a-malloc.o: malloc.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-malloc.o `test -f 'malloc.c' || echo '$(srcdir)/'`malloc.c

直接编译即可。

mallocfree函数均由vc提供,略过此文件。

 

1.1.1.31       lib_a-mblen.$(OBJEXT)

这个目标定义为:

lib_a-mblen.o: mblen.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-mblen.o `test -f 'mblen.c' || echo '$(srcdir)/'`mblen.c

直接编译即可。

Vc提供了mblen函数,略过此文件。

 

1.1.1.32       lib_a-mblen_r.$(OBJEXT)

这个目标定义为:

lib_a-mblen_r.o: mblen_r.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-mblen_r.o `test -f 'mblen_r.c' || echo '$(srcdir)/'`mblen_r.c

直接编译即可。

 

1.1.1.33       lib_a-mbstowcs.$(OBJEXT)

这个目标定义为:

lib_a-mbstowcs.o: mbstowcs.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-mbstowcs.o `test -f 'mbstowcs.c' || echo '$(srcdir)/'`mbstowcs.c

直接编译即可。

Vc提供了mbstowcs函数,略过此文件。

 

1.1.1.34       lib_a-mbstowcs_r.$(OBJEXT)

这个目标定义为:

lib_a-mbstowcs_r.o: mbstowcs_r.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-mbstowcs_r.o `test -f 'mbstowcs_r.c' || echo '$(srcdir)/'`mbstowcs_r.c

直接编译即可。

 

1.1.1.35       lib_a-mbtowc.$(OBJEXT)

这个目标定义为:

lib_a-mbtowc.o: mbtowc.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-mbtowc.o `test -f 'mbtowc.c' || echo '$(srcdir)/'`mbtowc.c

直接编译即可。

Vc提供了mbtowc函数,略过此文件。

 

1.1.1.36       lib_a-mbtowc_r.$(OBJEXT)

这个目标定义为:

lib_a-mbtowc_r.o: mbtowc_r.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-mbtowc_r.o `test -f 'mbtowc_r.c' || echo '$(srcdir)/'`mbtowc_r.c

直接编译即可。

 

1.1.1.37       lib_a-mlock.$(OBJEXT)

这个目标定义为:

lib_a-mlock.o: mlock.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-mlock.o `test -f 'mlock.c' || echo '$(srcdir)/'`mlock.c

直接编译即可。

 

1.1.1.38       lib_a-mprec.$(OBJEXT)

这个目标定义为:

lib_a-mprec.o: mprec.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-mprec.o `test -f 'mprec.c' || echo '$(srcdir)/'`mprec.c

直接编译即可。

 

1.1.1.39       lib_a-mstats.$(OBJEXT)

这个目标定义为:

lib_a-mstats.o: mstats.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-mstats.o `test -f 'mstats.c' || echo '$(srcdir)/'`mstats.c

直接编译即可。

这个文件为malloc服务,由于采用vcmalloc函数,跳过此文件。

 

1.1.1.40       lib_a-rand.$(OBJEXT)

这个目标定义为:

lib_a-rand.o: rand.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-rand.o `test -f 'rand.c' || echo '$(srcdir)/'`rand.c

直接编译即可。

Vc提供了randsrand函数,略过此文件。

 

1.1.1.41       lib_a-rand_r.$(OBJEXT)

这个目标定义为:

lib_a-rand.o: rand.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-rand.o `test -f 'rand.c' || echo '$(srcdir)/'`rand.c

直接编译即可。

 

1.1.1.42       lib_a-realloc.$(OBJEXT)

这个目标定义为:

lib_a-realloc.o: realloc.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-realloc.o `test -f 'realloc.c' || echo '$(srcdir)/'`realloc.c

直接编译即可。

Vc提供了realloc函数,略过此文件。

 

1.1.1.43       lib_a-strtod.$(OBJEXT)

这个目标定义为:

lib_a-strtod.o: strtod.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strtod.o `test -f 'strtod.c' || echo '$(srcdir)/'`strtod.c

直接编译即可。

 

1.1.1.44       lib_a-strtol.$(OBJEXT)

这个目标定义为:

lib_a-strtol.o: strtol.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strtol.o `test -f 'strtol.c' || echo '$(srcdir)/'`strtol.c

直接编译即可。

Vc提供了strtol函数,略过此文件中的函数。

 

1.1.1.45       lib_a-strtoul.$(OBJEXT)

这个目标定义为:

lib_a-strtoul.o: strtoul.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strtoul.o `test -f 'strtoul.c' || echo '$(srcdir)/'`strtoul.c

直接编译即可。

Vc提供了strtoul函数,略过此文件中的函数。

 

1.1.1.46       lib_a-wcstol.$(OBJEXT)

这个目标定义为:

lib_a-wcstol.o: wcstol.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-wcstol.o `test -f 'wcstol.c' || echo '$(srcdir)/'`wcstol.c

直接编译即可。

Vc提供了wcstol函数,略过此函数。

 

1.1.1.47       lib_a-wcstoul.$(OBJEXT)

这个目标定义为:

lib_a-wcstoul.o: wcstoul.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-wcstoul.o `test -f 'wcstoul.c' || echo '$(srcdir)/'`wcstoul.c

直接编译即可。

Vc提供了wcstoul函数,略过文件中的此函数。

 

1.1.1.48       lib_a-wcstombs.$(OBJEXT)

这个目标定义为:

lib_a-wcstombs.o: wcstombs.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-wcstombs.o `test -f 'wcstombs.c' || echo '$(srcdir)/'`wcstombs.c

直接编译即可。

Vc提供了wcstombs函数,略过此文件。

 

1.1.1.49       lib_a-wcstombs_r.$(OBJEXT)

这个目标定义为:

lib_a-wcstombs_r.o: wcstombs_r.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-wcstombs_r.o `test -f 'wcstombs_r.c' || echo '$(srcdir)/'`wcstombs_r.c

直接编译即可。

 

1.1.1.50       lib_a-wctomb.$(OBJEXT)

这个目标定义为:

lib_a-wctomb.o: wctomb.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-wctomb.o `test -f 'wctomb.c' || echo '$(srcdir)/'`wctomb.c

直接编译即可。

Vc提供了wctomb函数,略过此文件。

 

1.1.1.51       lib_a-wctomb_r.$(OBJEXT)

这个目标定义为:

lib_a-wctomb_r.o: wctomb_r.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-wctomb_r.o `test -f 'wctomb_r.c' || echo '$(srcdir)/'`wctomb_r.c

直接编译即可。

 

1.1.1.52       lib_a-cxa_atexit.$(OBJEXT)

这个目标定义为:

lib_a-cxa_atexit.o: cxa_atexit.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cxa_atexit.o `test -f 'cxa_atexit.c' || echo '$(srcdir)/'`cxa_atexit.c

直接编译即可。

 

1.1.1.53       lib_a-cxa_finalize.$(OBJEXT)

这个目标定义为:

lib_a-cxa_finalize.o: cxa_finalize.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cxa_finalize.o `test -f 'cxa_finalize.c' || echo '$(srcdir)/'`cxa_finalize.c

直接编译即可。

 

1.1.1.54       lib_a-drand48.$(OBJEXT)

这个目标定义为:

lib_a-drand48.o: drand48.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-drand48.o `test -f 'drand48.c' || echo '$(srcdir)/'`drand48.c

直接编译即可。

 

1.1.1.55       lib_a-ecvtbuf.$(OBJEXT)

这个目标定义为:

lib_a-ecvtbuf.o: ecvtbuf.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ecvtbuf.o `test -f 'ecvtbuf.c' || echo '$(srcdir)/'`ecvtbuf.c

直接编译即可。

 

1.1.1.56       lib_a-efgcvt.$(OBJEXT)

这个目标定义为:

lib_a-efgcvt.o: efgcvt.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-efgcvt.o `test -f 'efgcvt.c' || echo '$(srcdir)/'`efgcvt.c

直接编译即可。

Vc提供了fcvt, ecvt, gcvt函数,略过这三个函数。

 

1.1.1.57       lib_a-erand48.$(OBJEXT)

这个目标定义为:

lib_a-erand48.o: erand48.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-erand48.o `test -f 'erand48.c' || echo '$(srcdir)/'`erand48.c

直接编译即可。

 

1.1.1.58       lib_a-jrand48.$(OBJEXT)

这个目标定义为:

lib_a-jrand48.o: jrand48.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-jrand48.o `test -f 'jrand48.c' || echo '$(srcdir)/'`jrand48.c

直接编译即可。

 

1.1.1.59       lib_a-lcong48.$(OBJEXT)

这个目标定义为:

lib_a-lcong48.o: lcong48.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-lcong48.o `test -f 'lcong48.c' || echo '$(srcdir)/'`lcong48.c

直接编译即可。

 

1.1.1.60       lib_a-lrand48.$(OBJEXT)

这个目标定义为:

lib_a-lrand48.o: lrand48.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-lrand48.o `test -f 'lrand48.c' || echo '$(srcdir)/'`lrand48.c

直接编译即可。

 

1.1.1.61       lib_a-mrand48.$(OBJEXT)

这个目标定义为:

lib_a-mrand48.o: mrand48.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-mrand48.o `test -f 'mrand48.c' || echo '$(srcdir)/'`mrand48.c

直接编译即可。

 

1.1.1.62       lib_a-msize.$(OBJEXT)

这个目标定义为:

lib_a-msize.o: msize.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-msize.o `test -f 'msize.c' || echo '$(srcdir)/'`msize.c

直接编译即可。

 

1.1.1.63       lib_a-mtrim.$(OBJEXT)

这个目标定义为:

lib_a-mtrim.o: mtrim.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-mtrim.o `test -f 'mtrim.c' || echo '$(srcdir)/'`mtrim.c

直接编译即可。

 

1.1.1.64       lib_a-nrand48.$(OBJEXT)

这个目标定义为:

lib_a-nrand48.o: nrand48.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-nrand48.o `test -f 'nrand48.c' || echo '$(srcdir)/'`nrand48.c

直接编译即可。

 

1.1.1.65       lib_a-rand48.$(OBJEXT)

这个目标定义为:

lib_a-rand48.o: rand48.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-rand48.o `test -f 'rand48.c' || echo '$(srcdir)/'`rand48.c

直接编译即可。

 

1.1.1.66       lib_a-seed48.$(OBJEXT)

这个目标定义为:

lib_a-seed48.o: seed48.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-seed48.o `test -f 'seed48.c' || echo '$(srcdir)/'`seed48.c

直接编译即可。

 

1.1.1.67       lib_a-srand48.$(OBJEXT)

这个目标定义为:

lib_a-srand48.o: srand48.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-srand48.o `test -f 'srand48.c' || echo '$(srcdir)/'`srand48.c

直接编译即可。

 

1.1.1.68       lib_a-strtoll.$(OBJEXT)

这个目标定义为:

lib_a-strtoll.o: strtoll.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strtoll.o `test -f 'strtoll.c' || echo '$(srcdir)/'`strtoll.c

直接编译即可。

 

1.1.1.69       lib_a-strtoll_r.$(OBJEXT)

这个目标定义为:

lib_a-strtoll_r.o: strtoll_r.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strtoll_r.o `test -f 'strtoll_r.c' || echo '$(srcdir)/'`strtoll_r.c

直接编译即可。

 

1.1.1.70       lib_a-strtoull.$(OBJEXT)

这个目标定义为:

lib_a-strtoull.o: strtoull.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strtoull.o `test -f 'strtoull.c' || echo '$(srcdir)/'`strtoull.c

直接编译即可。

 

1.1.1.71       lib_a-strtoull_r.$(OBJEXT)

这个目标定义为:

lib_a-strtoull_r.o: strtoull_r.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strtoull_r.o `test -f 'strtoull_r.c' || echo '$(srcdir)/'`strtoull_r.c

直接编译即可。

 

1.1.1.72       lib_a-wcstoll.$(OBJEXT)

这个目标定义为:

lib_a-wcstoll.o: wcstoll.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-wcstoll.o `test -f 'wcstoll.c' || echo '$(srcdir)/'`wcstoll.c

直接编译即可。

 

1.1.1.73       lib_a-wcstoll_r.$(OBJEXT)

这个目标定义为:

lib_a-wcstoll_r.o: wcstoll_r.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-wcstoll_r.o `test -f 'wcstoll_r.c' || echo '$(srcdir)/'`wcstoll_r.c

直接编译即可。

 

1.1.1.74       lib_a-wcstoull.$(OBJEXT)

这个目标定义为:

lib_a-wcstoull.o: wcstoull.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-wcstoull.o `test -f 'wcstoull.c' || echo '$(srcdir)/'`wcstoull.c

直接编译即可。

 

1.1.1.75       lib_a-wcstoull_r.$(OBJEXT)

这个目标定义为:

lib_a-wcstoull_r.o: wcstoull_r.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-wcstoull_r.o `test -f 'wcstoull_r.c' || echo '$(srcdir)/'`wcstoull_r.c

直接编译即可。

 

1.1.1.76       lib_a-atoll.$(OBJEXT)

这个目标定义为:

lib_a-atoll.o: atoll.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-atoll.o `test -f 'atoll.c' || echo '$(srcdir)/'`atoll.c

直接编译即可。

 

1.1.1.77       lib_a-llabs.$(OBJEXT)

这个目标定义为:

lib_a-llabs.o: llabs.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-llabs.o `test -f 'llabs.c' || echo '$(srcdir)/'`llabs.c

直接编译即可。

 

1.1.1.78       lib_a-lldiv.$(OBJEXT)

这个目标定义为:

lib_a-lldiv.o: lldiv.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-lldiv.o `test -f 'lldiv.c' || echo '$(srcdir)/'`lldiv.c

直接编译即可。

 

1.1.1.79       lib_a-a 64l .$(OBJEXT)

这个目标定义为:

lib_a-a 64l .o: a 64l .c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-a 64l .o `test -f 'a 64l .c' || echo '$(srcdir)/'`a 64l .c

直接编译即可。

 

1.1.1.80       lib_a-btowc.$(OBJEXT)

这个目标定义为:

lib_a-btowc.o: btowc.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-btowc.o `test -f 'btowc.c' || echo '$(srcdir)/'`btowc.c

直接编译即可。

Vc提供了btowc函数,略过此文件。

 

1.1.1.81       lib_a-getopt.$(OBJEXT)

这个目标定义为:

lib_a-getopt.o: getopt.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-getopt.o `test -f 'getopt.c' || echo '$(srcdir)/'`getopt.c

直接编译即可。

 

1.1.1.82       lib_a-getsubopt.$(OBJEXT)

这个目标定义为:

lib_a-getsubopt.o: getsubopt.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-getsubopt.o `test -f 'getsubopt.c' || echo '$(srcdir)/'`getsubopt.c

直接编译即可。

 

1.1.1.83       lib_a-l 64a .$(OBJEXT)

这个目标定义为:

lib_a-l 64a .o: l 64a .c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-l 64a .o `test -f 'l 64a .c' || echo '$(srcdir)/'`l 64a .c

直接编译即可。

 

1.1.1.84       lib_a-malign.$(OBJEXT)

这个目标定义为:

lib_a-malign.o: malign.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-malign.o `test -f 'malign.c' || echo '$(srcdir)/'`malign.c

直接编译即可。

 

1.1.1.85       lib_a-mbrlen.$(OBJEXT)

这个目标定义为:

lib_a-mbrlen.o: mbrlen.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-mbrlen.o `test -f 'mbrlen.c' || echo '$(srcdir)/'`mbrlen.c

直接编译即可。

Vc提供了mbrlen函数,但由于mbstate定义的不同,将此函数改为cyg_mbrlen

 

1.1.1.86       lib_a-mbrtowc.$(OBJEXT)

这个目标定义为:

lib_a-mbrtowc.o: mbrtowc.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-mbrtowc.o `test -f 'mbrtowc.c' || echo '$(srcdir)/'`mbrtowc.c

直接编译即可。

Vc提供了mbrtowc函数,但由于mbstate定义的不同,将此函数改为cyg_mbrtowc

 

1.1.1.87       lib_a-mbsinit.$(OBJEXT)

这个目标定义为:

lib_a-mbsinit.o: mbsinit.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-mbsinit.o `test -f 'mbsinit.c' || echo '$(srcdir)/'`mbsinit.c

直接编译即可。

Vc提供了mbsinit函数,但由于mbstate定义的不同,将此函数改为cyg_mbsinit

 

1.1.1.88       lib_a-mbsrtowcs.$(OBJEXT)

这个目标定义为:

lib_a-mbsrtowcs.o: mbsrtowcs.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-mbsrtowcs.o `test -f 'mbsrtowcs.c' || echo '$(srcdir)/'`mbsrtowcs.c

直接编译即可。

Vc提供了mbsrtowcs函数,但由于mbstate定义的不同,将此函数改为cyg_mbsrtowcs

 

1.1.1.89       lib_a-on_exit.$(OBJEXT)

这个目标定义为:

lib_a-on_exit.o: on_exit.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-on_exit.o `test -f 'on_exit.c' || echo '$(srcdir)/'`on_exit.c

直接编译即可。

 

1.1.1.90       lib_a-valloc.$(OBJEXT)

这个目标定义为:

lib_a-valloc.o: valloc.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-valloc.o `test -f 'valloc.c' || echo '$(srcdir)/'`valloc.c

直接编译即可。

 

1.1.1.91       lib_a-wcrtomb.$(OBJEXT)

这个目标定义为:

lib_a-wcrtomb.o: wcrtomb.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-wcrtomb.o `test -f 'wcrtomb.c' || echo '$(srcdir)/'`wcrtomb.c

直接编译即可。

Vc提供了wcrtomb函数,但由于mbstate定义的不同,将此函数改为cyg_wcrtomb

 

1.1.1.92       lib_a-wcsrtombs.$(OBJEXT)

这个目标定义为:

lib_a-wcsrtombs.o: wcsrtombs.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-wcsrtombs.o `test -f 'wcsrtombs.c' || echo '$(srcdir)/'`wcsrtombs.c

直接编译即可。

Vc提供了wcsrtombs函数,但由于mbstate定义的不同,将此函数改为cyg_wcsrtombs

 

1.1.1.93       lib_a-wctob.$(OBJEXT)

这个目标定义为:

lib_a-wctob.o: wctob.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-wctob.o `test -f 'wctob.c' || echo '$(srcdir)/'`wctob.c

直接编译即可。

Vc提供了wctob函数,略过此文件。

 

1.1.1.94       lib_a-putenv.$(OBJEXT)

这个目标定义为:

lib_a-putenv.o: putenv.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-putenv.o `test -f 'putenv.c' || echo '$(srcdir)/'`putenv.c

直接编译即可。

Vc提供了putenv函数,略过此文件。

 

1.1.1.95       lib_a-putenv_r.$(OBJEXT)

这个目标定义为:

lib_a-putenv_r.o: putenv_r.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-putenv_r.o `test -f 'putenv_r.c' || echo '$(srcdir)/'`putenv_r.c

直接编译即可。

 

1.1.1.96       lib_a-setenv.$(OBJEXT)

这个目标定义为:

lib_a-setenv.o: setenv.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-setenv.o `test -f 'setenv.c' || echo '$(srcdir)/'`setenv.c

直接编译即可。

 

1.1.1.97       lib_a-setenv_r.$(OBJEXT)

这个目标定义为:

lib_a-setenv_r.o: setenv_r.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-setenv_r.o `test -f 'setenv_r.c' || echo '$(srcdir)/'`setenv_r.c

直接编译即可。

这个文件的问题在于以下两个定义:

extern char **environ;

 

/* Only deal with a pointer to environ, to work around subtle bugs with shared

   libraries and/or small data systems where the user declares his own

   'environ'.  */

static char ***p_environ = &environ;

将造成__environ链接错误。可将这两个定义屏掉,然后在后面使用*p_environ的地方用_environ替换,_environ是在vcstdlib.h中定义的一个变量。

 

1.1.1.98       lib_a-system.$(OBJEXT)

这个目标定义为:

lib_a-system.o: system.c

       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-system.o `test -f 'system.c' || echo '$(srcdir)/'`system.c

直接编译即可。

Vc提供了system函数,略过此函数。

 

 

参考资料

vs2008下使用cygwin1):前言( 2008-10-16 )

vs2008下使用cygwin2):i686-pc-cygwin/newlib/Makefile分析( 2008-10-16 )

vs2008下使用cygwin3):i686-pc-cygwin/newlib/libc/Makefile分析( 2008-10-16 )

vs2008下使用cygwin4):i686-pc-cygwin/newlib/libc/argz/Makefile分析( 2008-10-16 )

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌云阁主

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值