make makefiles in samples behave the same as the others

This commit is contained in:
mrdudz
2025-06-26 22:16:08 +02:00
parent cc6813428c
commit fed7276a63
15 changed files with 191 additions and 6 deletions

View File

@@ -47,6 +47,16 @@ else
LD := $(if $(wildcard ../bin/ld65*),../bin/ld65,ld65)
endif
ifeq ($(SILENT),s)
QUIET = 1
endif
ifdef QUIET
.SILENT:
PQ = "QUIET=1"
PD = --no-print-directory
endif
ifneq ($(filter disk samples.%,$(MAKECMDGOALS)),)
ifdef CC65_HOME
TARGET_PATH = $(CC65_HOME)/target
@@ -152,10 +162,13 @@ LDFLAGS_tgidemo_atarixl = --start-addr 0x4000
.o:
ifeq ($(SYS),vic20)
$(if $(QUIET),echo $(SYS):$@)
$(LD) $(LDFLAGS_$(@F)_$(SYS)) $(LDFLAGS) -o $@ -C vic20-32k.cfg -m $@.map $^ $(SYS).lib
else ifeq ($(SYS),plus4)
$(if $(QUIET),echo $(SYS):$@)
$(LD) $(LDFLAGS_$(@F)_$(SYS)) $(LDFLAGS) -o $@ -C plus4-hires.cfg -m $@.map $^ $(SYS).lib
else
$(if $(QUIET),echo $(SYS):$@)
$(LD) $(LDFLAGS_$(@F)_$(SYS)) $(LDFLAGS) -o $@ -t $(SYS) -m $@.map $^ $(SYS).lib
endif
@@ -387,7 +400,7 @@ endif
define SUBDIR_recipe
@+$(MAKE) -C $(dir) --no-print-directory $@
@+$(MAKE) -C $(dir) $(PD) $@ $(PQ)
endef # SUBDIR_recipe
@@ -450,17 +463,23 @@ TARGETS := \
# --------------------------------------------------------------------------
# Rule to make the binaries for every platform
define TARGETDIR_recipe
@+$(MAKE) -C $(dir) $(PD) $(PQ)
endef # TARGETDIR_recipe
define TARGET_recipe
@echo making samples for: $(T)
@$(MAKE) --no-print-directory clean SYS:=$(T)
@$(MAKE) -j2 SYS:=$(T)
@$(MAKE) --no-print-directory clean SYS:=$(T)
@$(MAKE) -j2 SYS:=$(T) $(PQ)
@$(MAKE) $(PD) clean SYS:=$(T) $(PQ)
endef # TARGET_recipe
platforms:
$(foreach T,$(TARGETS),$(TARGET_recipe))
$(foreach dir,$(DIRLIST),$(TARGETDIR_recipe))
# --------------------------------------------------------------------------
# Overlay rules. Overlays need special ld65 configuration files. Also, the

View File

@@ -40,6 +40,14 @@ else
LD := $(if $(wildcard ../../bin/ld65*),../../bin/ld65,ld65)
endif
ifeq ($(SILENT),s)
QUIET = 1
endif
ifdef QUIET
.SILENT:
endif
EXELIST_apple2 = \
hgrshow \
hgrtest \
@@ -63,6 +71,7 @@ endif
disk: hgr.dsk dhgr.dsk
hgr.dsk: hgrshow hgrtest
$(if $(QUIET),echo $(SYS):$@)
cp prodos.dsk $@
java -jar $(AC) -as $@ hgrshow <hgrshow
java -jar $(AC) -as $@ hgrtest <hgrtest
@@ -75,12 +84,15 @@ hgr.dsk: hgrshow hgrtest
java -jar $(AC) -p $@ winston.hgr bin 0x2000 <winston.hgr
hgrshow: hgrshow.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -Oirs -t apple2 --start-addr 0x4000 -m hgrshow.map $^
hgrtest: hgrtest.c werner.s
$(if $(QUIET),echo $(SYS):$@)
$(CL) -Oirs -t apple2 -C apple2-hgr.cfg -m hgrtest.map $^
dhgr.dsk: dhgrshow
$(if $(QUIET),echo $(SYS):$@)
cp prodos.dsk $@
java -jar $(AC) -as $@ dhgrshow <dhgrshow
java -jar $(AC) -p $@ catface.dhgr bin 0x2000 <catface.dhgr
@@ -91,6 +103,7 @@ dhgr.dsk: dhgrshow
java -jar $(AC) -p $@ venice.dhgr bin 0x2000 <venice.dhgr
dhgrshow: dhgrshow.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -Oirs -t apple2enh --start-addr 0x4000 -m dhgrshow.map $^
clean:

