|
|
@@ -27,8 +27,10 @@ shell/shell-bin.h: shell/shell.bin |
|
|
|
shell/shell: shell/shell.c $(SHELLOBJS) shell/shell-bin.h |
|
|
|
$(CC) shell/shell.c $(SHELLOBJS) -o $@ |
|
|
|
|
|
|
|
# z80c.bin is not in the prerequisites because its a bootstrap binary that |
|
|
|
# should be updated manually through make fbootstrap. |
|
|
|
forth/forth0.bin: forth/stage0.asm $(ZASMBIN) |
|
|
|
$(ZASMBIN) $(KERNEL) ../forth forth/stagec.asm < forth/stage0.asm | tee $@ > /dev/null |
|
|
|
$(ZASMBIN) $(KERNEL) ../forth forth/z80c.bin forth/stagec.asm < forth/stage0.asm | tee $@ > /dev/null |
|
|
|
|
|
|
|
forth/forth0-bin.h: forth/forth0.bin |
|
|
|
./bin2c.sh KERNEL < forth/forth0.bin | tee $@ > /dev/null |
|
|
@@ -39,10 +41,11 @@ forth/stage1: forth/stage.c $(OBJS) forth/forth0-bin.h |
|
|
|
forth/stage1dbg: forth/stage.c $(OBJS) forth/forth0-bin.h |
|
|
|
$(CC) -DDEBUG forth/stage.c $(OBJS) -o $@ |
|
|
|
|
|
|
|
# z80c.bin is not in the prerequisites because its a bootstrap binary that |
|
|
|
# should be updated manually through make fbootstrap. |
|
|
|
forth/core.bin: $(FORTHSRC_PATHS) forth/stage1 |
|
|
|
cat $(FORTHSRC_PATHS) | ./forth/stage1 | tee $@ > /dev/null |
|
|
|
|
|
|
|
forth/forth1.bin: forth/stage1.asm forth/forth0.bin $(ZASMBIN) |
|
|
|
$(ZASMBIN) $(KERNEL) ../forth forth/z80c.bin forth/stagec.asm < forth/stage1.asm | tee $@ > /dev/null |
|
|
|
$(ZASMBIN) $(KERNEL) ../forth forth/z80c.bin forth/core.bin forth/stagec.asm < forth/stage1.asm | tee $@ > /dev/null |
|
|
|
|
|
|
|
forth/forth1-bin.h: forth/forth1.bin |
|
|
|
./bin2c.sh KERNEL < forth/forth1.bin | tee $@ > /dev/null |
|
|
@@ -50,19 +53,7 @@ forth/forth1-bin.h: forth/forth1.bin |
|
|
|
forth/stage2: forth/stage.c $(OBJS) forth/forth1-bin.h |
|
|
|
$(CC) -DSTAGE2 forth/stage.c $(OBJS) -o $@ |
|
|
|
|
|
|
|
forth/stage2dbg: forth/stage.c $(OBJS) forth/forth1-bin.h |
|
|
|
$(CC) -DSTAGE2 -DDEBUG forth/stage.c $(OBJS) -o $@ |
|
|
|
|
|
|
|
forth/core.bin: $(FORTHSRC_PATHS) forth/stage2 |
|
|
|
cat $(FORTHSRC_PATHS) | ./forth/stage2 | tee $@ > /dev/null |
|
|
|
|
|
|
|
forth/forth2.bin: forth/stage2.asm forth/core.bin $(ZASMBIN) |
|
|
|
$(ZASMBIN) $(KERNEL) ../forth forth/core.bin forth/z80c.bin forth/stagec.asm < forth/stage2.asm | tee $@ > /dev/null |
|
|
|
|
|
|
|
forth/forth2-bin.h: forth/forth2.bin |
|
|
|
./bin2c.sh KERNEL < forth/forth2.bin | tee $@ > /dev/null |
|
|
|
|
|
|
|
forth/forth: forth/forth.c $(OBJS) forth/forth2-bin.h |
|
|
|
forth/forth: forth/forth.c $(OBJS) forth/forth1-bin.h |
|
|
|
$(CC) forth/forth.c $(OBJS) -o $@ |
|
|
|
|
|
|
|
zasm/kernel-bin.h: zasm/kernel.bin |
|
|
@@ -108,9 +99,11 @@ updatebootstrap: $(ZASMBIN) |
|
|
|
$(ZASMBIN) $(KERNEL) < zasm/glue.asm > zasm/kernel.bin |
|
|
|
$(ZASMBIN) $(KERNEL) $(APPS) zasm/user.h < $(APPS)/zasm/glue.asm > zasm/zasm.bin |
|
|
|
|
|
|
|
# We need to double wrap around dummy.fs because at stage3, we have high-level |
|
|
|
# words and they write to HERE at initialization. |
|
|
|
.PHONY: fbootstrap |
|
|
|
fbootstrap: forth/stage1 |
|
|
|
cat $(FORTHSRC_PATHS) ../forth/z80c.fs ../forth/dummy.fs | ./forth/stage1 | tee forth/z80c.bin > /dev/null |
|
|
|
fbootstrap: forth/stage2 |
|
|
|
cat ../forth/dummy.fs ../forth/z80c.fs ../forth/dummy.fs | ./forth/stage2 | tee forth/z80c.bin > /dev/null |
|
|
|
|
|
|
|
.PHONY: clean |
|
|
|
clean: |
|
|
|