📄 makefile.in
字号:
insn-extract.c: stamp-extract ;stamp-extract : md genextract $(srcdir)/move-if-change ./genextract md > tmp-extract.c $(srcdir)/move-if-change tmp-extract.c insn-extract.c touch stamp-extractinsn-peep.o : insn-peep.c $(CONFIG_H) $(RTL_H) regs.h output.h real.h $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-peep.cinsn-peep.c: stamp-peep ;stamp-peep : md genpeep $(srcdir)/move-if-change ./genpeep md > tmp-peep.c $(srcdir)/move-if-change tmp-peep.c insn-peep.c touch stamp-peepinsn-attrtab.o : insn-attrtab.c $(CONFIG_H) $(RTL_H) regs.h real.h output.h \ insn-attr.h insn-config.h $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-attrtab.cinsn-attr.h: stamp-attr ;stamp-attr : md genattr $(srcdir)/move-if-change ./genattr md > tmp-attr.h $(srcdir)/move-if-change tmp-attr.h insn-attr.h touch stamp-attrinsn-attrtab.c: stamp-attrtab ;stamp-attrtab : md genattrtab $(srcdir)/move-if-change if cmp -s $(PREMADE_ATTRTAB_MD) md; \ then \ echo Using $(PREMADE_ATTRTAB); \ cp $(PREMADE_ATTRTAB) tmp-attrtab.c; \ else \ ./genattrtab md > tmp-attrtab.c; \ fi $(srcdir)/move-if-change tmp-attrtab.c insn-attrtab.c touch stamp-attrtabinsn-output.o : insn-output.c $(CONFIG_H) $(RTL_H) regs.h real.h conditions.h \ hard-reg-set.h insn-config.h insn-flags.h insn-attr.h output.h recog.h \ insn-codes.h $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-output.cinsn-output.c: stamp-output ;stamp-output : md genoutput $(srcdir)/move-if-change ./genoutput md > tmp-output.c $(srcdir)/move-if-change tmp-output.c insn-output.c touch stamp-output# Compile the programs that generate insn-* from the machine description.# They are compiled with $(HOST_CC), and associated libraries,# since they need to run on this machine# even if GCC is being compiled to run on some other machine.# $(CONFIG_H) is omitted from the deps of the gen*.o# because these programs don't really depend on anything # about the target machine. They do depend on config.h itself,# since that describes the host machine.genconfig : genconfig.o $(HOST_RTL) $(HOST_LIBDEPS) $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o genconfig \ genconfig.o $(HOST_RTL) $(HOST_LIBS)genconfig.o : genconfig.c $(RTL_H) hconfig.h $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genconfig.cgenflags : genflags.o $(HOST_RTL) $(HOST_LIBDEPS) $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o genflags \ genflags.o $(HOST_RTL) $(HOST_LIBS)genflags.o : genflags.c $(RTL_H) hconfig.h $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genflags.cgencodes : gencodes.o $(HOST_RTL) $(HOST_LIBDEPS) $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o gencodes \ gencodes.o $(HOST_RTL) $(HOST_LIBS)gencodes.o : gencodes.c $(RTL_H) hconfig.h $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/gencodes.cgenemit : genemit.o $(HOST_RTL) $(HOST_LIBDEPS) $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o genemit \ genemit.o $(HOST_RTL) $(HOST_LIBS)genemit.o : genemit.c $(RTL_H) hconfig.h $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genemit.cgenrecog : genrecog.o $(HOST_RTL) $(HOST_LIBDEPS) $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o genrecog \ genrecog.o $(HOST_RTL) $(HOST_LIBS)genrecog.o : genrecog.c $(RTL_H) hconfig.h $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genrecog.cgenextract : genextract.o $(HOST_RTL) $(HOST_LIBDEPS) $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o genextract \ genextract.o $(HOST_RTL) $(HOST_LIBS)genextract.o : genextract.c $(RTL_H) hconfig.h insn-config.h $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genextract.cgenpeep : genpeep.o $(HOST_RTL) $(HOST_LIBDEPS) $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o genpeep \ genpeep.o $(HOST_RTL) $(HOST_LIBS)genpeep.o : genpeep.c $(RTL_H) hconfig.h $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genpeep.cgenattr : genattr.o $(HOST_RTL) $(HOST_LIBDEPS) $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o genattr \ genattr.o $(HOST_RTL) $(HOST_LIBS)genattr.o : genattr.c $(RTL_H) hconfig.h $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genattr.cgenattrtab : genattrtab.o $(HOST_RTL) $(HOST_PRINT) $(HOST_RTLANAL) $(HOST_LIBDEPS) $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o genattrtab \ genattrtab.o $(HOST_RTL) $(HOST_PRINT) $(HOST_RTLANAL) $(HOST_LIBS)genattrtab.o : genattrtab.c $(RTL_H) hconfig.h insn-config.h $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genattrtab.cgenoutput : genoutput.o $(HOST_RTL) $(HOST_LIBDEPS) $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o genoutput \ genoutput.o $(HOST_RTL) $(HOST_LIBS)genoutput.o : genoutput.c $(RTL_H) hconfig.h $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genoutput.c# Compile the libraries to be used by gen*.# If we are not cross-building, gen* use the same .o's that cc1 will use,# and HOST_PREFIX_1 is `foobar', just to ensure these rules don't conflict# with the rules for rtl.o, alloca.o, etc.$(HOST_PREFIX_1)rtl.o: $(srcdir)/rtl.c $(CONFIG_H) $(RTL_H) rm -f $(HOST_PREFIX)rtl.c sed -e 's/config[.]h/hconfig.h/' $(srcdir)/rtl.c > $(HOST_PREFIX)rtl.c $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(HOST_PREFIX)rtl.c$(HOST_PREFIX_1)print-rtl.o: $(srcdir)/print-rtl.c $(CONFIG_H) $(RTL_H) rm -f $(HOST_PREFIX)print-rtl.c sed -e 's/config[.]h/hconfig.h/' $(srcdir)/print-rtl.c > $(HOST_PREFIX)print-rtl.c $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(HOST_PREFIX)print-rtl.c$(HOST_PREFIX_1)rtlanal.o: $(srcdir)/rtlanal.c $(CONFIG_H) $(RTL_H) rm -f $(HOST_PREFIX)rtlanal.c sed -e 's/config[.]h/hconfig.h/' $(srcdir)/rtlanal.c > $(HOST_PREFIX)rtlanal.c $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(HOST_PREFIX)rtlanal.c$(HOST_PREFIX_1)alloca.o: alloca.c rm -f $(HOST_PREFIX)alloca.c cp $(srcdir)/alloca.c $(HOST_PREFIX)alloca.c $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(HOST_PREFIX)alloca.c$(HOST_PREFIX_1)obstack.o: obstack.c rm -f $(HOST_PREFIX)obstack.c sed -e 's/config[.]h/hconfig.h/' $(srcdir)/obstack.c > $(HOST_PREFIX)obstack.c $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(HOST_PREFIX)obstack.c$(HOST_PREFIX_1)malloc.o: malloc.c rm -f $(HOST_PREFIX)malloc.c sed -e 's/config[.]h/hconfig.h/' $(srcdir)/malloc.c > $(HOST_PREFIX)malloc.c $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(HOST_PREFIX)malloc.c# This satisfies the dependency that we get if you cross-compile a compiler# that does not need to compile alloca, malloc or whatever.$(HOST_PREFIX_1): touch $(HOST_PREFIX_1)# Remake cpp and protoize.# Making the preprocessorcpp: cccp -rm -f cpp ln cccp cppcccp: cccp.o cexp.o version.o $(LIBDEPS) $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o cccp cccp.o cexp.o version.o $(LIBS)cexp.o: $(srcdir)/cexp.c $(CONFIG_H) $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c $(srcdir)/cexp.c$(srcdir)/cexp.c: $(srcdir)/cexp.y cd $(srcdir); $(BISON) -o cexp.c cexp.ycccp.o: cccp.c $(CONFIG_H) pcp.h version.c# The reason we use $(libdir)/g++-include rather than using libsubdir# is for compatibility with the current version of libg++. $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \ -DGPLUSPLUS_INCLUDE_DIR=\"$(libdir)/g++-include\" \ -DLOCAL_INCLUDE_DIR=\"$(prefix)/include\" \ -DGPLUSPLUS_INCLUDE_DIR=\"$(libdir)/g++-include\" \ -DLOCAL_INCLUDE_DIR=\"$(prefix)/include\" \ -DCROSS_INCLUDE_DIR=\"$(libsubdir)/sys-include\" \ -DTOOLDIR=\"$(tooldir)/\" \ -c `echo $(srcdir)/cccp.c | sed 's,^\./,,'`proto: config.status protoize unprotoize SYSCALLS.c.Xprotoize: protoize.o getopt.o getopt1.o getpwd.o version.o $(LIBDEPS) $(CC) $(ALL_CFLAGS) $(LDFLAGS) \ protoize.o getopt.o getopt1.o getpwd.o version.o $(LIBS) -o $@protoize.o: stamp-proto ;unprotoize: unprotoize.o getopt.o getopt1.o getpwd.o version.o $(LIBDEPS) $(CC) $(ALL_CFLAGS) $(LDFLAGS) \ unprotoize.o getopt.o getopt1.o getpwd.o version.o $(LIBS) -o $@unprotoize.o: stamp-proto ;stamp-proto: $(srcdir)/protoize.c getopt.h $(CONFIG_H) $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \ -DGPLUSPLUS_INCLUDE_DIR=\"$(libdir)/g++-include\" \ -DCROSS_INCLUDE_DIR=\"$(libsubdir)/sys-include\" \ -DLOCAL_INCLUDE_DIR=\"$(prefix)/include\" \ -DSTD_PROTO_DIR=\"$(libsubdir)\" \ -DUNPROTOIZE $(srcdir)/protoize.c mv protoize.o unprotoize.o $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \ -DGPLUSPLUS_INCLUDE_DIR=\"$(libdir)/g++-include\" \ -DCROSS_INCLUDE_DIR=\"$(libsubdir)/sys-include\" \ -DLOCAL_INCLUDE_DIR=\"$(prefix)/include\" \ -DSTD_PROTO_DIR=\"$(libsubdir)\" \ $(srcdir)/protoize.c touch stamp-protogetopt.o: $(srcdir)/getopt.c getopt.h $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/getopt.cgetopt1.o: $(srcdir)/getopt1.c getopt.h $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/getopt1.c# This info describes the target machine, so compile with GCC just built.SYSCALLS.c.X: $(srcdir)/sys-types.h $(srcdir)/sys-protos.h $(GCC_PASSES) -rm -f SYSCALLS.c tmp-SYSCALLS.s cat $(srcdir)/sys-types.h $(srcdir)/sys-protos.h > SYSCALLS.c $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ -aux-info $@ -S -o tmp-SYSCALLS.s SYSCALLS.c -rm -f SYSCALLS.c tmp-SYSCALLS.stest-protoize-simple: ./protoize ./unprotoize $(GCC_PASSES) -rm -f tmp-proto.[cso] cp $(srcdir)/protoize.c tmp-proto.c chmod u+w tmp-proto.c ./protoize -N -B ./ -x getopt.h -c "-B./ -Wall -Wwrite-strings \ $(CFLAGS) $(INCLUDES) \ -DGCC_INCLUDE_DIR=0 \ -DGPLUSPLUS_INCLUDE_DIR=0 \ -DCROSS_INCLUDE_DIR=0 \ -DSTD_PROTO_DIR=0" tmp-proto.c @echo '**********' Expect 400 lines of differences. -diff $(srcdir)/protoize.c tmp-proto.c > tmp-proto.diff -wc -l tmp-proto.diff ./unprotoize -N -x getopt.h -c "-B./ -Wall -Wwrite-strings \ $(CFLAGS) $(INCLUDES) \ -DGCC_INCLUDE_DIR=0 \ -DGPLUSPLUS_INCLUDE_DIR=0 \ -DCROSS_INCLUDE_DIR=0 \ -DSTD_PROTO_DIR=0" tmp-proto.c @echo Expect zero differences. diff $(srcdir)/protoize.c tmp-proto.c | cat -rm -f tmp-proto.[cso]# Remake the info files.doc: $(srcdir)/cpp.info $(srcdir)/gcc.info $(srcdir)/INSTALL$(srcdir)/cpp.info: cpp.texi makeinfo `echo $(srcdir)/cpp.texi | sed 's,^\./,,'`#$(srcdir)/gplus.info: gplus.texi# makeinfo `echo $(srcdir)/gplus.texi | sed 's,^\./,,'`$(srcdir)/gcc.info: gcc.texi extend.texi install.texi invoke.texi \ md.texi rtl.texi tm.texi makeinfo `echo $(srcdir)/gcc.texi | sed 's,^\./,,'`# This works with GNU Make's default rule.$(srcdir)/gcc.dvi: gcc.texi extend.texi install.texi invoke.texi \ md.texi rtl.texi tm.texi # This works with GNU Make's default rule.$(srcdir)/cpp.dvi: cpp.texi$(srcdir)/INSTALL: install1.texi install.texi makeinfo -D INSTALLONLY --no-header `echo $(srcdir)/install1.texi | sed 's,^\./,,'`# Deletion of files made during compilation.# There are four levels of this:# `mostlyclean', `clean', `distclean' and `realclean'.# `mostlyclean' is useful while working on a particular type of machine.# It deletes most, but not all, of the files made by compilation.# It does not delete libgcc.a or its parts, so it won't have to be recompiled.# `clean' deletes everything made by running `make all'.# `distclean' also deletes the files made by config.# `realclean' also deletes everything that could be regenerated automatically.mostlyclean: -rm -f $(STAGESTUFF)# Clean the objc subdir if we created one. if [ -d objc ]; then \ srcdir1=`cd $(srcdir); pwd`; \ cd objc; $(MAKE) -f $$srcdir1/objc/Makefile mostlyclean; \ else true; fi -rm -f libobjc.a# Delete the temporary source copies for cross compilation. -rm -f $(HOST_PREFIX_1)rtl.c $(HOST_PREFIX_1)rtlanal.c -rm -f $(HOST_PREFIX_1)alloca.c $(HOST_PREFIX_1)malloc.c -rm -f $(HOST_PREFIX_1)obstack.c # Delete the temp files made in the course of building libgcc.a. -rm -f tmplibgcc* tmpcopy xlimits.h for name in $(LIB1FUNCS); do rm -f $${name}.c; done# Delete other temporary files. -rm -f tmp-float.h tmp-gcc.xtar.Z -rm -f tmp-foo1 tmp-foo2 tmp-proto.* tmp-unproto.1 tmp-SYSCALLS.s# Delete the stamp files. -rm -f stamp-* tmp-*# Delete debugging dump files. -rm -f *.greg *.lreg *.combine *.flow *.cse *.jump *.rtl *.tree *.loop -rm -f *.dbr *.jump2 *.sched *.cse2 *.sched2 *.stack# Delete some files made during installation. -rm -f specs float.h enquire SYSCALLS.c.X SYSCALLS.c -rm -f collect collect2 ld mips-tfile mips-tdump alloca.s# Delete unwanted output files from TeX. -rm -f *.toc *.log *.vr *.fn *.cp *.tp *.ky *.pg# Delete sorted indices we don't actually use. -rm -f gcc.vrs gcc.kys gcc.tps gcc.pgs gcc.fns# Delete core dumps. -rm -f core config/core# Delete all files made by compilation# that don't exist in the distribution.clean: mostlyclean
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -