@@ -21,7 +21,6 @@ FIXFLAGS = -p ${PADVALUE} -i "${GAMEID}" -k "${LICENSEE}" -l ${OLDLIC} -m ${MBC}
2121ROM = bin/${ROMNAME}.${ROMEXT}
2222SRCS := $(call rwildcard,src,* .asm)
2323OBJS := $(patsubst src/% .asm,obj/% .o,${SRCS})
24- DEPFILES := ${OBJS:.o=.mk}
2524DEBUGFILES := ${OBJS:.o=.dbg}
2625include project.mk
2726all : ${ROM} ${DEBUGFILES} bin/${ROMNAME}.dbg
@@ -42,29 +41,30 @@ assets/%.1bpp: assets/%.png
4241assets/% .pb16 : src/tools/pb16.py assets/%
4342 @mkdir -p " ${@ D} "
4443 $^ $@ $
45- assets/% .pb16.size : assets/%
44+ assets/% .pb16.size : assets/% assets/ % .pb16
4645 @mkdir -p " ${@ D} "
4746 printf ' def NB_PB16_BLOCKS equ ((%u) + 15) / 16\n' \
4847 " $$ (wc -c <$<)" > assets/$* .pb16.size
4948assets/% .pb8 : src/tools/pb8.py assets/%
5049 @mkdir -p " ${@ D} "
5150 $^ $@
5251
53- assets/% .pb8.size : assets/%
52+ assets/% .pb8.size : assets/% assets/ % .pb8
5453 @mkdir -p " ${@ D} "
5554 printf ' def NB_PB8_BLOCKS equ ((%u) + 7) / 8\n' \
5655 " $$ (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 $@
6356ifeq ($(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}))))
6562endif
6663SYMFILE := $(basename ${ROM}) .sym
6764MAPFILE := $(basename ${ROM}) .map
65+ obj/% .o : src/% .asm
66+ @mkdir -p " ${@ D} "
67+ ${RGBASM} ${ASFLAGS} -o $@ $<
6868${ROM} : src/tools/nb_used_banks.py ${OBJS}
6969 @mkdir -p " ${@ D} "
7070 ${RGBASM} ${ASFLAGS} -o obj/lib/build_date.o src/lib/build_date.asm
0 commit comments