11
22# cc64 sources and binaries
33commonsrcs_ascii = $(wildcard src/common/* .fth)
4- commonsrcs_c64 = $(patsubst src/common/% , c64files/% , $(commonsrcs_ascii ) )
5- commonsrcs_c16 = $(patsubst src/common/% , c16files/% , $(commonsrcs_ascii ) )
6- commonsrcs_x16 = $(patsubst src/common/% , x16files/% , $(commonsrcs_ascii ) )
4+ commonsrcs = $(patsubst src/common/% , % , $(commonsrcs_ascii ) )
75cc64srcs_ascii = $(wildcard src/cc64/* .fth)
8- cc64srcs_c64 = $(patsubst src/cc64/% , c64files/% , $(cc64srcs_ascii ) ) \
9- $(commonsrcs_c64 )
10- cc64srcs_c16 = $(patsubst src/cc64/% , c16files/% , $(cc64srcs_ascii ) ) \
11- $(commonsrcs_c16 )
12- cc64srcs_x16 = $(patsubst src/cc64/% , x16files/% , $(cc64srcs_ascii ) ) \
13- $(commonsrcs_x16 )
6+ cc64srcs = $(patsubst src/cc64/% , % , $(cc64srcs_ascii ) )
147peddisrcs_ascii = $(wildcard src/peddi/* .fth)
15- peddisrcs_c64 = $(patsubst src/peddi/% , c64files/% , $(peddisrcs_ascii ) ) \
16- $(commonsrcs_c64 )
17- peddisrcs_c16 = $(patsubst src/peddi/% , c16files/% , $(peddisrcs_ascii ) ) \
18- $(commonsrcs_c16 )
8+ peddisrcs = $(patsubst src/peddi/% , % , $(peddisrcs_ascii ) )
9+ cc64srcs_c64 = $(patsubst % , c64files/% , $(cc64srcs ) $(commonsrcs ) )
10+ cc64srcs_c16 = $(patsubst % , c16files/% , $(cc64srcs ) $(commonsrcs ) )
11+ cc64srcs_x16 = $(patsubst % , x16files/% , $(cc64srcs ) $(commonsrcs ) )
12+ peddisrcs_c64 = $(patsubst % , c64files/% , $(peddisrcs ) $(commonsrcs ) )
13+ peddisrcs_c16 = $(patsubst % , c16files/% , $(peddisrcs ) $(commonsrcs ) )
1914cc64_binaries = cc64 cc64pe peddi
2015cc64_c64_t64_files = $(patsubst % , autostart-c64/% .T64, $(cc64_binaries ) )
2116cc64_c16_t64_files = $(patsubst % , autostart-c16/% .T64, $(cc64_binaries ) )
2217
18+ # runtime and sample files
2319rt_files = \
2420 rt-c64-0801.h rt-c64-0801.i rt-c64-0801.o \
2521 rt-c16-1001.h rt-c16-1001.i rt-c16-1001.o \
@@ -40,6 +36,13 @@ c16dir_files = $(patsubst %, c16files/% , $(c16dir_content))
4036x16dir_content = cc64 $(rt_files ) $(sample_files ) c-charset
4137x16dir_files = $(patsubst % , x16files/% , $(x16dir_content ) )
4238
39+ # PETSCII sources and VolksForth bases for manual recompile
40+ recompile_dir = recompile-cc64
41+ recompile_srcs = $(patsubst % , $(recompile_dir ) /% , \
42+ $(cc64srcs ) $(peddisrcs ) $(commonsrcs ) )
43+ recompile_forths = $(patsubst forth/% , $(recompile_dir ) /% , \
44+ $(wildcard forth/v4th* ) )
45+
4346# Forth binaries
4447forth_binaries = devenv-uF83
4548forth_t64_files = $(patsubst % , autostart-c64/% .T64, $(forth_binaries ) )
@@ -50,7 +53,8 @@ all: c64 c16 x16 etc
5053release : cc64-doc.zip \
5154 cc64-c64files.zip cc64-c64files.d64 \
5255 cc64-c16files.zip cc64-c16files.d64 \
53- cc64-x16files.zip cc64-x16files-sdcard.zip
56+ cc64-x16files.zip cc64-x16files-sdcard.zip \
57+ $(recompile_dir).zip
5458 rm -rf release
5559 mkdir release
5660 cp -p $^ release/
@@ -80,6 +84,10 @@ cc64-x16files.zip: $(x16dir_files) COPYING
8084 rm -f $@
8185 zip -r $@ $^
8286
87+ $(recompile_dir ) .zip : $(recompile_srcs ) $(recompile_forths ) COPYING
88+ rm -f $@
89+ zip -r $@ $^
90+
8391cc64-c64files.d64 : $(c64dir_files ) tmp/copying
8492 rm -f $@
8593 c1541 -format cc64-c64,cc d64 $@
@@ -152,6 +160,7 @@ clean:
152160 rm -f [cx][16][64]files/notdone
153161 rm -f emulator/sdcard.img tmp/* cc64-doc.zip
154162 rm -rf release
163+ rm -rf $(recompile_dir ) $(recompile_dir ) .zip
155164 $(MAKE ) -C tests/e2e clean
156165 $(MAKE ) -C tests/integration clean
157166 $(MAKE ) -C tests/peddi clean
@@ -232,6 +241,9 @@ c16files/vf-build-base: forth/v4th-c16+
232241x16files/vf-build-base : forth/v4th-x16
233242 cp $< $@
234243
244+ $(recompile_dir ) /% : forth/%
245+ cp $< $@
246+
235247
236248# Runtime module rules
237249
@@ -351,7 +363,7 @@ emulator/sdcard.img: emulator/sdcard.sfdisk emulator/mk-sdcard.sh
351363 emulator/mk-sdcard.sh emulator/sdcard.sfdisk $@
352364
353365
354- # Rules, mostly generic, to populate c64files/, c16files/
366+ # Rules, mostly generic, to populate c64files/, c16files/, x16files/
355367
356368c64files/% .fth : src/* /% .fth
357369 ascii2petscii $< $@
@@ -377,6 +389,11 @@ x16files/%.c: src/*/%.c
377389 ascii2petscii $< $@
378390 touch -r $< $@
379391
392+ $(recompile_dir ) /% .fth : src/* /% .fth
393+ test -d $(recompile_dir ) || mkdir $(recompile_dir )
394+ ascii2petscii $< $@
395+ touch -r $< $@
396+
380397tmp/copying : COPYING
381398 test -d tmp || mkdir tmp
382399 ascii2petscii $< $@
0 commit comments