📄 makefile
字号:
EXTRAXAWCLIENTDEPLIBS = $(DEPXPLIB)EXTRAXAWCLIENTLIBS = $(XPLIB) XTRAPLIBSRC = $(LIBSRC)/XTrapSOXTRAPREV = 6.4DEPXTRAPLIB =XTRAPLIB = -lXTrapLINTXTRAP = $(LINTLIBDIR)/llib-lXTrap.ln DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB) DEPLIBS1 = $(DEPLIBS) DEPLIBS2 = $(DEPLIBS) DEPLIBS3 = $(DEPLIBS) DEPLIBS4 = $(DEPLIBS) DEPLIBS5 = $(DEPLIBS) DEPLIBS6 = $(DEPLIBS) DEPLIBS7 = $(DEPLIBS) DEPLIBS8 = $(DEPLIBS) DEPLIBS9 = $(DEPLIBS) DEPLIBS10 = $(DEPLIBS) XFTPRELOADPATTERN = libXft.so.? XRENDERPRELOADPATTERN = libXrender.so.? XFONTPRELOADPATTERN = libXfont*.so.?XMULIBONLY = -lXmuXMULIB = $(XMULIBONLY) $(XTOOLLIB) $(XLIB) CONFIGDIR = $(LIBDIR)/config USRLIBDIRPATH = $(USRLIBDIR) LDPRELIBS = -L$(USRLIBDIR) $(INSTALLED_LIBS) LDPOSTLIBS = TOP_INCLUDES = -I$(INCROOT) $(TOP_X_INCLUDES) PROJECT_DEFINES = VENDOR_DEFINES = -DXVENDORNAME='"$(VENDORNAME)"' -DXVENDORNAMESHORT='"$(VENDORNAMESHORT)"'CXXPROJECT_DEFINES =# ----------------------------------------------------------------------# start of Imakefile# SPIM S20 MIPS Simulator.# Imakefile for SPIM.## Copyright (C) 1992-2005 by James Larus (larus@cs.wisc.edu).# ALL RIGHTS RESERVED.## SPIM is distributed under the following conditions:## You may make copies of SPIM for your own use and modify those copies.## All copies of SPIM must retain my name and copyright notice.## You may not sell SPIM or distributed SPIM in conjunction with a commerical# product or service without the expressed written consent of James Larus.## THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR# PURPOSE.## $Header: $## To make xpsim, type:## make xspim### The following parameters should be set for the target machine on which XSPIM# is compiled and installed:## Full path for the directory that will hold the executable files:BIN_DIR = /usr/local/bin# Full path for the directory that will hold the exception handler:EXCEPTION_DIR = /usr/local/lib# Full path for the directory that will hold the man files:MAN_DIR = /usr/man/mann# If you have flex, use it instead of lex. If you use flex, define this# variable and set LEXFLAGS.LEX = flex# SPIM needs flex's -I flag since the scanner is used interactively.# You can set the -8 flag so that funny characters do not hang the scanner.LEXFLAGS = -I -8# If you use lex, set the variables this way:# LEX = lex# LEXFLAGS =# Size of the segments when spim starts up (data segment must be >= 64K).# (These sizes are fine for most users since SPIM dynamically expands# the memory as necessary.)MEM_SIZES = -DTEXT_SIZE=65536 -DDATA_SIZE=131072 -DK_TEXT_SIZE=65536## END OF PARAMETERS## Path for directory that contains the source of the CPU code:CPU_DIR = ../CPUVPATH = src:$(CPU_DIR)# Path of directory that contains documentation:DOC_DIR = ../DocumentationENDIAN=`cat configuration`BASE_OBJS = spim-utils.o run.o mem.o inst.o data.o sym-tbl.o y.tab.o lex.yy.o syscall.o display-utils.o string-stream.oBASE_XOBJS = xspim.o windows.o buttons.oXOBJS = $(BASE_OBJS) $(BASE_XOBJS)# lex.yy.c is usually compiled with -O to speed it up.LEXCFLAGS = -OYFLAGS = -dDEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXPMLIB) $(EXTRAXAWCLIENTDEPLIBS) $(DEPXLIB)LOCALLIBS = $(XAWLIB) $(XMULIBONLY) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWCLIENTLIBS) $(XLIB)CDEBUGFLAGS = -gINCLUDES = -I. -I$(CPU_DIR)DEFINES = $(ENDIAN) $(MEM_SIZES) -DDEFAULT_EXCEPTION_HANDLER="\"$(EXCEPTION_DIR)/exceptions.s\"" -DSPIM_VERSION="\"`cat ../VERSION`\""SYS_LIBRARIES = -lm# ## Program dependencies:#all:: xspim.exexspim.exe: $(XOBJS) $(DEPLIBS) $(RM) $@ $(CCLINK) -o $@ $(LDOPTIONS) $(XOBJS) $(LOCALLIBS) $(LDLIBS) $(SYSLIBS) $(EXTRA_LOAD_FLAGS)cleandir:: $(RM) xspim.exeforce: configurationconfiguration: ./Configureinstall:: xspim.exe @if [ -d $(DESTDIR)$(BIN_DIR) ]; then \ set +x; \ else \ if [ -h $(DESTDIR)$(BIN_DIR) ]; then \ (set -x; rm -f $(DESTDIR)$(BIN_DIR)); \ fi; \ (set -x; $(MKDIRHIER) $(DESTDIR)$(BIN_DIR)); \ fi $(INSTALL) $(INSTALLFLAGS) $(INSTPGMFLAGS) xspim.exe $(DESTDIR)$(BIN_DIR)/xspim.exeall:: $(DOC_DIR)/xspim.$(MANSUFFIX).html$(DOC_DIR)/xspim.$(MANSUFFIX).html: $(DOC_DIR)/xspim.$(MANNEWSUFFIX) $(RM) $(DOC_DIR)/xspim.$(MANSUFFIX).html $(DOC_DIR)/xspim.$(MANSUFFIX)-html $(RMAN) $(RMANOPTIONS) < $(DOC_DIR)/xspim.$(MANNEWSUFFIX) \ > $(DOC_DIR)/xspim.$(MANSUFFIX)-html && $(MV) $(DOC_DIR)/xspim.$(MANSUFFIX)-html $@install.man:: $(DOC_DIR)/xspim.$(MANSUFFIX).html @if [ -d $(DESTDIR)$(DOCHTMLDIR) ]; then \ set +x; \ else \ if [ -h $(DESTDIR)$(DOCHTMLDIR) ]; then \ (set -x; rm -f $(DESTDIR)$(DOCHTMLDIR)); \ fi; \ (set -x; $(MKDIRHIER) $(DESTDIR)$(DOCHTMLDIR)); \ fi @(SUF=`expr $(MANSUFFIX) \: '\(.\)'`; \ set -x; \ $(INSTALL) $(INSTALLFLAGS) $(INSTMANFLAGS) $(DOC_DIR)/xspim.$(MANSUFFIX).html $(DESTDIR)$(DOCHTMLDIR)/$(DOC_DIR)/xspim.$$SUF.html)cleandir:: $(RM) $(DOC_DIR)/xspim.$(MANSUFFIX).html $(DOC_DIR)/xspim.$(MANSUFFIX)-htmlall:: $(DOC_DIR)/xspim.$(MANNEWSUFFIX)$(DOC_DIR)/xspim.$(MANNEWSUFFIX): $(DOC_DIR)/xspim.$(MANSRCSUFFIX) $(RM) $@ if test -z "$(PREPROCESSMANPAGES)" ; then \ cd `dirname $(DOC_DIR)/xspim` && \ $(LN) `basename $(DOC_DIR)/xspim.$(MANSRCSUFFIX)` `basename $@`; \ else \ $(RAWCPP) $(MANDEFS) $(EXTRAMANDEFS) \ < $(DOC_DIR)/xspim.$(MANSRCSUFFIX) | sed -e '/^# *[0-9][0-9]* *.*$$/d' -e '/^#line *[0-9][0-9]* *.*$$/d' -e '/^[ ]*XCOMM$$/s/XCOMM/#/' -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/#/' -e '/^[ ]*XHASH/s/XHASH/#/' -e '/\@\@$$/s/\@\@$$/\\/' >$@; \ ficleandir:: $(RM) $(DOC_DIR)/xspim.$(MANNEWSUFFIX)install.man:: $(DOC_DIR)/xspim.$(MANNEWSUFFIX) @if [ -d $(DESTDIR)$(MAN_DIR) ]; then \ set +x; \ else \ if [ -h $(DESTDIR)$(MAN_DIR) ]; then \ (set -x; rm -f $(DESTDIR)$(MAN_DIR)); \ fi; \ (set -x; $(MKDIRHIER) $(DESTDIR)$(MAN_DIR)); \ fi $(INSTALL) $(INSTALLFLAGS) $(INSTMANFLAGS) $(DOC_DIR)/xspim.$(MANNEWSUFFIX) $(DESTDIR)$(MAN_DIR)/$(DOC_DIR)/xspim.$(MANSUFFIX)install:: $(CPU_DIR)/exceptions.s $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) $(CPU_DIR)/exceptions.s $(DESTDIR)$(EXCEPTION_DIR)y.tab.h: y.tab.cy.tab.c: $(CPU_DIR)/parser.y $(YACC) $(YFLAGS) $(CPU_DIR)/parser.yy.tab.o: y.tab.c $(CC) $(IFLAGS) $(CFLAGS) $(YCFLAGS) -c y.tab.clex.yy.o: $(CPU_DIR)/scanner.llex.yy.c: $(CPU_DIR)/scanner.l $(LEX) $(LEXFLAGS) $(CPU_DIR)/scanner.llex.yy.o: lex.yy.c $(CC) $(IFLAGS) $(CFLAGS) $(LEXCFLAGS) -c lex.yy.c# TAGS: *.c *.h *.l *.y etags *.l *.y *.c *.hcleandir:: rm -f xspim *.o core a.out TAGS y.output y.tab.h y.tab.c lex.yy.cvery-cleandir: cleandir rm -f configurationmakedepend: y.tab.c makedepend -w10 -I. -I$(CPU_DIR) $(CPU_DIR)\*.c *.c# # DO NOT DELETE THIS LINE -- make depend depends on it.data.o: $(CPU_DIR)/spim.hdata.o: $(CPU_DIR)/string-stream.hdata.o: $(CPU_DIR)/spim-utils.hdata.o: $(CPU_DIR)/inst.hdata.o: $(CPU_DIR)/reg.hdata.o: $(CPU_DIR)/mem.hdata.o: $(CPU_DIR)/sym-tbl.hdata.o: $(CPU_DIR)/parser.hdata.o: $(CPU_DIR)/run.hdata.o: $(CPU_DIR)/data.hdisplay-utils.o: $(CPU_DIR)/spim.hdisplay-utils.o: $(CPU_DIR)/string-stream.hdisplay-utils.o: $(CPU_DIR)/spim-utils.hdisplay-utils.o: $(CPU_DIR)/inst.hdisplay-utils.o: $(CPU_DIR)/data.hdisplay-utils.o: $(CPU_DIR)/reg.hdisplay-utils.o: $(CPU_DIR)/mem.hdisplay-utils.o: $(CPU_DIR)/run.hdisplay-utils.o: $(CPU_DIR)/sym-tbl.hinst.o: $(CPU_DIR)/spim.hinst.o: $(CPU_DIR)/string-stream.hinst.o: $(CPU_DIR)/spim-utils.hinst.o: $(CPU_DIR)/inst.hinst.o: $(CPU_DIR)/reg.hinst.o: $(CPU_DIR)/mem.hinst.o: $(CPU_DIR)/sym-tbl.hinst.o: y.tab.hinst.o: $(CPU_DIR)/parser.hinst.o: $(CPU_DIR)/scanner.hinst.o: $(CPU_DIR)/data.hinst.o: $(CPU_DIR)/op.hmem.o: $(CPU_DIR)/spim.hmem.o: $(CPU_DIR)/string-stream.hmem.o: $(CPU_DIR)/spim-utils.hmem.o: $(CPU_DIR)/inst.hmem.o: $(CPU_DIR)/reg.hmem.o: $(CPU_DIR)/mem.hrun.o: $(CPU_DIR)/spim.hrun.o: $(CPU_DIR)/string-stream.hrun.o: $(CPU_DIR)/spim-utils.hrun.o: $(CPU_DIR)/inst.hrun.o: $(CPU_DIR)/reg.hrun.o: $(CPU_DIR)/mem.hrun.o: $(CPU_DIR)/sym-tbl.hrun.o: y.tab.hrun.o: $(CPU_DIR)/syscall.hrun.o: $(CPU_DIR)/run.hspim-utils.o: $(CPU_DIR)/spim.hspim-utils.o: $(CPU_DIR)/string-stream.hspim-utils.o: $(CPU_DIR)/spim-utils.hspim-utils.o: $(CPU_DIR)/inst.hspim-utils.o: $(CPU_DIR)/data.hspim-utils.o: $(CPU_DIR)/reg.hspim-utils.o: $(CPU_DIR)/mem.hspim-utils.o: $(CPU_DIR)/scanner.hspim-utils.o: $(CPU_DIR)/parser.hspim-utils.o: y.tab.hspim-utils.o: $(CPU_DIR)/run.hspim-utils.o: $(CPU_DIR)/sym-tbl.hstring-stream.o: $(CPU_DIR)/spim.hstring-stream.o: $(CPU_DIR)/string-stream.hsym-tbl.o: $(CPU_DIR)/spim.hsym-tbl.o: $(CPU_DIR)/string-stream.hsym-tbl.o: $(CPU_DIR)/spim-utils.hsym-tbl.o: $(CPU_DIR)/inst.hsym-tbl.o: $(CPU_DIR)/reg.hsym-tbl.o: $(CPU_DIR)/mem.hsym-tbl.o: $(CPU_DIR)/data.hsym-tbl.o: $(CPU_DIR)/parser.hsym-tbl.o: $(CPU_DIR)/sym-tbl.hsyscall.o: $(CPU_DIR)/spim.hsyscall.o: $(CPU_DIR)/string-stream.hsyscall.o: $(CPU_DIR)/inst.hsyscall.o: $(CPU_DIR)/reg.hsyscall.o: $(CPU_DIR)/mem.hsyscall.o: $(CPU_DIR)/sym-tbl.hsyscall.o: $(CPU_DIR)/syscall.hbuttons.o: $(CPU_DIR)/spim.hbuttons.o: $(CPU_DIR)/string-stream.hbuttons.o: $(CPU_DIR)/spim-utils.hbuttons.o: xspim.hbuttons.o: $(CPU_DIR)/inst.hbuttons.o: $(CPU_DIR)/reg.hbuttons.o: $(CPU_DIR)/mem.hbuttons.o: $(CPU_DIR)/scanner.hbuttons.o: $(CPU_DIR)/sym-tbl.hbuttons.o: buttons.hwindows.o: $(CPU_DIR)/spim.hwindows.o: $(CPU_DIR)/string-stream.hwindows.o: $(CPU_DIR)/spim-utils.hwindows.o: buttons.hwindows.o: xspim.hwindows.o: windows.hxspim.o: $(CPU_DIR)/spim.hxspim.o: $(CPU_DIR)/string-stream.hxspim.o: $(CPU_DIR)/spim-utils.hxspim.o: $(CPU_DIR)/inst.hxspim.o: $(CPU_DIR)/reg.hxspim.o: $(CPU_DIR)/mem.hxspim.o: buttons.hxspim.o: windows.hxspim.o: xspim.hxspim.o: $(CPU_DIR)/sym-tbl.hy.tab.o: $(CPU_DIR)/spim.hy.tab.o: $(CPU_DIR)/spim-utils.hy.tab.o: $(CPU_DIR)/inst.hy.tab.o: $(CPU_DIR)/mem.hy.tab.o: $(CPU_DIR)/reg.hy.tab.o: $(CPU_DIR)/sym-tbl.hy.tab.o: $(CPU_DIR)/data.hy.tab.o: $(CPU_DIR)/scanner.hy.tab.o: $(CPU_DIR)/parser.hlex.yy.o: $(CPU_DIR)/spim.hlex.yy.o: $(CPU_DIR)/spim-utils.hlex.yy.o: $(CPU_DIR)/inst.hlex.yy.o: $(CPU_DIR)/sym-tbl.hlex.yy.o: y.tab.hlex.yy.o: $(CPU_DIR)/parser.hlex.yy.o: $(CPU_DIR)/scanner.hlex.yy.o: $(CPU_DIR)/op.h# ----------------------------------------------------------------------# common rules for all Makefiles - do not edit.c.i: $(RM) $@ $(CC) -E $(CFLAGS) $(_NOOP_) $*.c > $@.SUFFIXES: .ii.cc.ii: $(RM) $@ $(CC) -E $(CFLAGS) $(_NOOP_) $*.cc > $@.SUFFIXES: .s.c.s: $(RM) $@ $(CC) -S $(CFLAGS) $(_NOOP_) $*.c.cc.s: $(RM) $@ $(CC) -S $(CFLAGS) $(_NOOP_) $*.ccemptyrule::cleandir:: $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut *.obj *.orig *.rej junk.c *.exe *.dll *.lib *~ "#"*Makefile:: -@if [ -f Makefile ]; then set -x; \ $(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \ else exit 0; fi $(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)tags:: $(TAGS) -w *.[ch] $(TAGS) -xw *.[ch] > TAGSman_keywords::html_index:: @if [ -d $(DESTDIR)$(DOCHTMLDIR) ]; then \ set +x; \ else \ if [ -h $(DESTDIR)$(DOCHTMLDIR) ]; then \ (set -x; rm -f $(DESTDIR)$(DOCHTMLDIR)); \ fi; \ (set -x; $(MKDIRHIER) $(DESTDIR)$(DOCHTMLDIR)); \ fi $(HTMLINDEXCMD) $(DESTDIR)$(DOCHTMLDIR)clean:: cleandirdistclean:: cleandir# ----------------------------------------------------------------------# empty rules for directories that do not have SUBDIRS - do not editinstall:: @echo "install in $(CURRENT_DIR) done"install.man:: @echo "install.man in $(CURRENT_DIR) done"install.sdk:: @echo "install.sdk in $(CURRENT_DIR) done"Makefiles::includes::depend::distclean:: $(RM) Makefile Makefile.dep# ----------------------------------------------------------------------# dependencies generated by makedependsinclude Makefile.dep
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -