mirror of
https://github.com/Wiimpathy/HatariWii.git
synced 2024-11-22 09:49:15 +01:00
114 lines
3.8 KiB
Makefile
114 lines
3.8 KiB
Makefile
# Makefile to build the Atari test program and other required files
|
|
# for the TOS tester and to run it with minimal or fairly full
|
|
# set of options.
|
|
|
|
# default target is 'test', everything else gets build as its deps
|
|
all: test
|
|
|
|
# targets without corresponding file
|
|
.PHONY: clean test test-all
|
|
|
|
|
|
# tos/ subdir should be either symlink to where you have your TOS
|
|
# images, or real directory with symlinks to TOS images you want
|
|
# to test with this. Or TOSDIR variable needs to point where they are:
|
|
# TOSDIR=/path/to/toses/ make
|
|
|
|
TOSDIR ?= tos
|
|
|
|
# TOSDIR should contain at least this!
|
|
BUILD_TOS = $(TOSDIR)/etos512k.img
|
|
|
|
# Hatari machine config for AHCC build
|
|
BUILD_CONFIG = -m --machine tt --tos $(BUILD_TOS)
|
|
|
|
# where the code & test programs are
|
|
DIR = disk
|
|
|
|
# AHCC related files expected for building by disk/ahcc-* hconsole scripts
|
|
AHCC_FILES = $(DIR)/ahcc_p.ttp $(DIR)/include $(DIR)/lib
|
|
|
|
|
|
GEMDOS_TEST = $(DIR)/GEMDOS.PRG
|
|
GEMDOS_SCRIPT = $(DIR)/ahcc-gemdos
|
|
GEMDOS_DEP = $(DIR)/gemdos.c $(DIR)/common.c $(DIR)/gemdos.prj $(AHCC_FILES) $(BUILD_TOS)
|
|
|
|
# build the full GEMDOS emu tester.
|
|
# requires:
|
|
# - EmuTOS, AHCC and installed Hatari
|
|
# before running make:
|
|
# - symlink etos512k.img and ahcc_p.ttp + its include & lib dirs
|
|
# under $(DIR)/ subdir
|
|
$(GEMDOS_TEST): $(GEMDOS_DEP)
|
|
$(RM) $(DIR)/*.O $(DIR)/*.MAP $(DIR)/*.tmp
|
|
../../tools/hconsole/hconsole.py $(GEMDOS_SCRIPT) -- $(BUILD_CONFIG) $(DIR)
|
|
[ -f $(DIR)/GEMDOS.O ] && [ \! -f $(DIR)/ldfile.tmp ] # verify compiling & linking succeeded
|
|
|
|
|
|
MINIMAL_TEST = $(DIR)/MINIMAL.PRG
|
|
MINIMAL_SCRIPT = $(DIR)/ahcc-minimal
|
|
MINIMAL_DEP = $(DIR)/minimal.c $(DIR)/common.c $(DIR)/minimal.prj $(AHCC_FILES) $(BUILD_TOS)
|
|
|
|
# build the minimal tester
|
|
$(MINIMAL_TEST): $(MINIMAL_DEP)
|
|
$(RM) $(DIR)/*.O $(DIR)/*.MAP $(DIR)/*.tmp
|
|
../../tools/hconsole/hconsole.py $(MINIMAL_SCRIPT) -- $(BUILD_CONFIG) $(DIR)
|
|
[ -f $(DIR)/MINIMAL.O ] && [ \! -f $(DIR)/ldfile.tmp ] # verify compiling & linking succeeded
|
|
|
|
|
|
clean:
|
|
$(RM) $(DIR)/*.O $(DIR)/*.MAP $(DIR)/*.tmp
|
|
|
|
|
|
# create blank DD floppy image
|
|
blank-a.st.gz:
|
|
dd if=/dev/zero of=blank-a.st bs=1024 count=720
|
|
mformat -a -t 80 -h 2 -n 9 -i blank-a.st ::
|
|
gzip blank-a.st
|
|
|
|
|
|
# create 360KB (single side) test floppy that autoruns test program using *.INF file.
|
|
# requires:
|
|
# - mformat & mcopy from mtools
|
|
bootdesk.st.gz: $(MINIMAL_TEST) $(DIR)/TEXT floppy/*.INF
|
|
dd if=/dev/zero of=bootdesk.st bs=1024 count=360
|
|
mformat -a -t 80 -h 1 -n 9 -i bootdesk.st ::
|
|
MTOOLS_NO_VFAT=1 mcopy -i bootdesk.st -spmv $+ ::
|
|
$(RM) $@
|
|
gzip bootdesk.st
|
|
|
|
# create 360KB (single side) test floppy that autoruns test program from auto/
|
|
# as very old TOS versions don't like the *.INF file autorun feature.
|
|
# requires:
|
|
# - mformat, mcopy & mmd from mtools
|
|
bootauto.st.gz: $(MINIMAL_TEST) $(DIR)/TEXT
|
|
dd if=/dev/zero of=bootauto.st bs=1024 count=360
|
|
mformat -a -t 80 -h 1 -n 9 -i bootauto.st ::
|
|
MTOOLS_NO_VFAT=1 mmd -i bootauto.st ::AUTO
|
|
MTOOLS_NO_VFAT=1 mcopy -i bootauto.st -pmv $(DIR)/TEXT ::
|
|
MTOOLS_NO_VFAT=1 mcopy -i bootauto.st -pmv $(MINIMAL_TEST) ::AUTO
|
|
$(RM) $@
|
|
gzip bootauto.st
|
|
|
|
|
|
# optional 16MB HD image for EmuTOS/ACSI testing without HD drivers
|
|
# converts floppy desktop infos for HD (A: -> C:)
|
|
hd.img: $(MINIMAL_TEST) $(DIR)/TEXT floppy/*.INF
|
|
mkdir tmp
|
|
cp -a $(MINIMAL_TEST) $(DIR)/TEXT tmp/
|
|
for i in floppy/*.INF; do sed -e 's/A:/C:/g' < $$i > tmp/$${i##*/}; done
|
|
../../tools/atari-hd-image.sh 16 $@ LABEL tmp
|
|
$(RM) -r tmp
|
|
|
|
|
|
# requires:
|
|
# - Building of floppies & GEMDOS_TEST to have succeeded
|
|
# - Latest Hatari to be installed, or to run this with something like:
|
|
# PATH=../../build/src:$PATH make
|
|
test: blank-a.st.gz bootauto.st.gz bootdesk.st.gz $(GEMDOS_TEST)
|
|
./tos_tester.py --disks floppy,gemdos --graphics mono --memsizes 4 --machines ste $(BUILD_TOS)
|
|
|
|
# run all default tests
|
|
test-full: blank-a.st.gz bootauto.st.gz bootdesk.st.gz
|
|
./tos_tester.py $(TOSDIR)/*.img
|