Moved the platform-test enumerations from Github Actions over to makefiles.

Now, we can run those tests locally, as well as on Github.
This commit is contained in:
Greg King 2022-02-06 04:21:53 -05:00 committed by greg-king5
parent ee345600b4
commit 9dd13d7047
4 changed files with 106 additions and 137 deletions

View File

@ -33,135 +33,9 @@ jobs:
shell: bash
run: make test QUIET=1
- name: Test that the samples can be built.
shell: bash
run: |
make SYS=apple2 -C samples
make SYS=apple2 -C samples clean
make SYS=apple2enh -C samples
make SYS=apple2enh -C samples clean
make SYS=atari -C samples
make SYS=atari -C samples clean
make SYS=atarixl -C samples
make SYS=atarixl -C samples clean
make SYS=atari2600 -C samples
make SYS=atari2600 -C samples clean
make SYS=atari5200 -C samples
make SYS=atari5200 -C samples clean
make SYS=atmos -C samples
make SYS=atmos -C samples clean
make SYS=bbc -C samples
make SYS=bbc -C samples clean
make SYS=c128 -C samples
make SYS=c128 -C samples clean
make SYS=c16 -C samples
make SYS=c16 -C samples clean
make SYS=c64 -C samples
make SYS=c64 -C samples clean
make SYS=cbm510 -C samples
make SYS=cbm510 -C samples clean
make SYS=cbm610 -C samples
make SYS=cbm610 -C samples clean
make SYS=creativision -C samples
make SYS=creativision -C samples clean
make SYS=cx16 -C samples
make SYS=cx16 -C samples clean
make SYS=gamate -C samples
make SYS=gamate -C samples clean
make SYS=geos-apple -C samples
make SYS=geos-apple -C samples clean
make SYS=geos-cbm -C samples
make SYS=geos-cbm -C samples clean
make SYS=lunix -C samples
make SYS=lunix -C samples clean
make SYS=lynx -C samples
make SYS=lynx -C samples clean
make SYS=nes -C samples
make SYS=nes -C samples clean
make SYS=osic1p -C samples
make SYS=osic1p -C samples clean
make SYS=pce -C samples
make SYS=pce -C samples clean
make SYS=pet -C samples
make SYS=pet -C samples clean
make SYS=plus4 -C samples
make SYS=plus4 -C samples clean
make SYS=sim6502 -C samples
make SYS=sim6502 -C samples clean
make SYS=sim65c02 -C samples
make SYS=sim65c02 -C samples clean
make SYS=supervision -C samples
make SYS=supervision -C samples clean
make SYS=sym1 -C samples
make SYS=sym1 -C samples clean
make SYS=telestrat -C samples
make SYS=telestrat -C samples clean
make SYS=vic20 -C samples
make SYS=vic20 -C samples clean
run: make -C samples platforms
- name: Test that the targettest programs can be built.
shell: bash
run: |
make SYS=apple2 -C targettest
make SYS=apple2 -C targettest clean
make SYS=apple2enh -C targettest
make SYS=apple2enh -C targettest clean
make SYS=atari -C targettest
make SYS=atari -C targettest clean
make SYS=atarixl -C targettest
make SYS=atarixl -C targettest clean
make SYS=atari2600 -C targettest
make SYS=atari2600 -C targettest clean
make SYS=atari5200 -C targettest
make SYS=atari5200 -C targettest clean
make SYS=atmos -C targettest
make SYS=atmos -C targettest clean
make SYS=bbc -C targettest
make SYS=bbc -C targettest clean
make SYS=c128 -C targettest
make SYS=c128 -C targettest clean
make SYS=c16 -C targettest
make SYS=c16 -C targettest clean
make SYS=c64 -C targettest
make SYS=c64 -C targettest clean
make SYS=cbm510 -C targettest
make SYS=cbm510 -C targettest clean
make SYS=cbm610 -C targettest
make SYS=cbm610 -C targettest clean
make SYS=creativision -C targettest
make SYS=creativision -C targettest clean
make SYS=cx16 -C targettest
make SYS=cx16 -C targettest clean
make SYS=gamate -C targettest
make SYS=gamate -C targettest clean
make SYS=geos-apple -C targettest
make SYS=geos-apple -C targettest clean
make SYS=geos-cbm -C targettest
make SYS=geos-cbm -C targettest clean
make SYS=lunix -C targettest
make SYS=lunix -C targettest clean
make SYS=lynx -C targettest
make SYS=lynx -C targettest clean
make SYS=nes -C targettest
make SYS=nes -C targettest clean
make SYS=osic1p -C targettest
make SYS=osic1p -C targettest clean
make SYS=pce -C targettest
make SYS=pce -C targettest clean
make SYS=pet -C targettest
make SYS=pet -C targettest clean
make SYS=plus4 -C targettest
make SYS=plus4 -C targettest clean
make SYS=sim6502 -C targettest
make SYS=sim6502 -C targettest clean
make SYS=sim65c02 -C targettest
make SYS=sim65c02 -C targettest clean
make SYS=supervision -C targettest
make SYS=supervision -C targettest clean
make SYS=sym1 -C targettest
make SYS=sym1 -C targettest clean
make SYS=telestrat -C targettest
make SYS=telestrat -C targettest clean
make SYS=vic20 -C targettest
make SYS=vic20 -C targettest clean
run: make -C targettest platforms
- name: Build the document files.
shell: bash
run: make -j2 doc

