[BACK]Return to pfmakerules.linux CVS log [TXT][DIR] Up to [Development] / performer / src

Annotation of performer/src/pfmakerules.linux, Revision 1.1

1.1     ! flynnt      1: #-------------------------------------------------------------------------#
        !             2: #-- pfmakerules - Common make rules for performer source		--#
        !             3: #--		  example source.					--#
        !             4: #-------------------------------------------------------------------------#
        !             5: #-- RCS version information						--#
        !             6: #--   $Revision: 1.7 $							--#
        !             7: #--   $Date: 2000/10/20 00:26:15 $					--#
        !             8: #-------------------------------------------------------------------------#
        !             9:
        !            10: #-------------------------------------------------------------------------#
        !            11: #-- The default make target makes the I386 OPENGL Dynamic Shared Object.--#
        !            12: #-- The targets are:							--#
        !            13: #--    build debugging versions: 		       dbg              --#
        !            14: #--    build optimized versions:		       opt              --#
        !            15: #--    build dynamic shared object versions:	       dso              --#
        !            16: #--    build debugging dynamic shared object versions: ddso             --#
        !            17: #--    remove all unneeded files after a build:	       clean            --#
        !            18: #--    remove all machine generated files:	       clobber          --#
        !            19: #--									--#
        !            20: #-------------------------------------------------------------------------#
        !            21:
        !            22: #--
        !            23: #--	generic targets
        !            24: #--
        !            25:
        !            26: #-- make optimized dso version of program by default
        !            27: default: dso
        !            28:
        !            29: #-- include Makedepend file if it exists
        !            30: #sinclude $(MKDEPFILE)
        !            31:
        !            32: #-- synonym targets
        !            33: debug: dbg
        !            34:
        !            35: optimize: opt
        !            36:
        !            37: #-- make all versions of program
        !            38: all: dbg opt dso ddso
        !            39:
        !            40: dso: $(TARGETS:=.dso) \
        !            41: 	$(TARGET:=.dso) \
        !            42: 	$(LIBRARY:=.dso)
        !            43: opt: $(TARGETS:=.opt) \
        !            44: 	$(TARGET:=.opt) \
        !            45: 	$(LIBRARY:=.opt)
        !            46: dbg: $(TARGETS:=.dbg) \
        !            47: 	$(TARGET:=.dbg) \
        !            48: 	$(LIBRARY:=.dbg)
        !            49: ddso: $(TARGETS:=.ddso) \
        !            50: 	$(TARGET:=.ddso) \
        !            51: 	$(LIBRARY:=.ddso)
        !            52:
        !            53: #-- clean up directories {remove junk}
        !            54: clean:
        !            55: 	if test -d DBG.$(PFABI); then cd DBG.$(PFABI) ; \
        !            56: 		rm -f ${OBJECTS} Makedepend core so_locations; cd .. ; fi
        !            57: 	if test -d OPT.$(PFABI); then cd OPT.$(PFABI) ; \
        !            58: 		rm -f ${OBJECTS} Makedepend core so_locations; cd .. ; fi
        !            59:
        !            60: #-- remove all machine-built files
        !            61: clobber: clean
        !            62: 	if test -d OPT.$(PFABI) ; then \
        !            63: 		rm -rf OPT.$(PFABI) ; fi
        !            64: 	if test -d DBG.$(PFABI) ; then \
        !            65: 		rm -rf DBG.$(PFABI) ; fi
        !            66: 	rm -f ${TARGETS} ${TARGET}
        !            67:
        !            68: #--
        !            69: #--	TARGETS targets
        !            70: #--
        !            71:
        !            72: $(TARGETS):
        !            73: 	@ ${MAKE} $(subst ogl,,$@).dso
        !            74:
        !            75: # for backwards compatability with pf2.2
        !            76:
        !            77: oglall:     all
        !            78: ogldso:     dso
        !            79: oglddso:    ddso
        !            80: ogldbg:     dbg
        !            81: oglopt:     opt
        !            82:
        !            83: $(TARGETS:=.oglall):
        !            84: 	@ echo "Target 'oglall' deprecated.  Use 'all'."
        !            85: 	@ ${MAKE} $(subst ogl,,$@)
        !            86:
        !            87: $(TARGETS:=.ogldso):
        !            88: 	@ echo "Target 'ogldso' deprecated.  Use 'dso'."
        !            89: 	@ ${MAKE} $(subst ogl,,$@)
        !            90:
        !            91: $(TARGETS:=.oglddso):
        !            92: 	@ echo "Target 'oglddso' deprecated.  Use 'ddso'."
        !            93: 	@ ${MAKE} $(subst ogl,,$@)
        !            94:
        !            95: $(TARGETS:=.ogldbg):
        !            96: 	@ echo "Target 'ogldbg' deprecated.  Use 'dbg'."
        !            97: 	@ ${MAKE} $(subst ogl,,$@)
        !            98:
        !            99: $(TARGETS:=.oglopt):
        !           100: 	@ echo "Target 'oglopt' deprecated.  Use 'opt'."
        !           101: 	@ ${MAKE} $(subst ogl,,$@)
        !           102:
        !           103: # new pf targets
        !           104:
        !           105: $(TARGETS:=.dbg):
        !           106: 	@echo "Making DBG version of $@"
        !           107: 	@if test ! -d DBG.$(PFABI) ; then \
        !           108: 		mkdir -p DBG.$(PFABI) ; fi
        !           109: 	@ rm -f $(subst .dbg,,$@)
        !           110: 	@cd DBG.$(PFABI) ; \
        !           111: 	${MAKE} -f ../GNUmakefile OPTIMIZER="-g -O" \
        !           112: 	    LIBRARIES='$(PFLIB) ${SYSTEM}' \
        !           113: 	    $(@)cmd ; cd ..
        !           114: 	@echo "Making symbolic links to DBG versions"
        !           115: 	ln -s DBG.$(PFABI)/$(@)cmd $(subst .dbg,,$@) ;
        !           116:
        !           117: $(TARGETS:=.opt):
        !           118: 	@echo "Making OPT version of $@"
        !           119: 	@if test ! -d OPT.$(PFABI) ; then \
        !           120: 		mkdir -p OPT.$(PFABI); fi
        !           121: 	@ rm -f $(subst .opt,,$@)
        !           122: 	@cd OPT.$(PFABI) ; \
        !           123: 	${MAKE} -f ../GNUmakefile \
        !           124: 	    LIBRARIES='$(PFLIB) ${SYSTEM}' \
        !           125: 	    $(@)cmd ; cd ..
        !           126: 	@echo "Making symbolic links to OPT versions"
        !           127: 	ln -s OPT.$(PFABI)/$(@)cmd $(subst .opt,,$@) ;
        !           128:
        !           129: $(TARGETS:=.dso):
        !           130: 	@echo "Making DSO version of $@"
        !           131: 	@if test ! -d OPT.$(PFABI) ; then \
        !           132: 		mkdir -p OPT.$(PFABI); fi
        !           133: 	@ rm -f $(subst .dso,,$@)
        !           134: 	@cd OPT.$(PFABI); \
        !           135: 	${MAKE} -f ../GNUmakefile \
        !           136: 	    LIBRARIES='$(PFLIB) ${SYSTEM}' \
        !           137: 	    $(@)cmd ; cd ..
        !           138: 	@echo "Making symbolic links to DSO versions"
        !           139: 	ln -s -f OPT.$(PFABI)/$(@)cmd $(subst .dso,,$@);
        !           140:
        !           141: $(TARGETS:=.ddso):
        !           142: 	@echo "Making DDSO version of $@"
        !           143: 	@if test ! -d DBG.$(PFABI); then \
        !           144: 		mkdir -p DBG.$(PFABI); fi
        !           145: 	@ rm -f $(subst .ddso,,$@)
        !           146: 	@cd DBG.$(PFABI); \
        !           147: 	${MAKE} -f ../GNUmakefile OPTIMIZER="-g -O"  \
        !           148: 	    LIBRARIES='$(PFLIB) ${SYSTEM}' \
        !           149: 	    $(@)cmd ; cd ..
        !           150: 	@echo "Making symbolic links to DDSO versions"
        !           151: 	ln -s DBG.$(PFABI)/$(@)cmd $(subst .ddso,,$@);
        !           152:
        !           153: #--
        !           154: #--	internal TARGETS targets
        !           155: #--
        !           156:
        !           157: .SUFFIXES: .dbgcmd .optcmd .dsocmd .ddsocmd
        !           158:
        !           159: .o.dbgcmd:
        !           160: 	${LINKERF} -o $@ $< $(DBGLINKS) ${LDOPTS} ${LIBRARIES}
        !           161:
        !           162: .o.optcmd:
        !           163: 	${LINKERF} -o $@ $< $(OPTLINKS) ${LDOPTS} ${LIBRARIES}
        !           164:
        !           165: .o.dsocmd:
        !           166: 	${LINKERF} -o $@ $< $(DSOLINKS) ${LDOPTS} ${LIBRARIES}
        !           167:
        !           168: .o.ddsocmd:
        !           169: 	${LINKERF} -o $@ $< $(DDSOLINKS) ${LDOPTS} ${LIBRARIES}
        !           170:
        !           171:
        !           172: #--
        !           173: #--	TARGET targets
        !           174: #--
        !           175:
        !           176: #-- make a debugging version of the program
        !           177: $(TARGET:=.dbg):
        !           178: 	@ echo "Making DBG version of ${TARGET}"
        !           179: 	@ if test ! -d DBG.$(PFABI); then \
        !           180: 		mkdir -p DBG.$(PFABI); fi
        !           181: 	@ cd DBG.$(PFABI); \
        !           182: 	${MAKE} -f ../GNUmakefile OPTIMIZER="-g -O"\
        !           183: 	     LIBRARIES='$(PFLIB) -Wl ${SYSTEM}' \
        !           184: 	     ${TARGET}.DBG
        !           185: 	@ rm -f ${TARGET}
        !           186: 	ln -s DBG.$(PFABI)/${TARGET}.DBG ${TARGET}
        !           187:
        !           188: #-- make an optimized version of the program
        !           189: $(TARGET:=.opt):
        !           190: 	@ echo "Making OPT version of ${TARGET}"
        !           191: 	@ if test ! -d OPT.$(PFABI); then \
        !           192: 		mkdir -p OPT.$(PFABI); fi
        !           193: 	@ cd OPT.$(PFABI); ${MAKE} -f ../GNUmakefile \
        !           194: 	     LIBRARIES='$(PFLIB) -Wl ${SYSTEM}' \
        !           195: 	     ${TARGET}.OPT
        !           196: 	@ rm -f ${TARGET}
        !           197: 	ln -s OPT.$(PFABI)/${TARGET}.OPT ${TARGET}
        !           198:
        !           199: #-- make an optimized version of the program that uses DSOs
        !           200: $(TARGET:=.dso):
        !           201: 	@ echo "Making DSO version of ${TARGET}"
        !           202: 	@ if test ! -d OPT.$(PFABI); then \
        !           203: 		mkdir -p OPT.$(PFABI); fi
        !           204: 	@ cd OPT.$(PFABI); ${MAKE} -f ../GNUmakefile \
        !           205: 	    LIBRARIES='$(PFLIB) -Wl ${SYSTEM}' \
        !           206: 	    ${TARGET}.DSO
        !           207: 	@ rm -f ${TARGET}
        !           208: 	ln -s OPT.$(PFABI)/${TARGET}.DSO ${TARGET}
        !           209:
        !           210: #-- make an optimized version of the program that uses DSOs
        !           211: $(TARGET:=.ddso):
        !           212: 	@ echo "Making DDSO version of ${TARGET}"
        !           213: 	@ if test ! -d DBG.$(PFABI); then \
        !           214: 		mkdir -p DBG.$(PFABI); fi
        !           215: 	@  cd DBG.$(PFABI); ${MAKE} -f ../GNUmakefile OPTIMIZER="-g -O" \
        !           216: 	    LIBRARIES='$(PFLIB) -Wl ${SYSTEM}' \
        !           217: 	    ${TARGET}.DDSO
        !           218: 	@ rm -f ${TARGET}
        !           219: 	ln -s DBG.$(PFABI)/${TARGET}.DDSO ${TARGET}
        !           220:
        !           221:
        !           222: #--
        !           223: #--	internal TARGET targets
        !           224: #--
        !           225:
        !           226: ${TARGET}.DBG: ${OBJECTS}
        !           227: 	${LINKERF} -o $@ ${OBJECTS} $(DBGLINKS) ${LDOPTS} ${LIBRARIES}
        !           228:
        !           229: ${TARGET}.OPT: ${OBJECTS}
        !           230: 	${LINKERF} -o $@ ${OBJECTS} $(OPTLINKS) ${LDOPTS} ${LIBRARIES}
        !           231:
        !           232: ${TARGET}.DSO: ${OBJECTS}
        !           233: 	${LINKERF} -o $@ ${OBJECTS} $(DSOLINKS) ${LDOPTS} ${LIBRARIES}
        !           234:
        !           235: ${TARGET}.DDSO: ${OBJECTS}
        !           236: 	${LINKERF} -o $@ ${OBJECTS} $(DDSOLINKS) ${LDOPTS} ${LIBRARIES}
        !           237:
        !           238:
        !           239: #--
        !           240: #--	LIBRARY targets
        !           241: #--
        !           242:
        !           243: #-- make a debugging version of the library
        !           244: $(LIBRARY:=.dbg):
        !           245: 	@ echo "Making DBG version of ${LIBRARY}"
        !           246: 	@ if test ! -d DBG.$(PFABI); then \
        !           247: 		mkdir -p DBG.$(PFABI); fi
        !           248: 	@ cd DBG.$(PFABI); \
        !           249: 	  ${MAKE} -f ../GNUmakefile OPTIMIZER="-g -O" ${LIBRARY}.a
        !           250: 	@ echo "${LIBRARY}.a done"
        !           251:
        !           252: #-- make an optimized version of the library
        !           253: $(LIBRARY:=.opt):
        !           254: 	@ echo "Making OPT version of ${LIBRARY}"
        !           255: 	@ if test ! -d OPT.$(PFABI); then \
        !           256: 		mkdir -p OPT.$(PFABI); fi
        !           257: 	@ cd OPT.$(PFABI); \
        !           258: 	  ${MAKE} -f ../GNUmakefile ${LIBRARY}.a
        !           259: 	@ echo "${LIBRARY}.a done"
        !           260:
        !           261: #-- make an optimized version of the library that uses DSOs
        !           262: $(LIBRARY:=.dso):
        !           263: 	@ echo "Making DSO version of ${LIBRARY}"
        !           264: 	@ if test ! -d OPT.$(PFABI); then \
        !           265: 		mkdir -p OPT.$(PFABI); fi
        !           266: 	@ cd OPT.$(PFABI); \
        !           267: 	  ${MAKE} -f ../GNUmakefile ${LIBRARY}.so.${DSOVERSION}
        !           268: 	@ echo "${LIBRARY}.so.${DSOVERSION} done"
        !           269:
        !           270: #-- make an debugging version of the library that uses DSOs
        !           271: $(LIBRARY:=.ddso):
        !           272: 	@ echo "Making DDSO version of ${LIBRARY}"
        !           273: 	@ if test ! -d DBG.$(PFABI); then \
        !           274: 		mkdir -p DBG.$(PFABI); fi
        !           275: 	@ cd DBG.$(PFABI); \
        !           276: 	  ${MAKE} -f ../GNUmakefile OPTIMIZER="-g -O" ${LIBRARY}.so.${DSOVERSION}
        !           277: 	@ echo "${LIBRARY}.so.${DSOVERSION} done"
        !           278:
        !           279:
        !           280: #--
        !           281: #--	internal LIBRARY targets
        !           282: #--
        !           283:
        !           284: ${LIBRARY}.a: ${OBJECTS}
        !           285: 	ar crv $@ $?
        !           286:
        !           287: ${LIBRARY}.so.$(DSOVERSION): ${OBJECTS}
        !           288: 	ld -shared $(DSOREGFILE) $(DSOVERSIONOPT) $(LDOPTS) $(OBJECTS) -o $@
        !           289:
        !           290:
        !           291: #-- look for sources in this directory when recursing
        !           292: VPATH=..
        !           293:
        !           294:
        !           295: #
        !           296: #-- special rules for using pixie with profile
        !           297: #
        !           298:
        !           299: # create a pixie version of profile
        !           300: profile.pixie:
        !           301: 	$(TOOLROOT)/usr/bin/pixie profile
        !           302:
        !           303: #-- runs prof -pixie on the using the data file produced by
        !           304: #-- running profile.pixie
        !           305: profit:
        !           306: 	prof -procedures -i -l -pixie -quit 1% \
        !           307: 		profile profile.Addrs profile.Counts
        !           308:
        !           309: #-- a speciall c++ version that will de-mangle c++ names
        !           310: #-- requires /usr/lib/c++/c++filt
        !           311: profit_c++:
        !           312: 	prof -procedures -i -l -pixie -quit 1% \
        !           313: 		profile profile.Addrs profile.Counts | \
        !           314: 		$(TOOLROOT)/usr/lib/c++/c++filt
        !           315:
        !           316: .C.o:
        !           317: 	$(CXXF) -c $<
        !           318:
        !           319: %.o: %.cxx
        !           320: 	$(CXXF) -c $<
        !           321:
        !           322: %.o: %.cpp
        !           323: 	$(CXXF) -c $<
        !           324:
        !           325: %.o: %.c++
        !           326: 	$(CXXF) -c $<
        !           327:
        !           328: _COMPILER = $(CCF)
        !           329: ifdef CXXFILES
        !           330: _COMPILER = $(CXXF)
        !           331: endif
        !           332:
        !           333: %: %.o
        !           334: 	$(_COMPILER) $(LDFLAGS) $< -o $@
        !           335:
        !           336:

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>