DOS=dos
TEST_DEXE_PATH=./dexe
#TEST_DEXE_PATH=/var/lib/dosemu
PATH:=$(TEST_DEXE_PATH):$(PATH)
TEST_DEXE=keytest.dexe
TEST_SCAN_DEXE=keytest7-scan-freedos.dexe
TEST_NORM_DEXE=keytest7-normal-freedos.dexe
TEST_EXT_DEXE=keytest7-extended-freedos.dexe
#TEST_SCAN_DEXE=keytest7-scan-drdos.dexe
#TEST_NORM_DEXE=keytest7-normal-drdos.dexe
#TEST_EXT_DEXE=keytest7-extended-drdos.dexe
SEND_OPTS=15000000 00000000
SEND_SCANCODES=./unix_programs/send_scancodes
DO_MTOOLS=./unix_programs/do_mtools
SCANCODES_ONCE=./test_data/scancodes-once

# charset values ibm latin latin1 latin2
# layout values finnish finnish-latin1 us uk de de-latin1 fr fr-latin1 dk dk-latin1 
#               keyb-no no-latin1
#               dvorak sg sg-latin1 sf sf-latin1 es es-latin1 be po it sw hu hu-cw hu-latin2 
#               jp106 pl hr-cp82 cz-querty cz-qwertz hr-latin2 keyb-user

us_cp437_DOS_OPTS=-I 'charset ibm'
de_cp437_DOS_OPTS=-I 'charset ibm keyboard { layout de } '
de_cp850_DOS_OPTS=-I 'charset latin1 keyboard { layout de } '

RESULTS=us_cp437 de_cp437 de_cp850

test : $(RESULTS)
	diff -uNr results-compare results

clean: 
	rm -f $(RESULTS)
	rm -f results/*
	cd unix_programs; make clean
	$(DO_MTOOLS) $(TEST_DEXE_PATH)/$(TEST_SCAN_DEXE) mdel w:scan.txt ; /bin/true
	$(DO_MTOOLS) $(TEST_DEXE_PATH)/$(TEST_NORM_DEXE) mdel w:normal.txt ; /bin/true
	$(DO_MTOOLS) $(TEST_DEXE_PATH)/$(TEST_EXT_DEXE) mdel w:extended.txt ; /bin/true


$(SEND_SCANCODES) : 
	cd unix_programs; make send_scancodes

$(RESULTS) : $(SEND_SCANCODES) $(SCANCOES_ONCE)
	$(DO_MTOOLS) $(TEST_DEXE_PATH)/$(TEST_SCAN_DEXE) mdel w:scan.txt ; /bin/true
	$(SEND_SCANCODES) $(SEND_OPTS) $(DOS) -L $(TEST_SCAN_DEXE) $($(@)_DOS_OPTS) < $(SCANCODES_ONCE)
	rm -f results/$@_scan.txt
	$(DO_MTOOLS) $(TEST_DEXE_PATH)/$(TEST_SCAN_DEXE) mcopy w:scan.txt results/$@_scan.txt
	$(DO_MTOOLS) $(TEST_DEXE_PATH)/$(TEST_NORM_DEXE) mdel w:normal.txt ; /bin/true
	$(SEND_SCANCODES) $(SEND_OPTS) $(DOS) -L $(TEST_NORM_DEXE) $($(@)_DOS_OPTS) < $(SCANCODES_ONCE)
	rm -f results/$@_normal.txt
	$(DO_MTOOLS) $(TEST_DEXE_PATH)/$(TEST_NORM_DEXE) mcopy w:normal.txt results/$@_normal.txt
	$(DO_MTOOLS) $(TEST_DEXE_PATH)/$(TEST_EXT_DEXE) mdel w:extended.txt ; /bin/true
	$(SEND_SCANCODES) $(SEND_OPTS) $(DOS) -L $(TEST_EXT_DEXE) $($(@)_DOS_OPTS) < $(SCANCODES_ONCE)
	rm -f results/$@_extended.txt
	$(DO_MTOOLS) $(TEST_DEXE_PATH)/$(TEST_EXT_DEXE) mcopy w:extended.txt results/$@_extended.txt
	touch $@



