aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: 94fa22a30861899175d6638912593057037d5265 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
V =
ifeq ($(strip $(V)),)
	E = @echo
	Q = @
else
	E = @\#
	Q =
endif

CC65   ?= cl65
CCOPTS ?= --target nes

.PHONY: all
all: clean deps build

.PHONY: clean
clean:
	@rm -rf out
	@find . -type f -name "*.o" -delete
	@find . -type f -name "*.nes" -delete
	@mkdir -p out/basics out/scroll out/space out/fx out/rand out/sound

.PHONY: deps
deps:
	@which $(CC65) >/dev/null 2>/dev/null || (echo "ERROR: $(CC65) not found." && false)

.PHONY: build
build: basics space scroll sound fx rand

.PHONY: basics
basics:
	$(E) "	CC	 basics/sprite"
	$(Q) $(CC65) $(CCOPTS) basics/sprite.s -C config/nrom.cfg -o out/basics/sprite.nes

	$(E) "	CC	 basics/input"
	$(Q) $(CC65) $(CCOPTS) basics/input.s -C config/nrom.cfg -o out/basics/input.nes

	$(E) "	CC	 basics/persist"
	$(Q) $(CC65) $(CCOPTS) basics/persist.s -C config/mmc1.cfg -o out/basics/persist.nes

	$(E) "	CC	 basics/flicker"
	$(Q) $(CC65) $(CCOPTS) basics/flicker.s -C config/nrom.cfg -o out/basics/flicker.nes

	$(E) "	CC	 basics/unrom"
	$(Q) $(CC65) $(CCOPTS) basics/unrom.s -C config/unrom.cfg -o out/basics/unrom.nes

	$(E) "	CC	 basics/chr-ram"
	$(Q) $(CC65) $(CCOPTS) basics/chr-ram.s -C config/unrom.cfg -o out/basics/chr-ram.nes

.PHONY: space
space:
	$(E) "	CC	 space"
	$(Q) $(CC65) $(CCOPTS) space/src/space.s -C config/nrom.cfg -o out/space/space.nes

.PHONY: scroll
scroll:
	$(E) "	CC	 scroll/toggle"
	$(Q) $(CC65) $(CCOPTS) scroll/toggle.s -C config/nrom.cfg -o out/scroll/toggle.nes

	$(E) "	CC	 scroll/level"
	$(Q) $(CC65) $(CCOPTS) scroll/level.s -C config/nrom.cfg -o out/scroll/level.nes

	$(E) "	CC	 scroll/sprite0"
	$(Q) $(CC65) $(CCOPTS) scroll/sprite0.s -C config/nrom.cfg -o out/scroll/sprite0.nes

	$(E) "	CC	 scroll/mmc3"
	$(Q) $(CC65) $(CCOPTS) scroll/mmc3.s -C config/mmc3.cfg -o out/scroll/mmc3.nes

	$(E) "	CC	 scroll/roulette"
	$(Q) $(CC65) $(CCOPTS) scroll/roulette.s -C config/mmc3.cfg -o out/scroll/roulette.nes

.PHONY: sound
sound:
	$(E) "	CC	 sound/beep"
	$(Q) $(CC65) $(CCOPTS) sound/beep.s -C config/nrom.cfg -o out/sound/beep.nes

.PHONY: fx
fx:
	$(E) "	CC	 fx/blink"
	$(Q) $(CC65) $(CCOPTS) fx/blink.s -C config/mmc3.cfg -o out/fx/blink.nes

.PHONY: rand
rand:
	$(E) "	CC	 rand/rand"
	$(Q) $(CC65) $(CCOPTS) rand/rand.s -C config/nrom.cfg -o out/rand/rand.nes