12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- # Adapted from GBDK-2020 examples
-
- ifndef GBDK_HOME
- GBDK_HOME = ../../../
- endif
-
- BIN := duality.gb
- SRC_DIR := src
- BUILD_DIR := build
-
- SRCS := $(wildcard $(SRC_DIR)/*.c)
- OBJS := $(SRCS:%.c=$(BUILD_DIR)/%.o)
-
- LCC := $(GBDK_HOME)/bin/lcc
- GB_EMU := gearboy
-
- LCCFLAGS := -Wa-l -Wl-m -Wm"-yn Duality"
- EMUFLAGS := $(BIN)
-
- GBDK_DEBUG = ON
- ifdef GBDK_DEBUG
- LCCFLAGS += -debug -Wa-j -Wa-y -Wa-s -Wl-j -Wl-y -Wl-u -Wm-yS
- EMUFLAGS += $(BUILD_DIR)/$(BIN:.gb=.sym)
- endif
-
- .PHONY: all run $(BIN) clean
-
- all: $(BIN)
-
- run: $(BIN)
- @echo Emulating $<
- @$(GB_EMU) $(EMUFLAGS)
-
- $(BUILD_DIR)/%.o: %.c
- @mkdir -p $(@D)
- @echo Compiling $<
- @$(LCC) $(LCCFLAGS) -c -o $@ $<
-
- $(BUILD_DIR)/%.o: %.s
- @mkdir -p $(@D)
- @echo Assembling $<
- @$(LCC) $(LCCFLAGS) -c -o $@ $<
-
- $(BUILD_DIR)/$(BIN): $(OBJS)
- @echo Linking $@
- @$(LCC) $(LCCFLAGS) -o $@ $<
-
- $(BIN): $(BUILD_DIR)/$(BIN)
- @cp $< $@
-
- clean:
- rm -rf $(BUILD_DIR) $(BIN)
|