add missing tools/pngdump to the repo
[gbajam22] / Makefile
index db4dd95..d690745 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,11 +1,18 @@
-src = $(wildcard src/*.c)
-ssrc = $(wildcard src/*.s) data/lut.s
-obj = $(src:.c=.o) $(ssrc:.s=.o)
-dep = $(src:.c=.d)
-name = gbajam22
+src = $(wildcard src/*.c) $(wildcard src/gba/*.c)
+ssrc = $(wildcard src/*.s) $(wildcard src/gba/*.s) data/lut.s
+obj = $(src:.c=.arm.o) $(ssrc:.s=.arm.o)
+dep = $(src:.c=.arm.d)
+name = voxelburg
 elf = $(name).elf
 bin = $(name).gba
 
+data = data/color.raw data/color.pal data/color.gpal data/height.raw \
+          data/spr_game.raw data/spr_game.pal data/spr_game.gpal \
+          data/spr_logo.raw data/spr_logo.pal \
+          data/menuscr.raw data/menuscr.pal data/menuscr.gpal \
+          data/spr_menu.raw data/spr_menu.pal \
+          data/controls.raw data/controls.pal data/controls.gpal
+
 libs = libs/maxmod/libmm.a
 
 TCPREFIX = arm-none-eabi-
@@ -16,13 +23,15 @@ AS = $(TCPREFIX)as
 OBJCOPY = $(TCPREFIX)objcopy
 OBJDUMP = $(TCPREFIX)objdump
 
+def = -DBUILD_GBA
 opt = -O3 -fomit-frame-pointer -mcpu=arm7tdmi -mtune=arm7tdmi -mthumb -mthumb-interwork
 dbg = -g
-inc = -I. -Ilibs/maxmod
+inc = -I. -Isrc -Isrc/gba -Ilibs/maxmod
+warn = -pedantic -Wall
 
-CFLAGS = $(opt) $(dbg) -pedantic -Wall -MMD $(def) $(inc)
+CFLAGS = $(opt) $(dbg) $(warn) -MMD $(def) $(inc)
 ASFLAGS = -mthumb-interwork
-LDFLAGS = -mthumb -mthumb-interwork $(libs)
+LDFLAGS = -mthumb -mthumb-interwork $(libs) -lm
 
 -include cfg.mk
 
@@ -38,17 +47,33 @@ $(elf): $(obj) $(libs)
 
 -include $(dep)
 
+%.arm.o: %.c
+       $(CC) -o $@ $(CFLAGS) -c $<
+
+%.arm.o: %.s
+       $(AS) -o $@ $(ASFLAGS) $<
+
 src/data.o: src/data.s $(data)
+src/data.arm.o: src/data.s $(data)
 
 tools/pngdump/pngdump:
        $(MAKE) -C tools/pngdump
 
+tools/meshdump/meshdump:
+       $(MAKE) -C tools/meshdump
+
 tools/lutgen: tools/lutgen.c
        cc -o $@ $< -lm
 
+tools/vistab: tools/vistab.c
+       cc -o $@ $< -lm
+
 tools/mmutil/mmutil:
        $(MAKE) -C tools/mmutil
 
+#data/spr_game.raw: data/spr_ui.png data/spr_hud.png
+#      tools/pngdump/pngdump -o $@ -n $^
+
 %.sraw: %.png tools/pngdump/pngdump
        tools/pngdump/pngdump -o $@ -oc $(subst .sraw,.spal,$@) -os $(subst .sraw,.shade,$@) -s 8 $<
 
@@ -58,6 +83,12 @@ tools/mmutil/mmutil:
 %.pal: %.png tools/pngdump/pngdump
        tools/pngdump/pngdump -o $@ -c $<
 
+%.gpal: %.png tools/pngdump/pngdump
+       tools/pngdump/pngdump -o $@ -c -g $<
+
+%.555: %.png tools/pngdump/pngdump
+       tools/pngdump/pngdump -o $@ -555 $<
+
 data/lut.s: tools/lutgen
        tools/lutgen >$@
 
@@ -84,12 +115,12 @@ install: $(bin)
 
 .PHONY: run
 run: $(bin)
-       mgba -2 $(bin)
+       mgba -3 --log-level=16 $(bin)
 
 .PHONY: debug
 debug: $(elf)
        mgba -2 -g $(bin) &
-       $(TCPREFIX)gdb $<
+       $(TCPREFIX)gdb -x gdbmgba $<
 
 .PHONY: disasm
 disasm: $(elf)
@@ -100,3 +131,8 @@ libs: $(libs)
 
 libs/maxmod/libmm.a:
        $(MAKE) -C libs/maxmod
+
+
+.PHONY: pc
+pc:
+       $(MAKE) -f Makefile.pc