summaryrefslogtreecommitdiffstats
path: root/sw/z80/makefile
diff options
context:
space:
mode:
authorNao Pross <naopross@thearcway.org>2017-07-04 11:35:23 +0200
committerNao Pross <naopross@thearcway.org>2017-07-04 11:35:23 +0200
commitb14d0afe86966b91ad6a40816439cdc34602b49e (patch)
treef0d3bb06a9d41ad4dc5277251f9d82fe40e46595 /sw/z80/makefile
parentmerge branch 'atlas' into naopross (diff)
downloadz80uPC-b14d0afe86966b91ad6a40816439cdc34602b49e.tar.gz
z80uPC-b14d0afe86966b91ad6a40816439cdc34602b49e.zip
new structure for process management, structures to discuss
the idea behind kernel/include/progman.h was good but the implementation was very not unix-like, so I made a new file under kernel/include/process.h that will implement the same features other changes: - move usart register structs definitions outside of the device - remove old build files - delete boot.h and boot_loader.h (as they weren't used by anything) - change on makefile to build binary with `makebin` instead of `xxd` - new file memory.h to implement memory mapping and mmu control - new type `uint` in types.h
Diffstat (limited to 'sw/z80/makefile')
-rw-r--r--sw/z80/makefile18
1 files changed, 13 insertions, 5 deletions
diff --git a/sw/z80/makefile b/sw/z80/makefile
index 3d682ca..2eb4713 100644
--- a/sw/z80/makefile
+++ b/sw/z80/makefile
@@ -3,7 +3,10 @@
#
OSNAME := helvetiOS
-CSOURCES := $(wildcard kernel/*.c) $(wildcard libc/*.c)
+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
@@ -14,7 +17,10 @@ BINARY := build/$(OSNAME).bin
CC := sdcc
CFLAGS := -mz80 \
- -I kernel/include -I libc/include -DDEBUG
+ -I kernel/include \
+ -I kernel/include/drivers \
+ -I libc/include \
+ -DDEBUG
LDFLAGS := -mz80 --no-std-crt0 crt0.rel \
--code-loc 0x0800 --data-loc 0x8000
@@ -25,9 +31,11 @@ all: $(BINARY)
# build binary
$(BINARY): $(OBJECTS) dirs
$(CC) $(LDFLAGS) $(OBJECTS) -o $(HEXFILE)
- xxd -r -p $(HEXFILE) $(BINARY)
+ @# 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
@@ -37,9 +45,9 @@ dirs:
mkdir -p build build/kernel build/libc
dis: $(BINARY)
- z80dasm -a -g 0h $< -o $(OSNAME).s
+ @# z80dasm -a -l -g 0h $< -o build/$(OSNAME).s
+ dz80 -b -n $<
clean:
- rm -rd build/*
- - rm $(OSNAME).s
- rm crt0.rel