35 lines
		
	
	
		
			920 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			920 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
SDCC ?= sdcc
 | 
						|
STCCODESIZE ?= 13312
 | 
						|
SDCCOPTS ?= --code-size $(STCCODESIZE) --xram-size 256 --idata-loc 0x70
 | 
						|
#SDCCOPTS ?= --code-size $(STCCODESIZE) --xram-size 256 --stack-auto --model-large
 | 
						|
FLASHFILE ?= main.hex
 | 
						|
LARGE_LDFLAGS += -L/usr/share/sdcc/lib/large/
 | 
						|
# CFLAGS += -DSTACK_DEBUG # write the stack pointer to P3_4
 | 
						|
 | 
						|
SRC = src/lcd.c src/key.c src/utils.c src/decn/decn.c src/calc.c src/stack_debug.c
 | 
						|
 | 
						|
OBJ=$(patsubst src%.c,build%.rel, $(SRC))
 | 
						|
 | 
						|
all: main
 | 
						|
 | 
						|
build/%.rel: src/%.c src/%.h
 | 
						|
	mkdir -p $(dir $@)
 | 
						|
	$(SDCC) $(SDCCOPTS) $(CFLAGS) -o $@ -c $<
 | 
						|
 | 
						|
main: $(OBJ)
 | 
						|
	$(SDCC) -o build/ src/$@.c $(SDCCOPTS) $(CFLAGS) $^
 | 
						|
#	$(SDCC) -o build/ src/$@.c $(SDCCOPTS) $(CFLAGS) $(LARGE_LDFLAGS) $^
 | 
						|
	@ tail -n 5 build/main.mem | head -n 2
 | 
						|
	@ tail -n 1 build/main.mem
 | 
						|
	cp build/$@.ihx $@.hex
 | 
						|
 | 
						|
eeprom:
 | 
						|
	sed -ne '/:..1/ { s/1/0/2; p }' main.hex > eeprom.hex
 | 
						|
 | 
						|
clean:
 | 
						|
	rm -f *.ihx *.hex *.bin
 | 
						|
	rm -rf build/*
 | 
						|
 | 
						|
cpp: SDCCOPTS+=-E
 | 
						|
cpp: main
 |