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

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

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