From 779b9834e30de1ba0b4f0755388bebd0c45aa1dc Mon Sep 17 00:00:00 2001 From: Thomas Albers Raviola Date: Wed, 12 Feb 2025 01:27:44 +0100 Subject: Restructure rom image and use dependencies for makefiles --- include.mk | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 include.mk (limited to 'include.mk') diff --git a/include.mk b/include.mk new file mode 100644 index 0000000..196f319 --- /dev/null +++ b/include.mk @@ -0,0 +1,48 @@ +AS=sdasz80 +CC=sdcc +CPP=sdcpp + +INCLUDE=$(PROJECT_ROOT)/include + +DEPFLAGS=-MP -MMD -MF$(basename $@).d -MT$@ + +ASFLAGS=-g +ASCPPFLAGS=$(DEPFLAGS) -P -I$(INCLUDE) -DASSEMBLY +CFLAGS=-mz80 -I$(INCLUDE) --Werror $(patsubst %,-Wp%,$(DEPFLAGS)) +LDFLAGS=-mz80 --no-std-crt0\ + --code-loc $(CODE_LOC)\ + --data-loc $(DATA_LOC)\ + --stack-loc $(STACK_LOC)\ + -Wl-b_GSINIT=$(GSINIT_LOC) + +OBJ=$(patsubst %.asm,$(BUILD)/%.rel,$(ASM))\ + $(patsubst %.c,$(BUILD)/%.rel,$(SRC)) +DEPS=$(patsubst $(BUILD)/%.rel,$(BUILD)/%.d,$(OBJ)) + +$(OBJ): | $(BUILD) $(DIRS) + +$(BUILD) : + @mkdir -p $(BUILD) + +$(DIRS) : + @mkdir -p $(DIRS) + +$(BUILD)/%.rel : %.asm + @echo ' (CPP)' $< + @$(CPP) $(ASCPPFLAGS) $< > $(basename $@).asm + @echo ' (AS)' $< + @$(AS) $(ASFLAGS) -o $@ $(basename $@).asm + +$(BUILD)/%.rel : %.c + @echo ' (CC)' $< + @$(CC) $(CFLAGS) -c -o $@ $< + +$(BUILD)/%.hex : $(BUILD)/%.ihx + @hex2bin.py $< $@ + +.SECONDARY : +$(BUILD)/%.ihx : $(CRT0) $(OBJ) + @echo ' (LD)' $(OBJ) + @$(CC) $(LDFLAGS) -o $@ $+ + +-include $(DEPS) -- cgit v1.2.3