快乐虾
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是在vc的stdlib.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
直接编译即可。
malloc与free函数均由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服务,由于采用vc的malloc函数,跳过此文件。
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提供了rand和srand函数,略过此文件。
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是在vc的stdlib.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下使用cygwin(1):前言( 2008-10-16 )
在vs2008下使用cygwin(2):i686-pc-cygwin/newlib/Makefile分析( 2008-10-16 )
在vs2008下使用cygwin(3):i686-pc-cygwin/newlib/libc/Makefile分析( 2008-10-16 )
在vs2008下使用cygwin(4):i686-pc-cygwin/newlib/libc/argz/Makefile分析( 2008-10-16 )