Rev 922 | Details | Compare with Previous | Last modification | View Log
Rev | Author | Line No. | Line |
---|---|---|---|
930 | alone | 1 | # Supported environments: |
2 | # GNU/Linux. |
||
3 | # |
||
4 | # Tools used: |
||
5 | # GNU core utilities, tools/aspp, tools/sjasmplus. |
||
6 | |||
7 | include ../../_sdk/common.mk |
||
8 | |||
9 | NAME = untangle.com |
||
10 | OBJECTS = |
||
11 | SOURCES = main.asm |
||
12 | RESOURCES = |
||
13 | DOCS = |
||
14 | INSTALLDIR ?= ../../../release/nedogame |
||
15 | BIN_INSTALLDIR = ${INSTALLDIR} |
||
16 | RES_INSTALLDIR = ${INSTALLDIR} |
||
17 | DOC_INSTALLDIR = ${INSTALLDIR}/doc |
||
18 | |||
19 | # All targets |
||
20 | TARGETS=executables resources |
||
21 | .PHONY: empty ${foreach t,${TARGETS},${t} install-${t} clean-${t}} all install install-doc clean |
||
22 | |||
23 | .DEFAULT_GOAL=all |
||
24 | |||
25 | empty: |
||
26 | @echo 'Usage: make [ TARGET | ACTION-TARGET | all | install | install-doc | clean ]' |
||
27 | @echo 'where ACTION is one of: install clean' |
||
28 | @echo ' TARGET is one of: ${TARGETS}' |
||
29 | |||
30 | # Clear lists |
||
31 | DEPS= |
||
32 | |||
33 | # Create directories |
||
34 | ${sort \ |
||
35 | ${BIN_INSTALLDIR} \ |
||
36 | ${RES_INSTALLDIR} \ |
||
37 | ${DOC_INSTALLDIR} \ |
||
38 | }: |
||
39 | mkdir -p $@ |
||
40 | |||
41 | ########################## |
||
42 | ## Target "executables" ## |
||
43 | ########################## |
||
44 | |||
45 | EXEC_DEPS= |
||
46 | EXEC_BINS= |
||
47 | |||
48 | ${eval ${call sjasmplus_odd_rule,${NAME},${SOURCES},,EXEC_DEPS,EXEC_BINS}} |
||
49 | |||
50 | executables: ${EXEC_BINS} |
||
51 | |||
52 | install-executables: executables | ${BIN_INSTALLDIR} |
||
53 | cp ${EXEC_BINS} $| |
||
54 | |||
55 | clean-executables: |
||
56 | ${RM} ${EXEC_DEPS} ${EXEC_BINS} |
||
57 | |||
58 | DEPS+=${EXEC_DEPS} |
||
59 | |||
60 | ######################## |
||
61 | ## Target "resources" ## |
||
62 | ######################## |
||
63 | |||
64 | resources: ${RESOURCES} |
||
65 | |||
66 | install-resources: resources | ${RES_INSTALLDIR} |
||
67 | ifneq "${sort ${RESOURCES}}" "" |
||
68 | cp ${RESOURCES} $| |
||
69 | endif |
||
70 | |||
71 | clean-resources: |
||
72 | |||
73 | #################### |
||
74 | ## Common targets ## |
||
75 | #################### |
||
76 | |||
77 | all: executables resources |
||
78 | |||
79 | install: install-executables install-resources |
||
80 | |||
81 | ifeq "${sort ${DOCS}}" "" |
||
82 | install-doc: |
||
83 | else |
||
84 | install-doc: ${DOCS} | ${DOC_INSTALLDIR} |
||
85 | cp $^ $| |
||
86 | endif |
||
87 | |||
88 | clean: clean-executables clean-resources |
||
89 | |||
90 | ################## |
||
91 | ## Dependencies ## |
||
92 | ################## |
||
93 | |||
94 | ifneq "${sort \ |
||
95 | ${filter empty,${MAKECMDGOALS}} \ |
||
96 | ${filter clean,${MAKECMDGOALS}} \ |
||
97 | ${filter clean-%,${MAKECMDGOALS}} \ |
||
98 | }" "" |
||
99 | else |
||
100 | # FIXME: Triggered when multiple targets specified. |
||
101 | include ${DEPS} |
||
102 | endif |