diff options
author | Thomas Albers Raviola <thomas@thomaslabs.org> | 2025-02-12 01:27:44 +0100 |
---|---|---|
committer | Thomas Albers Raviola <thomas@thomaslabs.org> | 2025-02-12 01:27:44 +0100 |
commit | 779b9834e30de1ba0b4f0755388bebd0c45aa1dc (patch) | |
tree | 218edb656e329884e4b9cab7e84f4ba4b4af0c4a /include.mk | |
parent | 8ac78b9953908d2a4ffece855296fb7597440cce (diff) |
Restructure rom image and use dependencies for makefiles
Diffstat (limited to 'include.mk')
-rw-r--r-- | include.mk | 48 |
1 files changed, 48 insertions, 0 deletions
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) |