📄 makefile
字号:
nm-i386bsd.h nm-i386mach.h nm-i386sco.h nm-i386v.h nm-i386v4.h nm-irix3.h \ nm-irix4.h nm-linux.h nm-m88k.h nm-mips.h nm-news.h nm-rs6000.h \ nm-sun2.h nm-sun3.h nm-sun386.h nm-sun4os4.h nm-trash.h \ nm-ultra3.h nm-hppab.h nm-hppah.h nm-umax.h nm-sysv4.hREMOTE_EXAMPLES = m68k-stub.c i386-stub.c sparc-stub.c rem-multi.sharPOSSLIBS_MAINDIR = regex.c regex.h alloca.cPOSSLIBS = $(POSSLIBS_MAINDIR)TESTS = testbpt.c testfun.c testrec.c testreg.c testregs.cOTHERS = Makefile.in depend alldeps.mak createtags munch configure.in \ ChangeLog ChangeLog-9091 ChangeLog-3.x gdb.1 refcard.ps \ README TODO TAGS NEWS Projects \ .gdbinit COPYING $(YYFILES) \ copying.c Convex.notes copying.awk \ saber.suppress standalone.c stuff.c kdb-start.c \ putenv.c gcc.patch XGDB-README# Subdirectories of gdb, which should be included in their entirety in# gdb-xxx.tar.Z:TARDIRS = doc # tests# GDB "info" files, which should be included in their entiretyINFOFILES = gdb.info*DEPFILES= ${TDEPFILES} ${XDEPFILES} ${NATDEPFILES}SOURCES=$(SFILES) $(ALLDEPFILES) $(YYFILES)TAGFILES = $(SOURCES) ${HFILES} ${ALLPARAM} ${POSSLIBS} TAGFILES_MAINDIR = $(SFILES_MAINDIR) $(ALLDEPFILES_MAINDIR) \ ${HFILES} ${ALLPARAM} ${POSSLIBS_MAINDIR} TARFILES = ${TAGFILES_MAINDIR} ${OTHERS} ${REMOTE_EXAMPLES}OBS = version.o main.o blockframe.o breakpoint.o findvar.o stack.o source.o \ values.o eval.o valops.o valarith.o valprint.o printcmd.o \ symtab.o symfile.o symmisc.o infcmd.o infrun.o remote.o \ command.o utils.o expprint.o environ.o gdbtypes.o \ copying.o $(DEPFILES) mem-break.o target.o \ ieee-float.o putenv.o parse.o language.o $(YYOBJ) \ buildsym.o objfiles.o minsyms.o maint.o demangle.o \ $(SYMREADOBJ) core.o \ $(LBL_OBJ)RAPP_OBS = rgdb.o rudp.o rserial.o serial.o udp.o $(XDEPFILES)TSOBS = inflow.oNTSOBS = standalone.oTSSTART = /lib/crt0.oNTSSTART = kdb-start.oSUBDIRS = doc# For now, shortcut the "configure GDB for fewer languages" stuff.YYFILES = c-exp.tab.c m2-exp.tab.cYYOBJ = c-exp.tab.o m2-exp.tab.o# Prevent Sun make from putting in the machine type. Setting# TARGET_ARCH to nothing works for SunOS 3, 4.0, but not for 4.1..c.o: ${CC} -c ${INTERNAL_CFLAGS} $<all: gdb $(MAKE) subdir_do DO=all "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS)check:info: force $(MAKE) subdir_do DO=info "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS)install-info: force $(MAKE) subdir_do DO=install-info "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS)clean-info: force $(MAKE) subdir_do DO=clean-info "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS)install.xgdb: xgdb rm -f $(xbindir)/xgdb install xgdb $(xbindir) install Xgdb.ad $(xlibdir)/app-defaults/Xgdbgdb.z:gdb.1 nroff -man $(srcdir)/gdb.1 | col -b > gdb.t pack gdb.t ; rm -f gdb.t mv gdb.t.z gdb.z install: gdb install -s gdb /usr/contrib/bininit.c: $(srcdir)/munch $(OBS) $(TSOBS) $(srcdir)/munch ${MUNCH_DEFINE} $(OBS) $(TSOBS) > init.cxinit.c: $(srcdir)/munch $(OBS) $(TSOBS) xgdb.o rm -f xinit.c ./munch ${MUNCH_DEFINE} $(OBS) $(TSOBS) xgdb.o > xinit.cxgdb: $(OBS) $(TSOBS) xgdb.o xinit.o ${ADD_DEPS} $(CC-LD) $(LDFLAGS) -o xgdb xinit.o xgdb.o \ $(OBS) $(TSOBS) $(ADD_FILES) $(CLIBS) $(LOADLIBES) \ -lXaw -lXmu -lXt -lXext -lX11 -lXwchar -lX11gdb: $(OBS) $(TSOBS) ${ADD_DEPS} ${CDEPS} init.o ${CC-LD} $(GLOBAL_CFLAGS) $(LDFLAGS) -o gdb \ init.o $(OBS) $(TSOBS) $(ADD_FILES) $(CLIBS) $(LOADLIBES)saber_gdb: $(SFILES) $(DEPFILES) copying.c version.c #setopt load_flags $(CFLAGS) -I$(BFD_DIR) -DHOST_SYS=SUN4_SYS #load ./init.c $(SFILES) #unload ${srcdir}/c-exp.y ${srcdir}/m2-exp.y ${srcdir}/vx-share/*.h #unload ${srcdir}/nindy-share/[A-Z]* #load c-exp.tab.c m2-exp.tab.c #load copying.c version.c #load ../opcodes/libopcodes.a #load ../libiberty/libiberty.a #load ../bfd/libbfd.a #load ../readline/libreadline.a #load ../mmalloc/libmmalloc.a #load -ltermcap #load `echo " "$(DEPFILES) | sed -e 's/\.o/.c/g' -e 's, , ../,g'` echo "Load .c corresponding to:" $(DEPFILES)# This is useful when debugging GDB, because some Unix's don't let you run GDB# on itself without copying the executable. So "make gdb1" will make# gdb and put a copy in gdb1, and you can run it with "gdb gdb1".# Removing gdb1 before the copy is the right thing if gdb1 is open# in another process.gdb1: gdb rm -f gdb1 cp gdb gdb1# This is a remote stub which runs under unix and starts up an# inferior process. This is at least useful for debugging GDB's# remote support.rapp: $(RAPP_OBS) rm -f rapp_init.c ${srcdir}/munch ${MUNCH_DEFINE} ${RAPP_OBS} > rapp_init.c ${CC-LD} $(LDFLAGS) -o $@ rapp_init.c $(RAPP_OBS) # Support for building Makefile out of configured pieces, automatically# generated dependencies, etc. alldeps.mak is a file that contains# "make" variable definitions for all ALLDEPFILES, ALLDEPFILES_MAINDIR,# ALLDEPFILES_SUBDIR, ALLPARAM, and ALLCONFIG, all cadged from the current# contents of the config subdirectory.alldeps.mak: ${srcdir}/config rm -f alldeps.mak alldeps.tmp allparam.tmp allconfig.tmp for i in `ls -d ${srcdir}/config/*.m[ht]` ; do \ echo $$i >>allconfig.tmp; \ awk <$$i ' \ $$1 == "TDEPFILES=" || $$1 == "XDEPFILES=" \ || $$1 == "NATDEPFILES=" { \ for (i = 2; i <= NF; i++) \ print $$i >> "alldeps.tmp" ; \ } \ $$1 == "TM_FILE=" || $$1 == "XM_FILE=" || $$1 == "NAT_FILE" { \ print $$2 >> "allparam.tmp" }' ; \ done sort <alldeps.tmp | uniq | \ sed -e 's/arm-convert.o/arm-convert.s/' \ -e 's!^Onindy.o!nindy-share/Onindy.c!' \ -e 's!^nindy.o!nindy-share/nindy.c!' \ -e 's!ttybreak.o!nindy-share/ttybreak.c!' \ -e 's!ttyflush.o!nindy-share/ttyflush.c!' \ -e 's!xdr_ld.o!vx-share/xdr_ld.c!' \ -e 's!xdr_ptrace.o!vx-share/xdr_ptrace.c!' \ -e 's!xdr_rdb.o!vx-share/xdr_rdb.c!' \ -e 's!xdr_regs.o!vx-share/xdr_regs.c!' \ -e 's/\.o/.c/' \ >alldeps2.tmp echo '# Start of "alldeps.mak" definitions' \ >>alldeps.mak; echo 'ALLDEPFILES = $$(ALLDEPFILES_MAINDIR) $$(ALLDEPFILES_SUBDIR)' \ >>alldeps.mak; grep -v / alldeps2.tmp | \ awk 'BEGIN {printf "ALLDEPFILES_MAINDIR="} \ NR == 0 {printf $$0;} \ NR != 0 {printf "\\\n" $$0} \ END {printf "\n\n"}' >>alldeps.mak; grep / alldeps2.tmp | \ awk 'BEGIN {printf "ALLDEPFILES_SUBDIR="} \ NR == 0 {printf $$0;} \ NR != 0 {printf "\\\n" $$0} \ END {printf "\n\n"}' >>alldeps.mak; sort <allparam.tmp | uniq | awk 'BEGIN {printf "ALLPARAM="} \ NR == 0 {printf $$0;} \ NR != 0 {printf "\\\n" $$0} \ END {printf "\n\n"}' >>alldeps.mak; sort <allconfig.tmp | uniq | awk 'BEGIN {printf "ALLCONFIG="} \ NR == 0 {printf $$0;} \ NR != 0 {printf "\\\n" $$0} \ END {printf "\n\n"}' >>alldeps.mak; echo '# End of "alldeps.mak" definitions' \ >>alldeps.mak; rm -f alldeps.tmp alldeps2.tmp allparam.tmp allconfig.tmp# The sed script makes everything which depends on {x,t}m.h depend on# config.status as well, in case someone reconfigures gdb out from# under an already compiled gdb.depend: $(SOURCES) Makefile.in @echo Ignore errors about non-existent system-supplied include files @echo for systems other than the one you are using. @echo Also ignore parse errors in valops.c, and any errors in @echo arm-convert.s. touch xm.h tm.h -$(GCC) -MM -nostdinc -I/usr/include $(CFLAGS) -I$(BFD_DIR) \ -I${READLINE_DIR} $(INCLUDE_CFLAGS) \ `ls $(SOURCES) | grep -v '\.[hy]$$' | \ sort -u` >depend.tmp# If running in srcdir, translate "./foo.c" into "$srcdir/foo.c" except# for xm.h and tm.h. This allows the same "depend" file to be used# by the various subdirectories. if [ "${srcdir}" = "." ] ; then \ <depend.tmp sed \ -e 's; ./xm.h; xm.h;g' \ -e 's; ./tm.h; tm.h;g' \ -e 's; \./; $${srcdir}/;g' \ -e 's; vx-share/; $${srcdir}/vx-share/;g' \ -e 's; nindy-share/; $${srcdir}/nindy-share/;g' \ >depend.tm2; \ rm depend.tmp; \ mv depend.tm2 depend.tmp; \ fi <depend.tmp sed \ -e 's; [xt]m.h;& config.status;g' \ -e 's; $(INCLUDE_DIR)/; $(INCLUDE_DEP)/;g' \ -e 's; $(READLINE_DIR)/; $(READLINE_DEP)/;g' \ -e 's; [a-z0-9./]*bfd/; $(BFD_DEP)/;g' \ -e 's; ./xm.h; xm.h config.status;g' \ -e 's; ./tm.h; tm.h config.status;g' \ >depend rm depend.tmpconfig.status: @echo "You must configure gdb. Look at the README file for details." @false# This checks the configure.in file versus the config/ directory.config-check: config-check-hosts config-check-targetsconfig-check-hosts: grep gdb_host= ${srcdir}/configure.in | \ sed -e 's/.*gdb_host=//' -e 's/ ;;$$/.mh/' | sort -u >HOSTconf.o (cd ${srcdir}/config; ls *.mh) >HOSTdir.o diff -u HOSTconf.o HOSTdir.oconfig-check-targets: grep gdb_target= ${srcdir}/configure.in | \ sed -e 's/.*gdb_target=//' -e 's/ ;;$$/.mh/' | sort -u >TARGconf.o (cd ${srcdir}/config; ls *.mt) >TARGdir.o diff -u HOSTconf.o HOSTdir.o# These are not generated by "make depend" because they only are there# for some machines.# But these rules don't do what we want; we want to hack the foo.o: tm.h# dependency to do the right thing.tm-isi.h tm-sun3.h tm-news.h tm-hp300bsd.h tm-altos.h: tm-68k.htm-hp300hpux.h tm-sun2.h tm-3b1.h: tm-68k.hxm-news1000.h: xm-news.hxm-i386-sv32.h: xm-i386.htm-i386gas.h: tm-i386.hxm-sun4os4.h: xm-sparc.htm-sun4os4.h: tm-sparc.hxm-vaxult.h: xm-vax.hxm-vaxbsd.h: xm-vax.hkdb: $(NTSSTART) $(OBS) $(NTSOBS) ${ADD_DEPS} ${CDEPS} rm -f init.c $(srcdir)/munch ${MUNCH_DEFINE} $(OBS) $(NTSOBS) > init.c $(CC) $(LDFLAGS) -c init.c $(CLIBS) ld -o kdb $(NTSSTART) $(OBS) $(NTSOBS) init.o $(ADD_FILES) \ -lc $(CLIBS)# Put the proper machine-specific files first.# createtags will edit the .o in DEPFILES into .cTAGS: ${TAGFILES} $(srcdir)/createtags $(TM_FILE) ${XM_FILE} ${NAT_FILE} \ $(DEPFILES) ${TAGFILES}tags: TAGS# Making distributions of GDB and friends.# Make a directory `proto-gdb.dir' that contains an image of the GDB# directory of the distribution, built up with symlinks.make-proto-gdb.dir: force_update $(MAKE) $(MFLAGS) -f Makefile.in setup-to-dist $(MAKE) $(MFLAGS) -f Makefile make-proto-gdb-1# Make a tar file containing the GDB directory of the distribution.gdb.tar.Z: force_update $(MAKE) $(MFLAGS) -f Makefile.in setup-to-dist $(MAKE) $(MFLAGS) -f Makefile.in gdb-$(VERSION).tar.Z
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -