diff options
author | leleraffa97@hotmail.it <leleraffa97@hotmail.it> | 2017-05-02 18:02:06 +0200 |
---|---|---|
committer | leleraffa97@hotmail.it <leleraffa97@hotmail.it> | 2017-05-02 18:02:06 +0200 |
commit | 2b59b9528106aced551c85b5f93b28befd1e4b96 (patch) | |
tree | 270e634089f8cc3be68908e16fa4d601fd7703a4 /sw/z80/makefile | |
parent | Basic sys io setup (diff) | |
parent | fix for sdcc makefile (diff) | |
download | z80uPC-2b59b9528106aced551c85b5f93b28befd1e4b96.tar.gz z80uPC-2b59b9528106aced551c85b5f93b28befd1e4b96.zip |
Merge remote-tracking branch 'origin/naopross' into atlas
Diffstat (limited to 'sw/z80/makefile')
-rw-r--r-- | sw/z80/makefile | 42 |
1 files changed, 30 insertions, 12 deletions
diff --git a/sw/z80/makefile b/sw/z80/makefile index 94646a9..3d682ca 100644 --- a/sw/z80/makefile +++ b/sw/z80/makefile @@ -2,26 +2,44 @@ # source code settings # OSNAME := helvetiOS - -CSOURCES := $(wildcard *.c) -BINARY := $(OSNAME).bin + +CSOURCES := $(wildcard kernel/*.c) $(wildcard libc/*.c) +OBJECTS := $(patsubst %.c,build/%.rel,$(CSOURCES)) +HEXFILE := build/$(OSNAME).hex +BINARY := build/$(OSNAME).bin ### # compiler settings -# -CC := zcc -CARGS := -Wall -I . -DDEBUG -crt0 loader -asm z80asm -nostdlib +CC := sdcc + +CFLAGS := -mz80 \ + -I kernel/include -I libc/include -DDEBUG + +LDFLAGS := -mz80 --no-std-crt0 crt0.rel \ + --code-loc 0x0800 --data-loc 0x8000 + +.PHONY: dirs dis clean all: $(BINARY) # build binary -$(BINARY): $(CSOURCES) - cp loader.asm loader.opt - $(CC) $(CARGS) $(CSOURCES) -o $@ +$(BINARY): $(OBJECTS) dirs + $(CC) $(LDFLAGS) $(OBJECTS) -o $(HEXFILE) + xxd -r -p $(HEXFILE) $(BINARY) + +$(OBJECTS): build/%.rel : %.c $(CSOURCES) dirs crt0.rel + $(CC) $(CFLAGS) -c $< -o $@ + +crt0.rel: crt0.s + sdasz80 -o $< + +dirs: + mkdir -p build build/kernel build/libc dis: $(BINARY) - z80dasm -a -g 0h $< + z80dasm -a -g 0h $< -o $(OSNAME).s clean: - - rm $(BINARY) - - rm loader.opt + - rm -rd build/* + - rm $(OSNAME).s + - rm crt0.rel |