From f209dc3a24987419c3f7ad9fbe3fe2b4dfb16427 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Fri, 25 Aug 2017 10:26:21 +0200 Subject: implements pio.h functions and makefile update to optimize size - remove syscall.h, unused and not implemented - bug fix for memcmp() in string.c other changes are still partially unfinished and might not work --- sw/z80_test/makefile | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 sw/z80_test/makefile (limited to 'sw/z80_test/makefile') diff --git a/sw/z80_test/makefile b/sw/z80_test/makefile new file mode 100644 index 0000000..c709d61 --- /dev/null +++ b/sw/z80_test/makefile @@ -0,0 +1,54 @@ +#### +# source code settings +# +OSNAME := helvetiOS_test + +CSOURCES := $(wildcard kernel/*.c) \ + $(wildcard kernel/drivers/*.c) \ + $(wildcard libc/*.c) + +OBJECTS := $(patsubst %.c,build/%.rel,$(CSOURCES)) +HEXFILE := build/$(OSNAME).hex +BINARY := build/$(OSNAME).bin + +### +# compiler settings + +CC := sdcc + +CFLAGS := -mz80 \ + -I kernel/include \ + -I kernel/include/drivers \ + -I libc/include \ + -DDEBUG + +LDFLAGS := -mz80 --no-std-crt0 crt0.rel \ + --std-c89 -pedantic \ + --code-loc 0x0800 --data-loc 0x8000 + +.PHONY: dirs dis clean +all: $(BINARY) + +# build binary +$(BINARY): $(OBJECTS) dirs + $(CC) $(LDFLAGS) $(OBJECTS) -o $(HEXFILE) + @# xxd -r -p $(HEXFILE) $(BINARY) + makebin -s 16384 $(HEXFILE) $(BINARY) + +$(OBJECTS): build/%.rel : %.c $(CSOURCES) dirs crt0.rel + @printf "\n" + $(CC) $(CFLAGS) -c $< -o $@ + +crt0.rel: crt0.s + sdasz80 -o $< + +dirs: + mkdir -p build build/kernel build/libc + +dis: $(BINARY) + @# z80dasm -a -l -g 0h $< -o build/$(OSNAME).s + dz80 -b -n $< + +clean: + - rm -rd build/* + - rm crt0.rel -- cgit v1.2.1