summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorYamaArashi <shadow962@live.com>2016-04-21 23:03:41 -0700
committerYamaArashi <shadow962@live.com>2016-04-21 23:06:36 -0700
commit0601fb4d0013bd0f2508364b313acbdc371da674 (patch)
tree8d11fa93697da09a4e0eb84bb0957d4722f5c8f4 /Makefile
parent8890ea36eef541ba571df102c3353ee411033261 (diff)
Prepare for switch to standard gas (with preprocessor)
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile43
1 files changed, 15 insertions, 28 deletions
diff --git a/Makefile b/Makefile
index 74e9c3af8..ce077789c 100644
--- a/Makefile
+++ b/Makefile
@@ -21,11 +21,11 @@ SCANINC := tools/scaninc/scaninc
.PHONY: rom tools gbagfx scaninc clean compare deps
CSRCS := $(wildcard src/*.c)
-OBJS := asm/rom.o
-
-$(foreach obj, $(OBJS), \
- $(eval $(obj)_deps := $(shell $(SCANINC) $(obj:.o=.s))) \
-)
+OBJS := asm/crt0.o asm/rom1.o asm/rom2.o asm/rom3.o asm/rom4.o asm/rom5.o \
+ asm/libgcnmultiboot.o asm/libmks4agb.o asm/libagbsyscall.o asm/libgcc.o \
+ src/string_util.o src/rtc.o src/play_time.o src/task.o \
+ src/agb_flash.o src/agb_flash_1m.o src/agb_flash_mx.o src/siirtc.o \
+ data/data1.o data/data2.o
ROM := pokeruby.gba
ELF := $(ROM:.gba=.elf)
@@ -46,7 +46,6 @@ compare: $(ROM)
clean:
$(RM) $(ROM) $(ELF) $(OBJS)
- $(RM) genasm/*
find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.latfont' -o -iname '*.hwjpnfont' -o -iname '*.fwjpnfont' \) -exec rm {} +
include castform.mk
@@ -60,32 +59,20 @@ include tilesets.mk
%.gbapal: %.pal ; $(GFX) $< $@
%.lz: % ; $(GFX) $< $@
-$(OBJS): $(CSRCS:src/%.c=genasm/%.s)
-
-genasm/siirtc.s: CFLAGS := -mthumb-interwork -Iinclude
-
-genasm/agb_flash.s: CFLAGS := -O -mthumb-interwork -Iinclude
-genasm/agb_flash_1m.s: CFLAGS := -O -mthumb-interwork -Iinclude
-genasm/agb_flash_mx.s: CFLAGS := -O -mthumb-interwork -Iinclude
-
-# TODO: fix this .syntax hack
+$(OBJS): $(CSRCS:src/%.c=src/%.s)
-genasm/prefix.tmp:
- mkdir -p genasm
- echo -e "\t.syntax divided" >$@
+src/siirtc.s: CFLAGS := -mthumb-interwork -Iinclude
-genasm/suffix.tmp:
- mkdir -p genasm
- echo -e "\t.syntax unified" >$@
+src/agb_flash.s: CFLAGS := -O -mthumb-interwork -Iinclude
+src/agb_flash_1m.s: CFLAGS := -O -mthumb-interwork -Iinclude
+src/agb_flash_mx.s: CFLAGS := -O -mthumb-interwork -Iinclude
-genasm/%.s: src/%.c genasm/prefix.tmp genasm/suffix.tmp
- mkdir -p genasm
- $(CC) $(CFLAGS) -o $@.tmp $< -S
- cat genasm/prefix.tmp $@.tmp genasm/suffix.tmp >$@.tmp2
- perl fix_local_labels.pl $@.tmp2 $@
- $(RM) $@.tmp $@.tmp2
+src/%.s: src/%.c
+ $(CC) $(CFLAGS) -o $@ $< -S
+ echo -e ".text\n\t.align\t2, 0\n" >> $@
-%.o: %.s $$($$@_deps)
+%.o: dep = $(shell $(SCANINC) $(@D)/$*.s)
+%.o: %.s $$(dep)
$(AS) $(ASFLAGS) -o $@ $<
# Link objects to produce the ROM.