3bd68440b4ac066429f267a43876bbc2de1a1f21
[vforth.git] / Makefile
1 CPP := cpp -P -w -x assembler-with-cpp
2 BUILD_OPT :=
3 START_ADDR := 0x2000
4 ROM_ADDR := 0xA000
5 ROM_SIZE := 8192
6 SYSCONSTS := sysconsts.fs
7 IMG_FILES := vforth.prg vforth.rom
8 ELECTIVES := assembler.fs autosave.fs debugger.fs case.fs dos.fs draw.fs gameio.fs graphics.fs gfx-hires.fs gfx-lores.fs gfx-multicol.fs gfx-usr.fs interrupt.fs printer.fs sound.fs trig.fs vicrel.fs votrax.fs
9 EXAMPLES := demo.fs demo-case.fs demo-draw.fs demo-graphics.fs demo-irq.fs demo-printer.fs demo-relfile.fs demo-sound.fs copydisk.fs
10 DATA_FILES := $(EXAMPLES) $(ELECTIVES) $(SYSCONSTS) $(EXTRA_SEQ)
11
12
13 vforth.zip: README COPYING COPYING.FIG vforth.rom vforth.d64 $(wildcard docs/*.txt)
14         zip $@ $^
15
16 vforth.rom: vforth.fs system.fs
17         $(CPP) $(BUILD_OPT:%=-D%) -DROM_TARGET $< | \
18         python3 forth-compile.py -s $(ROM_ADDR) -r $(ROM_SIZE) -a $(START_ADDR) -o $@ -
19
20 vforth.prg: vforth.fs system.fs
21         $(CPP) $(BUILD_OPT:%=-D%) $< | \
22         python3 forth-compile.py -s $(START_ADDR) -S $(SYSCONSTS) -p -o $@ -
23
24 vforth.d64: $(IMG_FILES) loader.bas $(DATA_FILES)
25         d64-format --force VFORTH VF $@
26         cbm-shell 'attach $@' \
27                 'set encoding petscii-c64en-lc' \
28                 'copy $(IMG_FILES) 0:' \
29                 'unlist loader.bas 0:loader' \
30                 'untext $(DATA_FILES) 0:' \
31                 'quit'
32
33 .PHONY: clean
34 clean:
35         rm -f vforth.prg vforth.rom loader vforth.d64
36
37 .DELETE_ON_ERROR: