diff options
author | Nao Pross <naopross@thearcway.org> | 2017-05-02 16:14:41 +0200 |
---|---|---|
committer | Nao Pross <naopross@thearcway.org> | 2017-05-02 16:14:41 +0200 |
commit | 1ec8f14f03322e3fe1f56f4abcbc85f5c2934dfc (patch) | |
tree | ee02eed9bdffd1db5bff20d3b9fa47b89f0e264b /sw/z80/makefile | |
parent | Merge branch 'master' into naopross (diff) | |
download | z80uPC-1ec8f14f03322e3fe1f56f4abcbc85f5c2934dfc.tar.gz z80uPC-1ec8f14f03322e3fe1f56f4abcbc85f5c2934dfc.zip |
fix for sdcc makefile
fix for the old makefile, because it could't compile more than one source file.
new libc directory with mem.c to start implementing the standard C library
(or at least the part we need).
Diffstat (limited to 'sw/z80/makefile')
-rw-r--r-- | sw/z80/makefile | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/sw/z80/makefile b/sw/z80/makefile index ecdd9a4..3d682ca 100644 --- a/sw/z80/makefile +++ b/sw/z80/makefile @@ -4,6 +4,7 @@ OSNAME := helvetiOS CSOURCES := $(wildcard kernel/*.c) $(wildcard libc/*.c) +OBJECTS := $(patsubst %.c,build/%.rel,$(CSOURCES)) HEXFILE := build/$(OSNAME).hex BINARY := build/$(OSNAME).bin @@ -12,26 +13,33 @@ BINARY := build/$(OSNAME).bin CC := sdcc -CFLAGS := -mz80 --no-std-crt0 crt0.rel \ +CFLAGS := -mz80 \ -I kernel/include -I libc/include -DDEBUG -LDFLAGS := --code-loc 0x0800 --data-loc 0x8000 +LDFLAGS := -mz80 --no-std-crt0 crt0.rel \ + --code-loc 0x0800 --data-loc 0x8000 +.PHONY: dirs dis clean all: $(BINARY) # build binary -$(BINARY): $(CSOURCES) crt0.rel - mkdir -p build - $(CC) $(CFLAGS) $(LDFLSGS) $(CSOURCES) -o $(HEXFILE) +$(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 $< -o $(OSNAME).s clean: - - rm build/* + - rm -rd build/* - rm $(OSNAME).s - rm crt0.rel |