@@ -21,7 +21,6 @@ FIXFLAGS = -p ${PADVALUE} -i "${GAMEID}" -k "${LICENSEE}" -l ${OLDLIC} -m ${MBC}
21
21
ROM = bin/${ROMNAME}.${ROMEXT}
22
22
SRCS := $(call rwildcard,src,* .asm)
23
23
OBJS := $(patsubst src/% .asm,obj/% .o,${SRCS})
24
- DEPFILES := ${OBJS:.o=.mk}
25
24
DEBUGFILES := ${OBJS:.o=.dbg}
26
25
include project.mk
27
26
all : ${ROM} ${DEBUGFILES} bin/${ROMNAME}.dbg
@@ -42,29 +41,30 @@ assets/%.1bpp: assets/%.png
42
41
assets/% .pb16 : src/tools/pb16.py assets/%
43
42
@mkdir -p " ${@ D} "
44
43
$^ $@ $
45
- assets/% .pb16.size : assets/%
44
+ assets/% .pb16.size : assets/% assets/ % .pb16
46
45
@mkdir -p " ${@ D} "
47
46
printf ' def NB_PB16_BLOCKS equ ((%u) + 15) / 16\n' \
48
47
" $$ (wc -c <$<)" > assets/$* .pb16.size
49
48
assets/% .pb8 : src/tools/pb8.py assets/%
50
49
@mkdir -p " ${@ D} "
51
50
$^ $@
52
51
53
- assets/% .pb8.size : assets/%
52
+ assets/% .pb8.size : assets/% assets/ % .pb8
54
53
@mkdir -p " ${@ D} "
55
54
printf ' def NB_PB8_BLOCKS equ ((%u) + 7) / 8\n' \
56
55
" $$ (wc -c <$<)" > assets/$* .pb8.size
57
- obj/% .o : obj/% .mk
58
- @touch -c $@
59
- obj/% .mk : src/% .asm
60
- @mkdir -p " ${@ D} "
61
- ${RGBASM} ${ASFLAGS} -o ${@: .mk=.o} $< \
62
- -M $@ -MG -MP -MQ ${@: .mk=.o} -MQ $@
63
56
ifeq ($(filter clean,${MAKECMDGOALS}) ,)
64
- include ${DEPFILES}
57
+ define DEP
58
+ $(subst |,
59
+ ,$(shell ${RGBASM} ${ASFLAGS} $2 -M - -MG -MP -MQ $1 | tr '\n' '|') )
60
+ endef
61
+ $(foreach OBJ,${OBJS},$(eval $(call DEP,${OBJ},$(patsubst obj/%.o,src/%.asm,${OBJ}))))
65
62
endif
66
63
SYMFILE := $(basename ${ROM}) .sym
67
64
MAPFILE := $(basename ${ROM}) .map
65
+ obj/% .o : src/% .asm
66
+ @mkdir -p " ${@ D} "
67
+ ${RGBASM} ${ASFLAGS} -o $@ $<
68
68
${ROM} : src/tools/nb_used_banks.py ${OBJS}
69
69
@mkdir -p " ${@ D} "
70
70
${RGBASM} ${ASFLAGS} -o obj/lib/build_date.o src/lib/build_date.asm
0 commit comments