Tell the user more explicitly what port needs to be installed to get the
[dragonfly.git] / contrib / gperf / tests / Makefile.in
1 # Makefile for gperf/tests
2
3 # Copyright (C) 1989, 1992, 1993, 1995, 1998 Free Software Foundation, Inc.
4 # written by Douglas C. Schmidt (schmidt@ics.uci.edu)
5 #
6 # This file is part of GNU GPERF.
7 #
8 # GNU GPERF is free software; you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 1, or (at your option)
11 # any later version.
12 #
13 # GNU GPERF is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 # GNU General Public License for more details.
17 #
18 # You should have received a copy of the GNU General Public License
19 # along with GNU GPERF; see the file COPYING.  If not, write to the Free
20 # Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111, USA.
21
22 #### Start of system configuration section. ####
23
24 # Directories used by "make":
25 srcdir = @srcdir@
26
27 # Programs used by "make":
28 # C compiler
29 CC = @CC@
30 CFLAGS = @CFLAGS@
31 CPP = @CPP@
32 # C++ compiler
33 CXX = @CXX@
34 CXXFLAGS = @CXXFLAGS@
35 CXXCPP = @CXXCPP@
36 # Other
37 MV = mv
38 LN = ln
39 RM = rm -f
40 @SET_MAKE@
41
42 #### End of system configuration section. ####
43
44 SHELL = /bin/sh
45
46 VPATH = $(srcdir)
47
48 GPERF = ../src/gperf
49
50 all :
51
52 install : all
53
54 installdirs :
55
56 uninstall :
57
58 check : check-link-c check-link-c++ check-c check-ada check-modula3 check-pascal check-test
59         @true
60
61 extracheck : @CHECK_LANG_SYNTAX@
62         @true
63
64 check-link-c: force
65         @echo "performing some tests of the perfect hash generator"
66         $(CC) -c $(CFLAGS) $(srcdir)/test.c
67         $(GPERF) -p -c -l -S1 -o $(srcdir)/c.gperf > cinset.c
68         $(CC) $(CFLAGS) -o cout cinset.c test.o
69
70 check-link-c++: force
71
72 check-c:
73         @echo "testing ANSI C reserved words, all items should be found in the set"
74         ./cout -v < $(srcdir)/c.gperf > c.out
75         diff $(srcdir)/c.exp c.out
76
77 check-ada:
78         $(GPERF) -k1,4,'$$' $(srcdir)/ada.gperf > adainset.c
79 # double '$$' is only there since make gets confused; program wants only 1 '$'
80         $(CC) $(CFLAGS) -o aout adainset.c test.o
81         @echo "testing Ada reserved words, all items should be found in the set"
82         ./aout -v < $(srcdir)/ada.gperf > ada-res.out
83         diff $(srcdir)/ada-res.exp ada-res.out
84         $(GPERF) -p -D -k1,'$$' -s 2 -o $(srcdir)/adadefs.gperf > preinset.c
85         $(CC) $(CFLAGS) -o preout preinset.c test.o
86         @echo "testing Ada predefined words, all items should be found in the set"
87         ./preout -v < $(srcdir)/adadefs.gperf > ada-pred.out
88         diff $(srcdir)/ada-pred.exp ada-pred.out
89
90 check-modula3:
91         $(GPERF) -k1,2,'$$' -o $(srcdir)/modula3.gperf > m3inset.c
92         $(CC) $(CFLAGS) -o m3out m3inset.c test.o
93         @echo "testing Modula3 reserved words, all items should be found in the set"
94         ./m3out -v < $(srcdir)/modula3.gperf > modula.out
95         diff $(srcdir)/modula.exp modula.out
96
97 check-pascal:
98         $(GPERF) -o -S2 -p < $(srcdir)/pascal.gperf > pinset.c
99         $(CC) $(CFLAGS) -o pout pinset.c test.o
100         @echo "testing Pascal reserved words, all items should be found in the set"
101         ./pout -v < $(srcdir)/pascal.gperf > pascal.out
102         diff $(srcdir)/pascal.exp pascal.out
103
104 # these next 5 are demos that show off the generated code
105 check-test:
106         $(GPERF) -p -j1 -g -o -t -N is_reserved_word -k1,3,'$$' < $(srcdir)/c-parse.gperf > test-1.out
107         diff $(srcdir)/test-1.exp test-1.out
108         $(GPERF) -n -k1-8 -l < $(srcdir)/modula2.gperf > test-2.out
109         diff $(srcdir)/test-2.exp test-2.out
110         $(GPERF) -p -j 1 -o -a -C -g -t -k1,4,$$ < $(srcdir)/gplus.gperf > test-3.out
111         diff $(srcdir)/test-3.exp test-3.out
112         $(GPERF) -D -p -t < $(srcdir)/c-parse.gperf > test-4.out
113         diff $(srcdir)/test-4.exp test-4.out
114         $(GPERF) -g -o -j1 -t -p -N is_reserved_word < $(srcdir)/gpc.gperf > test-5.out
115         diff $(srcdir)/test-5.exp test-5.out
116 # prints out the help message
117         -$(GPERF) -h > test-6.out 2>&1
118         diff $(srcdir)/test-6.exp test-6.out
119         @echo "only if, do, for, case, goto, else, while, and return should be found "
120         ./aout -v < $(srcdir)/c.gperf > test-7.out
121         diff $(srcdir)/test-7.exp test-7.out
122
123 # The following validates valid language syntax with different parameters.
124 # Works only with gcc and g++, and only on platforms where "gcc -ansi" is
125 # usable. (There are still platforms where gcc-2.8.0's fixincludes does not
126 # work well enough.)
127
128 VALIDATE = CC='$(CC)' CFLAGS='$(CFLAGS)' CXX='$(CXX)' CXXFLAGS='$(CXXFLAGS)' GPERF='$(GPERF)' ./validate
129
130 check-lang-syntax : force
131         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf
132         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -c
133         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -C
134         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -E
135         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -G
136         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -G -C
137         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -G -E
138         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -l
139         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -D
140         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -D -l
141         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -S 10
142         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -S 10 -c
143         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -S 10 -C
144         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -S 10 -E
145         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -S 10 -G
146         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -S 10 -l
147         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -S 10 -D
148         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -S 10 -D -l
149         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -S 1000
150         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -p
151         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -p -C
152         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -p -l
153         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -p -D
154         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -p -D -l
155         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -p -S 10
156         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -p -S 10 -C
157         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -p -S 10 -l
158         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -p -S 10 -D
159         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -p -S 10 -D -l
160         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -p -S 1000
161         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -K key_name
162         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -H hash_function_name
163         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest1.gperf -W word_list_name
164         sed -e 's,in_word_set,lookup_function_name,g' < jstest1.gperf > tmp-jstest1.gperf && \
165         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 tmp-jstest1.gperf -N lookup_function_name
166         sed -e 's,Perfect_Hash,class_name,g' < jstest1.gperf > tmp-jstest1.gperf && \
167         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 tmp-jstest1.gperf -Z class_name
168         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest2.gperf -t -p
169         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest2.gperf -t -p -c
170         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest2.gperf -t -p -C
171         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest2.gperf -t -p -E
172         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest2.gperf -t -p -G
173         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest2.gperf -t -p -G -C
174         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest2.gperf -t -p -G -E
175         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest2.gperf -t -p -l
176         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest2.gperf -t -p -D
177         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest2.gperf -t -p -D -l
178         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest2.gperf -t -p -S 10
179         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest2.gperf -t -p -S 10 -c
180         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest2.gperf -t -p -S 10 -C
181         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest2.gperf -t -p -S 10 -E
182         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest2.gperf -t -p -S 10 -G
183         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest2.gperf -t -p -S 10 -l
184         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest2.gperf -t -p -S 10 -D
185         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest2.gperf -t -p -S 10 -D -l
186         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest2.gperf -t -p -S 1000
187         sed -e 's,name,key_name,g' < jstest2.gperf > tmp-jstest2.gperf && \
188         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 tmp-jstest2.gperf -t -p -K key_name
189         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 jstest2.gperf -t -p -H hash_function_name
190         sed -e 's,in_word_set,lookup_function_name,g' < jstest2.gperf > tmp-jstest2.gperf && \
191         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 tmp-jstest2.gperf -t -p -N lookup_function_name
192         sed -e 's,Perfect_Hash,class_name,g' < jstest2.gperf > tmp-jstest2.gperf && \
193         $(VALIDATE) KR-C,C,ANSI-C,C++ -k1,2 tmp-jstest2.gperf -t -p -Z class_name
194         $(VALIDATE) C,ANSI-C,C++ -k1,2 jstest3.gperf -t -p
195         $(VALIDATE) C,ANSI-C,C++ -k1,2 jstest3.gperf -t -p -c
196         $(VALIDATE) C,ANSI-C,C++ -k1,2 jstest3.gperf -t -p -C
197         $(VALIDATE) C,ANSI-C,C++ -k1,2 jstest3.gperf -t -p -E
198         $(VALIDATE) C,ANSI-C,C++ -k1,2 jstest3.gperf -t -p -G
199         $(VALIDATE) C,ANSI-C,C++ -k1,2 jstest3.gperf -t -p -G -C
200         $(VALIDATE) C,ANSI-C,C++ -k1,2 jstest3.gperf -t -p -G -E
201         $(VALIDATE) C,ANSI-C,C++ -k1,2 jstest3.gperf -t -p -l
202         $(VALIDATE) C,ANSI-C,C++ -k1,2 jstest3.gperf -t -p -D
203         $(VALIDATE) C,ANSI-C,C++ -k1,2 jstest3.gperf -t -p -D -l
204         $(VALIDATE) C,ANSI-C,C++ -k1,2 jstest3.gperf -t -p -S 10
205         $(VALIDATE) C,ANSI-C,C++ -k1,2 jstest3.gperf -t -p -S 10 -c
206         $(VALIDATE) C,ANSI-C,C++ -k1,2 jstest3.gperf -t -p -S 10 -C
207         $(VALIDATE) C,ANSI-C,C++ -k1,2 jstest3.gperf -t -p -S 10 -E
208         $(VALIDATE) C,ANSI-C,C++ -k1,2 jstest3.gperf -t -p -S 10 -G
209         $(VALIDATE) C,ANSI-C,C++ -k1,2 jstest3.gperf -t -p -S 10 -l
210         $(VALIDATE) C,ANSI-C,C++ -k1,2 jstest3.gperf -t -p -S 10 -D
211         $(VALIDATE) C,ANSI-C,C++ -k1,2 jstest3.gperf -t -p -S 10 -D -l
212         $(VALIDATE) C,ANSI-C,C++ -k1,2 jstest3.gperf -t -p -S 1000
213         sed -e 's,name,key_name,g' < jstest3.gperf > tmp-jstest3.gperf && \
214         $(VALIDATE) C,ANSI-C,C++ -k1,2 tmp-jstest3.gperf -t -p -K key_name
215         $(VALIDATE) C,ANSI-C,C++ -k1,2 jstest3.gperf -t -p -H hash_function_name
216         sed -e 's,in_word_set,lookup_function_name,g' < jstest3.gperf > tmp-jstest3.gperf && \
217         $(VALIDATE) C,ANSI-C,C++ -k1,2 tmp-jstest3.gperf -t -p -N lookup_function_name
218         sed -e 's,Perfect_Hash,class_name,g' < jstest3.gperf > tmp-jstest3.gperf && \
219         $(VALIDATE) C,ANSI-C,C++ -k1,2 tmp-jstest3.gperf -t -p -Z class_name
220
221 mostlyclean : clean
222
223 clean : force
224         $(RM) *.o core *inset.c output.* *.out aout cout m3out pout preout tmp-* valitest*
225
226 distclean : clean
227         $(RM) config.status config.log config.cache Makefile
228
229 maintainer-clean : distclean
230
231 force :
232