View File

@@ -39,6 +39,14 @@ else
SP := $(if $(wildcard ../../bin/sp65*),../../bin/sp65,sp65)
endif
ifeq ($(SILENT),s)
QUIET = 1
endif
ifdef QUIET
.SILENT:
endif
EXELIST_atari2600 = \
hello
@@ -58,6 +66,7 @@ else
endif
hello: hello.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t $(SYS) -O -o hello -m hello.map hello.c
clean:

View File

@@ -37,6 +37,14 @@ else
LD := $(if $(wildcard ../../bin/ld65*),../../bin/ld65,ld65)
endif
ifeq ($(SILENT),s)
QUIET = 1
endif
ifdef QUIET
.SILENT:
endif
EXELIST_atari5200 = \
hello
@@ -56,6 +64,7 @@ else
endif
hello: hello.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t atari5200 -o hello hello.c
clean:

View File

@@ -39,6 +39,14 @@ else
SP := $(if $(wildcard ../../bin/sp65*),../../bin/sp65,sp65)
endif
ifeq ($(SILENT),s)
QUIET = 1
endif
ifdef QUIET
.SILENT:
endif
ifneq ($(filter disk samples.%,$(MAKECMDGOALS)),)
ifdef CC65_HOME
TARGET_PATH = $(CC65_HOME)/target
@@ -139,12 +147,16 @@ else
endif
fire: fire.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t $(SYS) -O -o fire -m fire.map fire.c
plasma: plasma.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t $(SYS) -O -o plasma -m plasma.map plasma.c
nachtm: nachtm.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t $(SYS) -O -o nachtm -m nachtm.map nachtm.c
hello: hello-asm.s
$(if $(QUIET),echo $(SYS):$@)
# Use separate assembler ...
$(AS) -t $(SYS) hello-asm.s
# ... and linker commands ...
@@ -171,6 +183,7 @@ $(C1541) -attach $@ -write "$(subst ?,$(SPACE),$(file))" $(notdir $(file)),s >$(
endef # D64_WRITE_SEQ_recipe
samples.d64: samples
$(if $(QUIET),echo $(SYS):$@)
@$(C1541) -format "samples,00" d64 $@ >$(NULLDEV)
$(foreach file,$(EXELIST_$(SYS)),$(D64_WRITE_PRG_recipe))
# $(foreach file,$(OVERLAYLIST),$(D64_WRITE_PRG_recipe))

View File

@@ -37,6 +37,14 @@ else
DA := $(if $(wildcard ../../bin/da65*),../../bin/da65,da65)
endif
ifeq ($(SILENT),s)
QUIET = 1
endif
ifdef QUIET
.SILENT:
endif
CPP = cpp
#CPPFLAGS = -DTEST_ERROR
@@ -56,6 +64,7 @@ $(DAIS): fixed.da
$(DA) --sync-lines -o $@ -i $< image.bin
image.bin: image.s image.cfg
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t none -C image.cfg -o image.bin image.s
clean:

View File

@@ -37,6 +37,14 @@ else
LD := $(if $(wildcard ../../bin/ld65*),../../bin/ld65,ld65)
endif
ifeq ($(SILENT),s)
QUIET = 1
endif
ifdef QUIET
.SILENT:
endif
EXELIST_gamate = \
nachtm.bin
@@ -56,6 +64,7 @@ else
endif
nachtm.bin: nachtm.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -Os -l nachtm.lst -t gamate -o nachtm.bin nachtm.c
../../util/gamate/gamate-fixcart nachtm.bin

View File

@@ -17,11 +17,15 @@ C1541 ?= c1541
ifeq ($(origin SYS),command line)
ifeq ($(SYS),c64)
override SYS = geos-cbm
$(info GEOS: c64 -> geos-cbm)
ifneq ($(SILENT),s)
$(info GEOS: c64 -> geos-cbm)
endif
endif
ifeq ($(SYS),apple2enh)
override SYS = geos-apple
$(info GEOS: apple2enh -> geos-apple)
ifneq ($(SILENT),s)
$(info GEOS: apple2enh -> geos-apple)
endif
endif
endif
@@ -55,6 +59,14 @@ else
SP := $(if $(wildcard ../../bin/sp65*),../../bin/sp65,sp65)
endif
ifeq ($(SILENT),s)
QUIET = 1
endif
ifdef QUIET
.SILENT:
endif
DIRLIST = grc
define SUBDIR_recipe
@@ -111,36 +123,47 @@ bitmap.c: logo.pcx
$(SP) -r logo.pcx -c geos-bitmap -w bitmap.c,ident=bitmap
bitmap-demo.cvt: bitmap.c bitmap-demores.grc bitmap-demo.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t $(SYS) -O -o $@ -m bitmap-demo.map bitmap-demores.grc bitmap-demo.c
filesel.cvt: fileselres.grc filesel.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t $(SYS) -O -o $@ -m filesel.map fileselres.grc filesel.c
geosconio.cvt: geosconiores.grc geosconio.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t $(SYS) -O -o $@ -m geosconio.map geosconiores.grc geosconio.c
geosver.cvt: geosverres.grc geosver.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t $(SYS) -O -o $@ -m geosver.map geosverres.grc geosver.c
getid.cvt: getidres.grc getid.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t $(SYS) -O -o $@ -m getid.map getidres.grc getid.c
hello1.cvt: hello1res.grc hello1.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t $(SYS) -O -o $@ -m hello1.map hello1res.grc hello1.c
hello2.cvt: hello2res.grc hello2.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t $(SYS) -O -o $@ -m hello2.map hello2res.grc hello2.c
overlay-demo.cvt: overlay-demores.grc overlay-demo.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t $(SYS) -O -o $@ -m overlay-demo.map overlay-demores.grc overlay-demo.c
rmvprot.cvt: rmvprotres.grc rmvprot.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t $(SYS) -O -o $@ -m rmvprot.map rmvprotres.grc rmvprot.c
vector-demo.cvt: vector-demores.grc vector-demo.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t $(SYS) -O -o $@ -m vector-demo.map vector-demores.grc vector-demo.c
yesno.cvt: yesnores.grc yesno.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t $(SYS) -O -o $@ -m yesno.map yesnores.grc yesno.c

View File

@@ -39,6 +39,14 @@ else
GRC := $(if $(wildcard ../../../bin/grc65*),../../../bin/grc65,grc65)
endif
ifeq ($(SILENT),s)
QUIET = 1
endif
ifdef QUIET
.SILENT:
endif
EXELIST_geos-cbm = \
test.s \
vlir.cvt
@@ -56,9 +64,11 @@ samples:
endif
test.s: test.grc
$(if $(QUIET),echo $(SYS):$@)
$(GRC) -s test.s test.grc
vlir.cvt: vlir.grc vlir0.s vlir1.s vlir2.s
$(if $(QUIET),echo $(SYS):$@)
# using separate calls here for demonstration purposes:
$(GRC) -t $(SYS) -s vlir.s vlir.grc
$(AS) -t $(SYS) vlir.s

View File

@@ -37,6 +37,14 @@ else
LD := $(if $(wildcard ../../bin/ld65*),../../bin/ld65,ld65)
endif
ifeq ($(SILENT),s)
QUIET = 1
endif
ifdef QUIET
.SILENT:
endif
EXELIST_kim1 = \
kimHello.bin \
kimSieve.bin \
@@ -66,40 +74,51 @@ ramfont.o: ramfont.asm
$(AS) ramfont.asm -o ramfont.o
kimLife.bin: kimLife.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t kim1 -C kim1-60k.cfg -Oi -o kimLife.bin kimLife.c
kimTest.bin: kimTest.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t kim1 -C kim1-60k.cfg -Oi -o kimTest.bin kimTest.c
kimGFX.bin: kimGFX.c subs.o ramfont.o
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t kim1 --listing kimGFX.lst -C kim1-mtuE000.cfg -o kimGFX.bin kimGFX.c subs.o ramfont.o -Ln kimgfx.lbl
kimSieve.bin: kimSieve.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t kim1 -C kim1-60k.cfg -O -o kimSieve.bin kimSieve.c
kimHello.bin: kimHello.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t kim1 -O -o kimHello.bin kimHello.c
# To build an intel-format file for the CORSHAM SD card reader
kimLife.hex: kimLife.bin
$(if $(QUIET),echo $(SYS):$@)
srec_cat kimLife.bin -binary -offset 0x2000 -o kimLife.hex -Intel -address-length=2
kimTest.hex: kimTest.bin
$(if $(QUIET),echo $(SYS):$@)
srec_cat kimTest.bin -binary -offset 0x2000 -o kimTest.hex -Intel -address-length=2
kimGFX.hex: kimGFX.bin ramfont.o
$(if $(QUIET),echo $(SYS):$@)
srec_cat kimGFX.bin -binary -offset 0x2000 -o kimGFX.hex -Intel -address-length=2
# To build a paper tape file for uploading to the KIM-1 via terminal
kimLife.ptp: kimLife.bin
$(if $(QUIET),echo $(SYS):$@)
srec_cat kimLife.bin -binary -offset 0x2000 -o kimLife.ptp -MOS_Technologies
kimGFX.ptp: kimGFX.bin
$(if $(QUIET),echo $(SYS):$@)
srec_cat kimGFX.bin -binary -offset 0x2000 -o kimGFX.ptp -MOS_Technologies
kimTest.ptp: kimTest.bin
$(if $(QUIET),echo $(SYS):$@)
srec_cat kimTest.bin -binary -offset 0x2000 -o kimTest.ptp -MOS_Technologies
clean:

View File

@@ -35,6 +35,14 @@ else
LD := $(if $(wildcard ../../bin/ld65*),../../bin/ld65,ld65)
endif
ifeq ($(SILENT),s)
QUIET = 1
endif
ifdef QUIET
.SILENT:
endif
EXELIST_lynx = \
hello.lnx \
mandelbrot.lnx \
@@ -59,6 +67,7 @@ endif
.SUFFIXES: .c .lnx
%.lnx : %.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t $(SYS) -Oris -m $*.map -o $@ $<
clean:

View File

@@ -37,6 +37,14 @@ else
LD := $(if $(wildcard ../../bin/ld65*),../../bin/ld65,ld65)
endif
ifeq ($(SILENT),s)
QUIET = 1
endif
ifdef QUIET
.SILENT:
endif
EXELIST_sim6502 = \
cpumode_example.bin \
timer_example.bin \
@@ -61,6 +69,7 @@ endif
.SUFFIXES: .c .bin
%.bin : %.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t $(SYS) -Oris -m $*.map -o $@ $<
clean:

View File

@@ -39,6 +39,14 @@ else
SP := $(if $(wildcard ../../bin/sp65*),../../bin/sp65,sp65)
endif
ifeq ($(SILENT),s)
QUIET = 1
endif
ifdef QUIET
.SILENT:
endif
EXELIST_supervision = \
hello
@@ -58,6 +66,7 @@ else
endif
hello: hello.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t $(SYS) -O -o hello -m hello.map hello.c
clean:

View File

@@ -37,6 +37,14 @@ else
LD := $(if $(wildcard ../../bin/ld65*),../../bin/ld65,ld65)
endif
ifeq ($(SILENT),s)
QUIET = 1
endif
ifdef QUIET
.SILENT:
endif
EXELIST_sym1 = \
symHello.bin symTiny.bin symDisplay.bin symIO.bin symNotepad.bin symExtendedMemory.bin
@@ -56,21 +64,27 @@ else
endif
symHello.bin: symHello.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t sym1 -O -o symHello.bin symHello.c
symTiny.bin: symTiny.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t sym1 -O -o symTiny.bin symTiny.c
symDisplay.bin: symDisplay.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t sym1 -O -o symDisplay.bin symDisplay.c
symIO.bin: symIO.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t sym1 -C sym1-32k.cfg -O -o symIO.bin symIO.c
symNotepad.bin: symNotepad.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t sym1 -C sym1-32k.cfg -O -o symNotepad.bin symNotepad.c
symExtendedMemory.bin: symExtendedMemory.c
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t sym1 -C sym1-32k.cfg -O -o symExtendedMemory.bin symExtendedMemory.c

View File

@@ -37,6 +37,14 @@ else
LD := $(if $(wildcard ../../bin/ld65*),../../bin/ld65,ld65)
endif
ifeq ($(SILENT),s)
QUIET = 1
endif
ifdef QUIET
.SILENT:
endif
EXELIST_atari2600 = \
notavailable
@@ -86,9 +94,12 @@ ifndef EXELIST_$(SYS)
EXELIST_$(SYS) := ${patsubst %.c,%,$(wildcard *.c)}
endif
all: samples
samples: $(EXELIST_$(SYS))
hello: hello.c text.s
$(if $(QUIET),echo $(SYS):$@)
$(CL) -t $(SYS) -o hello hello.c text.s
# empty target used to skip systems that will not work with any program in this dir