diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..23551ad --- /dev/null +++ b/Makefile @@ -0,0 +1,34 @@ +# gbos - Game Boy Color Unix-flavored microkernel (scaffold) +# Toolchain: RGBDS (rgbasm/rgblink/rgbfix) + +ROM := gbos.gb +BUILD := build +SRCS := $(wildcard src/*.asm) +OBJS := $(patsubst src/%.asm,$(BUILD)/%.o,$(SRCS)) + +ASFLAGS := -I include -Wall +# MBC5 + RAM + battery; -r 3 = 32 KiB cart RAM (bump for more task banks) +FIXFLAGS := -v -m MBC5+RAM+BATTERY -r 3 -p 0xFF -t GBOS + +.PHONY: all clean run + +all: $(ROM) + +$(BUILD)/%.o: src/%.asm | $(BUILD) + rgbasm $(ASFLAGS) -o $@ $< + +$(ROM): $(OBJS) + rgblink -m $(BUILD)/gbos.map -n $(BUILD)/gbos.sym -o $@ $(OBJS) + rgbfix $(FIXFLAGS) $@ + +$(BUILD): + mkdir -p $(BUILD) + +clean: + rm -rf $(BUILD) $(ROM) + +# convenience: run in an emulator if one is on PATH +run: $(ROM) + @which sameboy >/dev/null 2>&1 && sameboy $(ROM) || \ + which bgb >/dev/null 2>&1 && bgb $(ROM) || \ + echo "no emulator found (sameboy/bgb)" |
