diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 68 | 
1 files changed, 19 insertions, 49 deletions
| @@ -1,66 +1,34 @@ -PROJECT=firmware +export PROJECT_ROOT=$(abspath .) -AS=sdasz80 -CC=sdcc -CPP=sdcpp - -ASM=crt0.asm\ -	isr.asm\ -	delay.asm -SRC=font.c\ -	i2c.c\ -	input.c\ -	main.c\ -	tft.c\ -	tty.c\ -	menu.c - -INCLUDE=include  BUILD=build -OBJ=$(ASM:%.asm=$(BUILD)/%.rel)\ -	$(SRC:%.c=$(BUILD)/%.rel) - -IHX=$(BUILD)/$(PROJECT).ihx -TARGET=$(BUILD)/$(PROJECT).hex +TARGET=$(BUILD)/rom.hex  BOOTLOADER=$(BUILD)/boot/bootloader.hex +FIRMWARE=$(BUILD)/firmware.hex -CFLAGS=-mz80 -I$(INCLUDE) --Werror -LDFLAGS=-mz80 --no-std-crt0\ -		--code-loc 0x0100\ -		--data-loc 0x8010\ -		-Wl-b_ISR_TABLE=0x0070\ -		-Wl-b_GSINIT=0x0080 +CODE_LOC=0x8100 +DATA_LOC=0xC000 +STACK_LOC=0x0000 +GSINIT_LOC=0x8080  ROM_CHIP=AT28C256 -all : $(TARGET) - -$(OBJ): | $(BUILD) +DIRS=$(addprefix $(BUILD)/,asm src) -$(BUILD): -	@mkdir -p $(BUILD) +ASM=$(wildcard asm/*.asm) +SRC=$(wildcard src/*.c) -$(BUILD)/%.rel : asm/%.asm -	@echo '  (AS)' $< -	@$(CPP) -P -I$(INCLUDE) -DASSEMBLY $< > $(BUILD)/$(notdir $<) -	@$(AS) -g -o $@ $(BUILD)/$(notdir $<) - -$(BUILD)/%.rel : src/%.c -	@echo '  (CC)' $< -	@$(CC) $(CFLAGS) -c -o $@ $< - -$(IHX) : $(OBJ) -	@echo '  (LD)' $(OBJ) -	@$(CC) $(LDFLAGS) -o $@ $(OBJ) +all : $(TARGET) -$(TARGET) : $(IHX) $(BOOTLOADER) -	@hex2bin.py -l 32768 $< $@ -	@dd if=$(BOOTLOADER) of=$@ obs=1024 seek=28 conv=notrunc 2>/dev/null +$(TARGET) : $(BOOTLOADER) $(FIRMWARE) +	cat $^ > $@ +	cp $(BOOTLOADER) /tmp/rom.hex +	dd if=$(FIRMWARE) of=/tmp/rom.hex obs=4096 seek=3 conv=notrunc 2>/dev/null +	mv /tmp/rom.hex $@  .PHONY : $(BOOTLOADER)  $(BOOTLOADER) : -	@make -C boot +	make -C boot  .PHONY : flash  flash : @@ -69,3 +37,5 @@ flash :  .PHONY : clean  clean :  	@find $(BUILD) -type f -delete + +include include.mk | 
