Skip to content

Commit aa73c79

Browse files
committed
Avoid creating intermediate .mk files
1 parent 54f6d4d commit aa73c79

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

.github/workflows/makefile.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
os:
1414
- ubuntu-latest
1515
- macos-latest
16-
# - windows-latest (The build is flaky there because of #1, unfortunately.)
16+
- windows-latest
1717
fail-fast: false
1818
runs-on: ${{ matrix.os }}
1919

Makefile

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ FIXFLAGS = -p ${PADVALUE} -i "${GAMEID}" -k "${LICENSEE}" -l ${OLDLIC} -m ${MBC}
2121
ROM = bin/${ROMNAME}.${ROMEXT}
2222
SRCS := $(call rwildcard,src,*.asm)
2323
OBJS := $(patsubst src/%.asm,obj/%.o,${SRCS})
24-
DEPFILES := ${OBJS:.o=.mk}
2524
DEBUGFILES := ${OBJS:.o=.dbg}
2625
include project.mk
2726
all: ${ROM} ${DEBUGFILES} bin/${ROMNAME}.dbg
@@ -42,29 +41,30 @@ assets/%.1bpp: assets/%.png
4241
assets/%.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
4948
assets/%.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 $@
6356
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}))))
6562
endif
6663
SYMFILE := $(basename ${ROM}).sym
6764
MAPFILE := $(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

Comments
 (0)