View File

@ -29,9 +29,8 @@ jobs:
run: msbuild src\cc65.sln -t:rebuild -property:Configuration=Release
build_linux:
name: Build, Test and Snaphot (Linux)
name: Build, Test, and Snapshot (Linux)
runs-on: ubuntu-latest
needs: build_windows
steps:
- name: Install Dependencies

View File

@ -129,7 +129,7 @@ LDFLAGS_tgidemo_atarixl = --start-addr 0x4000
# --------------------------------------------------------------------------
# Generic rules
.PHONY: all mostlyclean clean install zip samples disk
.PHONY: samples all mostlyclean clean install zip disk platforms
%: %.c
%: %.s
@ -340,7 +340,7 @@ endif
define SUBDIR_recipe
@$(MAKE) -C $(dir) --no-print-directory $@
@+$(MAKE) -C $(dir) --no-print-directory $@
endef # SUBDIR_recipe
@ -360,6 +360,54 @@ disk: $(DISK_$(SYS))
all:
# --------------------------------------------------------------------------
# List of every supported platform
TARGETS := \
apple2 \
apple2enh \
atari \
atarixl \
atari2600 \
atari5200 \
atmos \
bbc \
c128 \
c16 \
c64 \
cbm510 \
cbm610 \
creativision \
cx16 \
gamate \
geos-apple \
geos-cbm \
lunix \
lynx \
nes \
osic1p \
pce \
pet \
plus4 \
sim6502 \
sim65c02 \
supervision \
sym1 \
telestrat \
vic20
# --------------------------------------------------------------------------
# Rule to make the binaries for every platform
define TARGET_recipe
@$(MAKE) -j2 SYS:=$(T)
@$(MAKE) --no-print-directory clean SYS:=$(T)
endef # TARGET_recipe
platforms:
$(foreach T,$(TARGETS),$(TARGET_recipe))
# --------------------------------------------------------------------------
# Overlay rules. Overlays need special ld65 configuration files. Also, the
# overlay file-names are shortenned to fit the Atari's 8.3-character limit.

View File

@ -108,7 +108,7 @@ DISK_atarixl = testcode.atr
# --------------------------------------------------------------------------
# Generic rules
.PHONY: all mostlyclean clean zip testcode disk
.PHONY: testcode all mostlyclean clean zip disk platforms
%: %.c
%: %.s
@ -404,7 +404,7 @@ EXELIST_plus4 = \
strqtok-test \
uname-test
# omitted: seek clock-test mouse-test ser-test
# omitted: seek clock-test mouse-test ser-test
EXELIST_vic20 = \
minimal \
arg-test \
@ -616,7 +616,7 @@ EXELIST_nes = \
EXELIST_pce = \
minimal \
conio
# omitted: arg-test clock-test clock cpeek-test conio cprintf deb dir-test div-test
# em-test exec-test1 exec-test2 fileio-test ft getopt-test heaptest joy-test moddiv-test
# mouse-test posixio-test rename-test scanf-test seek ser-test strdup-test strnlen
@ -659,7 +659,7 @@ EXELIST_sim6502 = \
scanf-test \
strnlen \
strqtok-test
EXELIST_sim65c02 = $(EXELIST_sim6502)
@ -699,7 +699,7 @@ endif
define SUBDIR_recipe
@$(MAKE) -C $(dir) --no-print-directory $@
@+$(MAKE) -C $(dir) --no-print-directory $@
endef # SUBDIR_recipe
@ -719,6 +719,54 @@ disk: $(DISK_$(SYS))
all:
# --------------------------------------------------------------------------
# List of every supported platform
TARGETS := \
apple2 \
apple2enh \
atari \
atarixl \
atari2600 \
atari5200 \
atmos \
bbc \
c128 \
c16 \
c64 \
cbm510 \
cbm610 \
creativision \
cx16 \
gamate \
geos-apple \
geos-cbm \
lunix \
lynx \
nes \
osic1p \
pce \
pet \
plus4 \
sim6502 \
sim65c02 \
supervision \
sym1 \
telestrat \
vic20
# --------------------------------------------------------------------------
# Rule to make the binaries for every platform
define TARGET_recipe
@$(MAKE) -j2 SYS:=$(T)
@$(MAKE) --no-print-directory clean SYS:=$(T)
endef # TARGET_recipe
platforms:
$(foreach T,$(TARGETS),$(TARGET_recipe))
# --------------------------------------------------------------------------
# some programs link against getsp.o