Skip to content

Commit a92bf34

Browse files
committed
Refactor source vars in main Makefile, and add recompile-cc64.zip target
1 parent add1076 commit a92bf34

File tree

1 file changed

+32
-15
lines changed

1 file changed

+32
-15
lines changed

Makefile

Lines changed: 32 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,21 @@
11

22
# cc64 sources and binaries
33
commonsrcs_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))
75
cc64srcs_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))
147
peddisrcs_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))
1914
cc64_binaries = cc64 cc64pe peddi
2015
cc64_c64_t64_files = $(patsubst %, autostart-c64/%.T64, $(cc64_binaries))
2116
cc64_c16_t64_files = $(patsubst %, autostart-c16/%.T64, $(cc64_binaries))
2217

18+
# runtime and sample files
2319
rt_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))
4036
x16dir_content = cc64 $(rt_files) $(sample_files) c-charset
4137
x16dir_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
4447
forth_binaries = devenv-uF83
4548
forth_t64_files = $(patsubst %, autostart-c64/%.T64, $(forth_binaries))
@@ -50,7 +53,8 @@ all: c64 c16 x16 etc
5053
release: 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+
8391
cc64-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+
232241
x16files/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

356368
c64files/%.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+
380397
tmp/copying: COPYING
381398
test -d tmp || mkdir tmp
382399
ascii2petscii $< $@

0 commit comments

Comments
 (0)