1#
2# Makefile to run all tests for Vim, on Dos-like machines
3# with sh.exe or zsh.exe in the path or not.
4#
5# Author: Bill McCarthy
6#
7# Note that test54 has been removed until it is fixed.
8#
9# Requires a set of Unix tools: echo, diff, etc.
10
11ifneq (sh.exe, $(SHELL))
12DEL = rm -f
13MV = mv
14CP = cp
15DIRSLASH = /
16else
17DEL = del
18MV = rename
19CP = copy
20DIRSLASH = \\
21endif
22
23VIMPROG = ..$(DIRSLASH)vim
24
25# Omitted:
26# test2		"\\tmp" doesn't work.
27# test10	'errorformat' is different
28# test12	can't unlink a swap file
29# test25	uses symbolic link
30# test27	can't edit file with "*" in file name
31# test31	16 bit version runs out of memory...
32
33SCRIPTS16 =	test1.out test19.out test20.out test22.out \
34		test23.out test24.out test28.out test29.out \
35		test35.out test36.out test43.out \
36		test44.out test45.out test46.out test47.out \
37		test48.out test51.out test53.out            \
38		test55.out test56.out test57.out test58.out test59.out \
39		test60.out test61.out test62.out test63.out test64.out
40
41# Had to remove test54 which doesn't work yet.
42#		                                 test54.out
43
44SCRIPTS =	test3.out test4.out test5.out test6.out test7.out \
45		test8.out test9.out test11.out test13.out test14.out \
46		test15.out test17.out test18.out test21.out test26.out \
47		test30.out test31.out test32.out test33.out test34.out \
48		test37.out test38.out test39.out test40.out test41.out \
49		test42.out test52.out test65.out test66.out test67.out \
50		test68.out test69.out test71.out test72.out test72.out
51
52SCRIPTS32 =	test50.out test70.out
53
54SCRIPTS_GUI = test16.out
55
56.SUFFIXES: .in .out
57
58vimall:	fixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS_GUI) $(SCRIPTS32)
59	echo ALL DONE
60
61nongui:	fixff $(SCRIPTS16) $(SCRIPTS)
62	echo ALL DONE
63
64small:
65	echo ALL DONE
66
67gui:	fixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS_GUI)
68	echo ALL DONE
69
70win32:	fixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS32)
71	echo ALL DONE
72
73fixff:
74	-$(VIMPROG) -u dos.vim --noplugin "+argdo set ff=dos|upd" +q *.in *.ok
75
76clean:
77	-$(DEL) *.out
78	-$(DEL) test.ok
79	-$(DEL) small.vim
80	-$(DEL) tiny.vim
81	-$(DEL) mbyte.vim
82	-$(DEL) mzscheme.vim
83	-$(DEL) X*
84	-$(DEL) viminfo
85
86.in.out:
87	$(CP) $*.ok test.ok
88	$(VIMPROG) -u dos.vim -U NONE --noplugin -s dotest.in $*.in
89	diff test.out $*.ok
90	-$(DEL) $*.out
91	$(MV) test.out $*.out
92	-$(DEL) X*
93	-$(DEL) test.ok
94	-$(DEL) viminfo
95