|
|
1.1 root 1: # Makefile to build the Atari test program and other required files
2: # for the TOS tester and to run it with minimal or fairly full
3: # set of options.
4:
5: # default target is 'test', everything else gets build as its deps
6: all: test
7:
8: # targets without corresponding file
9: .PHONY: clean test test-all
10:
11:
12: # tos/ subdir should be either symlink to where you have your TOS
13: # images, or real directory with symlinks to TOS images you want
14: # to test with this. Or TOSDIR variable needs to point where they are:
15: # TOSDIR=/path/to/toses/ make
16:
17: TOSDIR ?= tos
18:
19: # TOSDIR should contain at least this!
20: BUILD_TOS = $(TOSDIR)/etos512k.img
21:
22: # Hatari machine config for AHCC build
23: BUILD_CONFIG = -m --machine tt --tos $(BUILD_TOS)
24:
25: # where the code & test programs are
26: DIR = disk
27:
28: # AHCC related files expected for building by disk/ahcc-* hconsole scripts
29: AHCC_FILES = $(DIR)/ahcc_p.ttp $(DIR)/include $(DIR)/lib
30:
31:
32: GEMDOS_TEST = $(DIR)/GEMDOS.PRG
33: GEMDOS_SCRIPT = $(DIR)/ahcc-gemdos
34: GEMDOS_DEP = $(DIR)/gemdos.c $(DIR)/common.c $(DIR)/gemdos.prj $(AHCC_FILES) $(BUILD_TOS)
35:
36: # build the full GEMDOS emu tester.
37: # requires:
38: # - EmuTOS, AHCC and installed Hatari
39: # before running make:
40: # - symlink etos512k.img and ahcc_p.ttp + its include & lib dirs
41: # under $(DIR)/ subdir
42: $(GEMDOS_TEST): $(GEMDOS_DEP)
43: $(RM) $(DIR)/*.O $(DIR)/*.MAP $(DIR)/*.tmp
44: ../../tools/hconsole/hconsole.py $(GEMDOS_SCRIPT) -- $(BUILD_CONFIG) $(DIR)
45: [ -f $(DIR)/GEMDOS.O ] && [ \! -f $(DIR)/ldfile.tmp ] # verify compiling & linking succeeded
46:
47:
48: MINIMAL_TEST = $(DIR)/MINIMAL.PRG
49: MINIMAL_SCRIPT = $(DIR)/ahcc-minimal
50: MINIMAL_DEP = $(DIR)/minimal.c $(DIR)/common.c $(DIR)/minimal.prj $(AHCC_FILES) $(BUILD_TOS)
51:
52: # build the minimal tester
53: $(MINIMAL_TEST): $(MINIMAL_DEP)
54: $(RM) $(DIR)/*.O $(DIR)/*.MAP $(DIR)/*.tmp
55: ../../tools/hconsole/hconsole.py $(MINIMAL_SCRIPT) -- $(BUILD_CONFIG) $(DIR)
56: [ -f $(DIR)/MINIMAL.O ] && [ \! -f $(DIR)/ldfile.tmp ] # verify compiling & linking succeeded
57:
58:
59: clean:
60: $(RM) $(DIR)/*.O $(DIR)/*.MAP $(DIR)/*.tmp
61:
62:
63: # create blank DD floppy image
64: blank-a.st.gz:
65: dd if=/dev/zero of=blank-a.st bs=1024 count=720
66: mformat -a -t 80 -h 2 -n 9 -i blank-a.st ::
67: gzip blank-a.st
68:
69:
70: # create 360KB (single side) test floppy that autoruns test program using *.INF file.
71: # requires:
72: # - mformat & mcopy from mtools
73: bootdesk.st.gz: $(MINIMAL_TEST) $(DIR)/TEXT floppy/*.INF
74: dd if=/dev/zero of=bootdesk.st bs=1024 count=360
75: mformat -a -t 80 -h 1 -n 9 -i bootdesk.st ::
76: MTOOLS_NO_VFAT=1 mcopy -i bootdesk.st -spmv $+ ::
77: $(RM) $@
78: gzip bootdesk.st
79:
80: # create 360KB (single side) test floppy that autoruns test program from auto/
81: # as very old TOS versions don't like the *.INF file autorun feature.
82: # requires:
83: # - mformat, mcopy & mmd from mtools
84: bootauto.st.gz: $(MINIMAL_TEST) $(DIR)/TEXT
85: dd if=/dev/zero of=bootauto.st bs=1024 count=360
86: mformat -a -t 80 -h 1 -n 9 -i bootauto.st ::
87: MTOOLS_NO_VFAT=1 mmd -i bootauto.st ::AUTO
88: MTOOLS_NO_VFAT=1 mcopy -i bootauto.st -pmv $(DIR)/TEXT ::
89: MTOOLS_NO_VFAT=1 mcopy -i bootauto.st -pmv $(MINIMAL_TEST) ::AUTO
90: $(RM) $@
91: gzip bootauto.st
92:
93:
94: # optional 16MB HD image for EmuTOS/ACSI testing without HD drivers
95: # converts floppy desktop infos for HD (A: -> C:)
96: hd.img: $(MINIMAL_TEST) $(DIR)/TEXT floppy/*.INF
97: mkdir tmp
98: cp -a $(MINIMAL_TEST) $(DIR)/TEXT tmp/
99: for i in floppy/*.INF; do sed -e 's/A:/C:/g' < $$i > tmp/$${i##*/}; done
100: ../../tools/atari-hd-image.sh 16 $@ LABEL tmp
101: $(RM) -r tmp
102:
103:
104: # requires:
105: # - Building of floppies & GEMDOS_TEST to have succeeded
106: # - Latest Hatari to be installed, or to run this with something like:
107: # PATH=../../build/src:$PATH make
108: test: blank-a.st.gz bootauto.st.gz bootdesk.st.gz $(GEMDOS_TEST)
109: ./tos_tester.py --disks floppy,gemdos --graphics mono --memsizes 4 --machines ste $(BUILD_TOS)
110:
111: # run all default tests
112: test-full: blank-a.st.gz bootauto.st.gz bootdesk.st.gz
113: ./tos_tester.py $(TOSDIR)/*.img
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.