Rev 922 | Blame | Compare with Previous | Last modification | View Log | Download
# Supported environments:# GNU/Linux.## Tools used:# GNU core utilities, tools/aspp, tools/sjasmplus, _sdk/nedores.bin.include ../../_sdk/common.mkNAME = tank.comOBJECTS =SOURCES = main.asmSPRITES = sprset.bmp tileset.bmpRESOURCES =DOCS =INSTALLDIR ?= ../../../release/nedogameBIN_INSTALLDIR = ${INSTALLDIR}RES_INSTALLDIR = ${INSTALLDIR}DOC_INSTALLDIR = ${INSTALLDIR}/docNEDORES = ../../_sdk/nedores.bin# All targetsTARGETS=executables resources.PHONY: empty ${foreach t,${TARGETS},${t} install-${t} clean-${t}} all install install-doc clean.DEFAULT_GOAL=allempty:@echo 'Usage: make [ TARGET | ACTION-TARGET | all | install | install-doc | clean ]'@echo 'where ACTION is one of: install clean'@echo ' TARGET is one of: ${TARGETS}'# Clear listsDEPS=# Create directories${sort \${BIN_INSTALLDIR} \${RES_INSTALLDIR} \${DOC_INSTALLDIR} \}:mkdir -p $@############################ Target "executables" ############################EXEC_DEPS=EXEC_ASTS=EXEC_BINS=define nedores_rule =# File order does matter!${1}: ${2} ${3}${NEDORES} $$^ $$@EXEC_ASTS+=${1}endef${foreach f,${filter %.bmp,${SPRITES}},\${eval ${call nedores_rule,${patsubst %.bmp,%.ast,${f}},${f},${patsubst %.bmp,%.da,${f}}}}}${eval ${call sjasmplus_odd_rule,${NAME},${SOURCES},,EXEC_DEPS,EXEC_BINS}}executables: ${EXEC_BINS}install-executables: executables | ${BIN_INSTALLDIR}cp ${EXEC_BINS} $|clean-executables:${RM} ${EXEC_DEPS} ${EXEC_ASTS} ${EXEC_BINS}DEPS+=${EXEC_DEPS}########################## Target "resources" ##########################resources: ${RESOURCES}install-resources: resources | ${RES_INSTALLDIR}ifneq "${sort ${RESOURCES}}" ""cp ${RESOURCES} $|endifclean-resources:###################### Common targets ######################all: executables resourcesinstall: install-executables install-resourcesifeq "${sort ${DOCS}}" ""install-doc:elseinstall-doc: ${DOCS} | ${DOC_INSTALLDIR}cp $^ $|endifclean: clean-executables clean-resources#################### Dependencies ####################ifneq "${sort \${filter empty,${MAKECMDGOALS}} \${filter clean,${MAKECMDGOALS}} \${filter clean-%,${MAKECMDGOALS}} \}" ""else# FIXME: Triggered when multiple targets specified.include ${DEPS}endif