快乐虾
http://blog.csdn.net/lights_joy/
本文适用于
binutils-2.18
configure –target=bfin-uclinux-gnu
Blackfin系列DSP
Cygwin gcc 3.4.4
欢迎转载,但请保留作者信息
这个文件由主控Makefile调用configure脚本生成并执行make操作。要求生成的目标为all。
在Makefile中的第一个目标就是all:
all: stamp-picdir $(TARGETLIB) needed-list required-list all-subdir
@: $(MAKE) ; exec $(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=all
这条规则定义为:
stamp-picdir:
if [ x"$(PICFLAG)" != x ] && [ ! -d pic ]; then /
mkdir pic; /
else true; fi
touch stamp-picdir
没什么操作,简单创建stamp-picdir目录。
这条规则定义为:
$(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS)
-rm -f $(TARGETLIB) pic/$(TARGETLIB)
$(AR) $(AR_FLAGS) $(TARGETLIB) /
$(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS)
$(RANLIB) $(TARGETLIB)
if [ x"$(PICFLAG)" != x ]; then /
cd pic; /
$(AR) $(AR_FLAGS) $(TARGETLIB) /
$(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); /
$(RANLIB) $(TARGETLIB); /
cd ..; /
else true; fi
当所需要的目标文件都生成时,这段脚本将它们链接为$(TARGETLIB),即libiberty.a。
这个变量定义为:
# These are always included in the library. The first four are listed
# first and by compile time to optimize parallel builds.
REQUIRED_OFILES = ./regex.o ./cplus-dem.o ./cp-demangle.o ./md5.o /
./alloca.o ./argv.o /
./choose-temp.o ./concat.o ./cp-demint.o /
./dyn-string.o /
./fdmatch.o ./fibheap.o ./filename_cmp.o ./floatformat.o /
./fnmatch.o ./fopen_unlocked.o /
./getopt.o ./getopt1.o ./getpwd.o ./getruntime.o /
./hashtab.o ./hex.o /
./lbasename.o ./lrealpath.o /
./make-relative-prefix.o ./make-temp-file.o /
./objalloc.o ./obstack.o /
./partition.o ./pexecute.o ./physmem.o /
./pex-common.o ./pex-one.o ./pex-unix.o /
./safe-ctype.o ./sort.o ./spaces.o ./splay-tree.o ./strerror.o /
./strsignal.o /
./unlink-if-ordinary.o /
./xatexit.o ./xexit.o ./xmalloc.o ./xmemdup.o ./xstrdup.o /
./xstrerror.o ./xstrndup.o
因而有以下依赖关系。
这条规则定义为:
./regex.o: $(srcdir)/regex.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/xregex.h /
$(INCDIR)/xregex2.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/regex.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/regex.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./cplus-dem.o: $(srcdir)/cplus-dem.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/demangle.h $(INCDIR)/libiberty.h /
$(INCDIR)/safe-ctype.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/cplus-dem.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/cplus-dem.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./cplus-dem.o: $(srcdir)/cplus-dem.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/demangle.h $(INCDIR)/libiberty.h /
$(INCDIR)/safe-ctype.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/cplus-dem.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/cplus-dem.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./md5.o: $(srcdir)/md5.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/md5.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/md5.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/md5.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./alloca.o: $(srcdir)/alloca.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/alloca.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/alloca.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./argv.o: $(srcdir)/argv.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h /
$(INCDIR)/safe-ctype.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/argv.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/argv.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./choose-temp.o: $(srcdir)/choose-temp.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/choose-temp.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/choose-temp.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./concat.o: $(srcdir)/concat.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/concat.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/concat.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./cp-demint.o: $(srcdir)/cp-demint.c stamp-h $(INCDIR)/ansidecl.h /
$(srcdir)/cp-demangle.h $(INCDIR)/demangle.h /
$(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/cp-demint.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/cp-demint.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./dyn-string.o: $(srcdir)/dyn-string.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/dyn-string.h $(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/dyn-string.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/dyn-string.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./fdmatch.o: $(srcdir)/fdmatch.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/fdmatch.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/fdmatch.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./fibheap.o: $(srcdir)/fibheap.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/fibheap.h /
$(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/fibheap.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/fibheap.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./filename_cmp.o: $(srcdir)/filename_cmp.c stamp-h $(INCDIR)/filenames.h /
$(INCDIR)/safe-ctype.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/filename_cmp.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/filename_cmp.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./floatformat.o: $(srcdir)/floatformat.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/floatformat.h $(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/floatformat.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/floatformat.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./fnmatch.o: $(srcdir)/fnmatch.c stamp-h $(INCDIR)/fnmatch.h /
$(INCDIR)/safe-ctype.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/fnmatch.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/fnmatch.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./fopen_unlocked.o: $(srcdir)/fopen_unlocked.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/fopen_unlocked.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/fopen_unlocked.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./getopt.o: $(srcdir)/getopt.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/getopt.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/getopt.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/getopt.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./getopt1.o: $(srcdir)/getopt1.c stamp-h $(INCDIR)/getopt.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/getopt1.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/getopt1.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./getpwd.o: $(srcdir)/getpwd.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/getpwd.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/getpwd.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./getruntime.o: $(srcdir)/getruntime.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/getruntime.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/getruntime.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./hashtab.o: $(srcdir)/hashtab.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/hashtab.h /
$(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/hashtab.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/hashtab.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./hex.o: $(srcdir)/hex.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h /
$(INCDIR)/safe-ctype.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/hex.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/hex.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./lbasename.o: $(srcdir)/lbasename.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/filenames.h $(INCDIR)/libiberty.h /
$(INCDIR)/safe-ctype.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/lbasename.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/lbasename.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./lrealpath.o: $(srcdir)/lrealpath.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/lrealpath.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/lrealpath.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./make-relative-prefix.o: $(srcdir)/make-relative-prefix.c stamp-h /
$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/make-relative-prefix.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/make-relative-prefix.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./make-temp-file.o: $(srcdir)/make-temp-file.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/make-temp-file.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/make-temp-file.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./objalloc.o: $(srcdir)/objalloc.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/objalloc.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/objalloc.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/objalloc.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./obstack.o: $(srcdir)/obstack.c stamp-h $(INCDIR)/obstack.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/obstack.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/obstack.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./partition.o: $(srcdir)/partition.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/libiberty.h $(INCDIR)/partition.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/partition.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/partition.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./pexecute.o: $(srcdir)/pexecute.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/pexecute.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/pexecute.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./physmem.o: $(srcdir)/physmem.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/physmem.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/physmem.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./pex-common.o: $(srcdir)/pex-common.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/libiberty.h $(srcdir)/pex-common.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/pex-common.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/pex-common.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./pex-one.o: $(srcdir)/pex-one.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/pex-one.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/pex-one.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./pex-unix.o: $(srcdir)/pex-unix.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/libiberty.h $(srcdir)/pex-common.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/pex-unix.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/pex-unix.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./safe-ctype.o: $(srcdir)/safe-ctype.c $(INCDIR)/ansidecl.h /
$(INCDIR)/safe-ctype.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/safe-ctype.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/safe-ctype.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./sort.o: $(srcdir)/sort.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h /
$(INCDIR)/sort.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/sort.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/sort.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./spaces.o: $(srcdir)/spaces.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/spaces.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/spaces.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./splay-tree.o: $(srcdir)/splay-tree.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/libiberty.h $(INCDIR)/splay-tree.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/splay-tree.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/splay-tree.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./strerror.o: $(srcdir)/strerror.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/strerror.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/strerror.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./strsignal.o: $(srcdir)/strsignal.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/strsignal.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/strsignal.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./unlink-if-ordinary.o: $(srcdir)/unlink-if-ordinary.c stamp-h /
$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/unlink-if-ordinary.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/unlink-if-ordinary.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./xatexit.o: $(srcdir)/xatexit.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/xatexit.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/xatexit.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./xexit.o: $(srcdir)/xexit.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/xexit.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/xexit.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./xmalloc.o: $(srcdir)/xmalloc.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/xmalloc.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/xmalloc.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./xmemdup.o: $(srcdir)/xmemdup.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/xmemdup.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/xmemdup.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./xstrdup.o: $(srcdir)/xstrdup.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/xstrdup.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/xstrdup.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./xstrerror.o: $(srcdir)/xstrerror.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/xstrerror.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/xstrerror.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./xstrndup.o: $(srcdir)/xstrndup.c stamp-h $(INCDIR)/ansidecl.h /
$(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/xstrndup.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/xstrndup.c $(OUTPUT_OPTION)
直接编译即可。
这个变量定义为:
EXTRA_OFILES =
因而略过此目标。
这个变量定义为:
LIBOBJS = ./insque$U.o ./mkstemps$U.o ./sigsetmask$U.o ./stpcpy$U.o ./stpncpy$U.o ./strverscmp$U.o
$U没有定义,因而有下面的依赖关系:
这条规则定义为:
./insque.o: $(srcdir)/insque.c
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/insque.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/insque.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./mkstemps.o: $(srcdir)/mkstemps.c stamp-h $(INCDIR)/ansidecl.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/mkstemps.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/mkstemps.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./sigsetmask.o: $(srcdir)/sigsetmask.c $(INCDIR)/ansidecl.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/sigsetmask.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/sigsetmask.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./stpcpy.o: $(srcdir)/stpcpy.c $(INCDIR)/ansidecl.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/stpcpy.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/stpcpy.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./stpncpy.o: $(srcdir)/stpncpy.c $(INCDIR)/ansidecl.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/stpncpy.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/stpncpy.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
./strverscmp.o: $(srcdir)/strverscmp.c $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h /
$(INCDIR)/safe-ctype.h
if [ x"$(PICFLAG)" != x ]; then /
$(COMPILE.c) $(PICFLAG) $(srcdir)/strverscmp.c -o pic/$@; /
else true; fi
$(COMPILE.c) $(srcdir)/strverscmp.c $(OUTPUT_OPTION)
直接编译即可。
这条规则定义为:
# needed-list is used by libstdc++. NEEDED is the list of functions
# to include there. Do not add anything LGPL to this list; libstdc++
# can't use anything encumbering.
NEEDED = atexit calloc memchr memcmp memcpy memmove memset rename strchr /
strerror strncmp strrchr strstr strtol strtoul tmpnam vfprintf vprintf /
vfork waitpid bcmp bcopy bzero
needed-list: Makefile
rm -f needed-list; touch needed-list; /
for f in $(NEEDED); do /
for g in $(LIBOBJS) $(EXTRA_OFILES); do /
case "$$g" in /
*$$f*) echo $$g >> needed-list ;; /
esac; /
done; /
done
这段脚本无非是生成needed-list文件,实际上这个文件将什么内容也没有。
这条规则定义为:
# required-list was used when building a shared bfd/opcodes/libiberty
# library. I don't know if it used by anything currently.
required-list: Makefile
echo $(REQUIRED_OFILES) > required-list
简单生成required-list文件。
这条规则定义为:
# Depending on stamp-h makes sure that config.status has been re-run
# if needed. This prevents problems with parallel builds, in case
# subdirectories need to run config.status also.
all-subdir check-subdir installcheck-subdir info-subdir /
install-info-subdir clean-info-subdir dvi-subdir pdf-subdir install-subdir /
etags-subdir mostlyclean-subdir clean-subdir distclean-subdir /
maintainer-clean-subdir: stamp-h
@subdirs='$(SUBDIRS)'; /
target=`echo $@ | sed -e 's/-subdir//'`; /
for dir in $$subdirs ; do /
cd $$dir && $(MAKE) $(FLAGS_TO_PASS) $$target; /
done
这段脚本将进入testsuite子目录并执行make操作,但是由于testsuite/Makefile中定义了一个空目标,因此实际上什么事也没做。