~vcs-imports/gawk/master

« back to all changes in this revision

Viewing changes to pc/Makefile.tst

  • Committer: Arnold D. Robbins
  • Date: 2010-07-16 10:09:56 UTC
  • Revision ID: git-v1:bc70de7b3302d5a81515b901cae376b8b51d2004
Tags: gawk-3.1.0
Move to gawk-3.1.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
# Makefile for GNU Awk test suite.
2
2
#
3
 
# Copyright (C) 1988-2000 the Free Software Foundation, Inc.
 
3
# Copyright (C) 1988-2001 the Free Software Foundation, Inc.
4
4
5
5
# This file is part of GAWK, the GNU implementation of the
6
6
# AWK Programming Language.
41
41
#    need: rm, tr, cmp (or diff, see above), cat, wc, and sh.  
42
42
#    You should also have a UNIX-compatible date program.
43
43
#
44
 
# 3. You will need a \tmp directory on the same drive as the test directory
45
 
#    for the poundba (called poundbang in the UNIX makefile) test.
46
 
#
47
44
# The makefile has only been tested with dmake 3.8 and DJGPP Make 3.74 or
48
45
# later.  After making all of these changes, typing "dmake bigtest extra"
49
46
# or "make bigtest extra" (with DJGPP Make) should run successfully.
50
47
 
51
 
# So far, most of the testing has been with Stewartson's sh 2.3 under 
52
 
# MS-DOS & OS/2.  That version of sh will sometimes send long 
53
 
# command-line arguments to programs using the @ notation.  You may need
54
 
# to disable this feature of sh for programs that you have which don't support
55
 
# that feature.  The DJGPP response file facility is incompatible with the
56
 
# one used by Stewartson's sh, so you will certainly need to disable it if you
57
 
# use DJGPP tools to run the tests.  For more information about the @ notation
58
 
# please refer to the sh documentation. 
59
 
60
 
# A beta of the Bash shell (compiled with djgpp) was tested for gawk-3.0.1,
61
 
# and worked very well with the djgpp-compiled gawk.  See README.pc for 
 
48
# The Bash shell (compiled with djgpp) works very well with the
 
49
# MSC & djgpp-compiled gawks.  It is currently the recommended shell to use
 
50
# for testing, along with DJGPP make.  See README.pc for 
62
51
# more information on OS/2 and DOS shells.
63
52
 
64
53
# You will almost certainly need to change some of the values (MACROS) 
65
54
# defined on the next few lines.  
66
55
 
67
 
# .USESHELL is used by dmake.
68
 
.USESHELL = yes
69
 
 
70
 
# Using EMXSHELL=/bin/sh with emx versions can exhaust lower mem.
71
 
# Lower mem can also be exhausted on some of the tests even with MSC gawk.
72
 
# The .SWAP setting forces (DOS-only) dmake to swap itself out.
73
 
.SWAP: childin fflush getlnhd tweakfld pipeio1 pipeio2 getlnbuf
74
 
 
75
56
# This won't work unless you have "sh" and set SHELL equal to it (Make 3.74
76
57
# or later which comes with DJGPP will work with SHELL=/bin/sh if you have
77
58
# sh.exe anywhere on your PATH).
80
61
 
81
62
# Point to gawk
82
63
AWK = ../gawk.exe
 
64
# Also point to gawk but for DOS commands needing backslashes.  We need
 
65
# the forward slash version too or 'arrayparam' fails.
 
66
AWK2 = '..\gawk.exe'
83
67
 
84
68
# Set your cmp command here (you can use most versions of diff instead of cmp
85
69
# if you don't want to convert the .ok files to the DOS CR/LF format).
100
84
#CMP = diff -c
101
85
#CMP = gcmp
102
86
 
103
 
# Set your "cp" and "mkdir" commands here.  Note: cp must take forward
104
 
# slashes.  Using "command -c" may work for MS-DOS with Stewartson's shell 
105
 
# (but not bash) if "command=noexpand switch export" is set in extend.lst.
106
 
# `true &&' is needed to force DJGPP Make to call the shell, or else the
107
 
# conversion of `command -c' won't work.
 
87
# Set your "cp" and "mkdir" commands here.  Note: DOS's copy must take forward
 
88
# slashes.
108
89
#CP = cp
109
 
CP = true && command -c copy
 
90
#CP = : && command -c copy
 
91
CP  = command.com /c copy
110
92
 
111
93
#MKDIR = mkdir
112
 
MKDIR = true && command -c mkdir
 
94
#MKDIR = gmkdir
 
95
#MKDIR = : && command -c mkdir
 
96
MKDIR  = command.com /c mkdir
113
97
 
114
98
# Set your unix-style date function here
 
99
#DATE = date
115
100
DATE = gdate
116
 
#DATE = date
117
101
 
118
102
# ============================================================================
119
103
# You shouldn't need to modify anything below this line.
121
105
 
122
106
srcdir = .
123
107
 
124
 
bigtest:        basic unix-tests gawk.extensions
125
 
 
126
 
basic:  msg swaplns messages argarray longwrds \
127
 
        getline fstabplus compare arrayref rs fsrs rand \
128
 
        fsbs negexp asgext anchgsub splitargv awkpath nfset reparse \
129
 
        convfmt arrayparm paramdup nonl defref nofmtch litoct resplit \
130
 
        rswhite prmarscl sclforin sclifin intprec childin noeffect \
131
 
        numsubstr pcntplus prmreuse math fldchg fldchgnf reindops \
132
 
        sprintfc backgsub tweakfld clsflnam mmap8k fnarray \
133
 
        dynlj substr eofsplit prt1eval gsubasgn prtoeval gsubtest splitwht \
134
 
        back89 tradanch nlfldsep splitvar intest nfldstr nors fnarydel \
135
 
        noparms funstack clobber delarprm prdupval nasty zeroflag \
136
 
        getnr2tm getnr2tb printf1 funsmnam fnamedat numindex subslash \
137
 
        opasnslf opasnidx arynocls getlnbuf arysubnm fnparydl
138
 
 
139
 
unix-tests: poundba   fflush getlnhd pipeio1 pipeio2 strftlng pid
140
 
 
141
 
gawk.extensions: fieldwdth ignrcase posix manyfiles igncfs argtest \
142
 
                badargs strftime gensub gnureops reint igncdym
143
 
# add this back for 3.1
144
 
# nondec
145
 
 
146
 
extra:  regtes  inftest
147
 
 
148
 
poundba::
149
 
# The need for "basename" has been removed for MS-DOS & OS/2 systems which
150
 
# lack it.
151
 
#       @cp $(AWK) /tmp/gawk && $(srcdir)/poundbang $(srcdir)/poundbang >_`basename $@`
152
 
        $(CP) $(AWK) /tmp/gawk.exe && $(srcdir)/poundbang $(srcdir)/poundbang >_$@
153
 
#       @rm -f /tmp/gawk
154
 
        rm -f /tmp/gawk.exe
155
 
#       $(CMP) $(srcdir)/poundbang.ok _`basename $@` && rm -f _`basename $@`
156
 
        $(CMP) $(srcdir)/poundbang.ok _$@ && rm -f _$@
 
108
bigtest:        basic unix-tests gawk-extensions
 
109
 
 
110
# message stuff is to make it a little easier to follow
 
111
check:  msg \
 
112
        basic-msg-start  basic           basic-msg-end \
 
113
        unix-msg-start   unix-tests      unix-msg-end \
 
114
        extend-msg-start gawk-extensions extend-msg-end
 
115
 
 
116
# try to keep these sorted
 
117
basic: addcomma anchgsub argarray arrayparm arrayref arynasty arynocls \
 
118
        arysubnm asgext awkpath back89 backgsub childin clobber clsflnam \
 
119
        compare convfmt datanonl defref delarprm dynlj eofsplit fldchg \
 
120
        fldchgnf fnamedat fnarray fnarydel fnaryscl fnasgnm fnparydl \
 
121
        fsbs fsrs fstabplus funsmnam funstack getline getlnbuf getnr2tb \
 
122
        getnr2tm gsubasgn gsubtest hsprint intest intprec leaddig litoct \
 
123
        longwrds math messages mmap8k nasty nasty2 negexp nfldstr nfset \
 
124
        nlfldsep nlinstr nlstrina noeffect nofmtch nonl noparms nors \
 
125
        numindex numsubstr octsub ofmt ofmtbig ofmts opasnidx opasnslf \
 
126
        paramdup paramtyp parseme pcntplus prdupval printf1 prmarscl \
 
127
        prmreuse prt1eval prtoeval psx96sub rand rebt8b1 rebt8b2 redfilnm \
 
128
        regeq reindops reparse resplit rs rsnul1nl rswhite sclforin \
 
129
        sclifin splitargv splitdef splitvar splitwht sprintfc strtod \
 
130
        subslash substr swaplns tradanch tweakfld zeroflag
 
131
 
 
132
unix-tests: fflush getlnhd pid pipeio1 pipeio2 poundba   strftlng
 
133
 
 
134
gawk-extensions: argtest badargs clos1way fieldwdth fsfwfs gensub \
 
135
        gnuops2 gnureops igncdym igncfs ignrcase lint manyfiles nondec \
 
136
        posix procinfs regx8bit reint shadow sort1 strftime
 
137
 
 
138
extra:  regtes  inftest inet
 
139
 
 
140
inet:   inetmesg inetechu inetecht inetdayu inetdayt
157
141
 
158
142
msg::
159
143
        @echo 'Any output from "cmp" is bad news, although some differences'
161
145
        @echo 'some systems may omit a leading zero and the floating point'
162
146
        @echo 'precision may lead to slightly different output in a few cases.'
163
147
 
 
148
basic-msg-start:
 
149
        @echo "======== Starting basic tests ========"
 
150
 
 
151
basic-msg-end:
 
152
        @echo "======== Done with basic tests ========"
 
153
 
 
154
unix-msg-start:
 
155
        @echo "======== Starting Unix tests ========"
 
156
 
 
157
unix-msg-end:
 
158
        @echo "======== Done with Unix tests ========"
 
159
 
 
160
extend-msg-start:
 
161
        @echo "======== Starting gawk extension tests ========"
 
162
 
 
163
extend-msg-end:
 
164
        @echo "======== Done with gawk extension tests ========"
 
165
 
 
166
# This test is a PITA because increasingly, /tmp is getting
 
167
# mounted noexec.  So, we'll test it.  Sigh.
 
168
poundba::
 
169
#       @cp $(AWK) /tmp/gawk
 
170
        @$(CP) $(AWK2) '\tmp\gawk.exe'
 
171
#       @if /tmp/gawk 'BEGIN { print "OK" }' | grep OK > /dev/null ; \
 
172
#       then \
 
173
#               $(srcdir)/poundbang.awk $(srcdir)/poundbang.awk >_`basename $@` ; \
 
174
#               $(CMP) $(srcdir)/poundbang.ok _`basename $@` && rm -f _`basename $@` && echo poundbang is ok ; \
 
175
#       else \
 
176
#               echo "*** /tmp is apparently mounted noexec, skipping poundbang test." ; \
 
177
#       fi
 
178
        @if /tmp/gawk 'BEGIN { print "OK" }' | grep OK > NUL ; \
 
179
        then \
 
180
                $(srcdir)/poundbang.awk $(srcdir)/poundbang.awk >_`basename $@` ; \
 
181
                $(CMP) $(srcdir)/poundbang.ok _`basename $@` && rm -f _`basename $@` && echo poundbang is ok ; \
 
182
        else \
 
183
                echo "*** /tmp is apparently mounted noexec, skipping poundbang test." ; \
 
184
        fi
 
185
#       @rm -f /tmp/gawk
 
186
        @rm -f /tmp/gawk.exe
 
187
 
164
188
swaplns::
165
189
        @echo 'If swaplns fails make sure that all of the .ok files have CR/LFs.'
 
190
        @echo 'Or, set CMP to use diff.'
166
191
        @$(AWK) -f $(srcdir)/swaplns.awk $(srcdir)/swaplns.in >_$@
167
 
        $(CMP) $(srcdir)/swaplns.ok _$@ && rm -f _$@
 
192
        -$(CMP) $(srcdir)/swaplns.ok _$@ && rm -f _$@
168
193
 
169
194
messages::
170
 
        @echo 'If messages fails, set sh to swap to disk only (in sh.rc).'
171
195
        @$(AWK) -f $(srcdir)/messages.awk >out2 2>out3
172
 
#       { $(CMP) $(srcdir)/out1.ok out1 && $(CMP) $(srcdir)/out2.ok out2 && \
173
 
#       $(CMP) $(srcdir)/out3.ok out3 && rm -f out1 out2 out3; } || \
174
 
#       { { test -d /dev/fd || test -d /proc/self/fd; } && \
175
 
#       echo IT IS OK THAT THIS TEST FAILED; }
176
 
        { $(CMP) $(srcdir)/out1.ok out1 && $(CMP) $(srcdir)/out2.ok out2 && \
177
 
        $(CMP) $(srcdir)/out3.ok out3; } || test -d /dev/fd
178
 
        rm -f out1 out2 out3
 
196
        -$(CMP) $(srcdir)/out1.ok out1 && $(CMP) $(srcdir)/out2.ok out2 && $(CMP) $(srcdir)/out3.ok out3 && rm -f out1 out2 out3
179
197
 
180
198
argarray::
181
199
        @case $(srcdir) in \
183
201
        *)      cp $(srcdir)/argarray.in . ;; \
184
202
        esac
185
203
        @TEST=test echo just a test | $(AWK) -f $(srcdir)/argarray.awk ./argarray.in - >_$@
186
 
        @echo 'If argarray fails, set try setting LFN=n in your environment'
187
 
        @echo "before running make.  If that still doesn't work, read the"
188
 
        @echo 'the comment in this makefile about setting CMP for information'
189
 
        @echo 'about what may be happenning.'
190
 
        $(CMP) $(srcdir)/argarray.ok _$@ && rm -f _$@
 
204
        -$(CMP) $(srcdir)/argarray.ok _$@ && rm -f _$@
191
205
 
192
206
fstabplus::
193
207
        @echo '1                2' | $(AWK) -f $(srcdir)/fstabplus.awk >_$@
194
 
        $(CMP) $(srcdir)/fstabplus.ok _$@ && rm -f _$@
 
208
        -$(CMP) $(srcdir)/fstabplus.ok _$@ && rm -f _$@
195
209
 
196
210
fsrs::
197
211
        @$(AWK) -f $(srcdir)/fsrs.awk $(srcdir)/fsrs.in >_$@
198
 
        $(CMP) $(srcdir)/fsrs.ok _$@ && rm -f _$@
 
212
        -$(CMP) $(srcdir)/fsrs.ok _$@ && rm -f _$@
199
213
 
200
214
igncfs::
201
215
        @$(AWK) -f $(srcdir)/igncfs.awk $(srcdir)/igncfs.in >_$@
202
 
        $(CMP) $(srcdir)/igncfs.ok _$@ && rm -f _$@
 
216
        -$(CMP) $(srcdir)/igncfs.ok _$@ && rm -f _$@
203
217
 
204
218
longwrds::
205
219
        @$(AWK) -f $(srcdir)/longwrds.awk $(srcdir)/manpage | (LC_ALL=C sort) >_$@
206
 
        $(CMP) $(srcdir)/longwrds.ok _$@ && rm -f _$@
 
220
        -$(CMP) $(srcdir)/longwrds.ok _$@ && rm -f _$@
207
221
 
208
222
fieldwdth::
209
223
        @echo '123456789' | $(AWK) -v FIELDWIDTHS="2 3 4" '{ print $$2}' >_$@
210
 
        $(CMP) $(srcdir)/fieldwdth.ok _$@ && rm -f _$@
 
224
        -$(CMP) $(srcdir)/fieldwdth.ok _$@ && rm -f _$@
211
225
 
212
226
ignrcase::
213
227
        @echo xYz | $(AWK) -v IGNORECASE=1 '{ sub(/y/, ""); print}' >_$@
214
 
        $(CMP) $(srcdir)/ignrcase.ok _$@ && rm -f _$@
 
228
        -$(CMP) $(srcdir)/ignrcase.ok _$@ && rm -f _$@
215
229
 
216
230
regtes::
217
231
        @echo 'Some of the output from regtest is very system specific, do not'
218
232
        @echo 'be distressed if your output differs from that distributed.'
219
233
        @echo 'Manual inspection is called for.'
 
234
#       AWK=`pwd`/$(AWK) $(srcdir)/regtest.awk
220
235
        AWK=`pwd`/$(AWK) CMP="$(CMP)" $(srcdir)/regtest
221
236
 
222
237
posix::
223
238
        @echo 'posix test may fail due to 1.500000e+000 not being equal to'
224
239
        @echo '1.500000e+00 for MSC gawk.'
225
240
        @echo '1:2,3 4' | $(AWK) -f $(srcdir)/posix.awk >_$@
226
 
#       $(CMP) $(srcdir)/posix.ok _$@ && rm -f _$@
227
241
        -$(CMP) $(srcdir)/posix.ok _$@ && rm -f _$@
228
242
 
229
243
manyfiles::
237
251
        @echo 'without quoting the "junk/*" argument.'
238
252
#       @echo "This number better be 1 ->" | tr -d '\012'
239
253
        @echo "This number better be 1 ->" | tr -d '\012\015'
240
 
#       @wc -l junk/* | $(AWK) '$$1 != 2' | wc -l
241
 
        @wc -l "junk/*" | $(AWK) '$$1 != 2' | wc -l
242
 
# The quotes above are for people with a "wc" that doesn't support sh's "@"
243
 
# argument passing.
 
254
        @wc -l junk/* | $(AWK) '$$1 != 2' | wc -l
 
255
#       @wc -l "junk/*" | $(AWK) '$$1 != 2' | wc -l
 
256
# The quotes above are for people with a "wc" that doesn't too long a command
 
257
# line.
244
258
        @rm -rf junk _$@
245
259
 
246
260
compare::
247
261
        @$(AWK) -f $(srcdir)/compare.awk 0 1 $(srcdir)/compare.in >_$@
248
 
        $(CMP) $(srcdir)/compare.ok _$@ && rm -f _$@
 
262
        -$(CMP) $(srcdir)/compare.ok _$@ && rm -f _$@
249
263
 
250
264
arrayref::
251
265
        @$(AWK) -f $(srcdir)/arrayref.awk >_$@
252
 
        $(CMP) $(srcdir)/arrayref.ok _$@ && rm -f _$@
 
266
        -$(CMP) $(srcdir)/arrayref.ok _$@ && rm -f _$@
253
267
 
254
268
rs::
255
269
        @$(AWK) -v RS="" '{ print $$1, $$2}' $(srcdir)/rs.in >_$@
256
 
        $(CMP) $(srcdir)/rs.ok _$@ && rm -f _$@
 
270
        -$(CMP) $(srcdir)/rs.ok _$@ && rm -f _$@
257
271
 
258
272
fsbs::
259
273
        @$(AWK) -v FS='\' '{ print $$1, $$2 }' $(srcdir)/fsbs.in >_$@
260
 
        $(CMP) $(srcdir)/fsbs.ok _$@ && rm -f _$@
 
274
        -$(CMP) $(srcdir)/fsbs.ok _$@ && rm -f _$@
261
275
 
262
276
inftest::
263
277
        @echo This test is very machine specific...
264
 
        @echo 'MSC 7.0 gawk generates a floating point exception.'
 
278
        @echo 'Both MSC 7.0 and 8.0 gawk generate a floating point exception.'
265
279
        @echo 'EMX gawk uses #INF rather than Inf.'
266
280
#       @$(AWK) -f $(srcdir)/inftest.awk >_$@
267
281
        @-$(AWK) -f $(srcdir)/inftest.awk >_$@
268
 
#       $(CMP) $(srcdir)/inftest.ok _$@ && rm -f _$@
269
282
        -$(CMP) $(srcdir)/inftest.ok _$@ && rm -f _$@
270
283
 
271
284
getline::
272
285
        @$(AWK) -f $(srcdir)/getline.awk $(srcdir)/getline.awk $(srcdir)/getline.awk >_$@
273
 
        $(CMP) $(srcdir)/getline.ok _$@ && rm -f _$@
 
286
        -$(CMP) $(srcdir)/getline.ok _$@ && rm -f _$@
274
287
 
275
288
rand::
276
289
        @$(AWK) -f $(srcdir)/rand.awk >_$@
277
 
        $(CMP) $(srcdir)/rand.ok _$@ && rm -f _$@
 
290
        -$(CMP) $(srcdir)/rand.ok _$@ && rm -f _$@
278
291
 
279
292
negexp::
280
293
        @$(AWK) 'BEGIN { a = -2; print 10^a }' >_$@
281
 
        $(CMP) $(srcdir)/negexp.ok _$@ && rm -f _$@
 
294
        -$(CMP) $(srcdir)/negexp.ok _$@ && rm -f _$@
282
295
 
283
296
asgext::
284
297
        @$(AWK) -f $(srcdir)/asgext.awk $(srcdir)/asgext.in >_$@
285
 
        $(CMP) $(srcdir)/asgext.ok _$@ && rm -f _$@
 
298
        -$(CMP) $(srcdir)/asgext.ok _$@ && rm -f _$@
286
299
 
287
300
anchgsub::
288
301
        @$(AWK) -f $(srcdir)/anchgsub.awk $(srcdir)/anchgsub.in >_$@
289
 
        $(CMP) $(srcdir)/anchgsub.ok _$@ && rm -f _$@
 
302
        -$(CMP) $(srcdir)/anchgsub.ok _$@ && rm -f _$@
290
303
 
291
304
splitargv::
292
305
        @$(AWK) -f $(srcdir)/splitargv.awk $(srcdir)/splitargv.in >_$@
293
 
        $(CMP) $(srcdir)/splitargv.ok _$@ && rm -f _$@
 
306
        -$(CMP) $(srcdir)/splitargv.ok _$@ && rm -f _$@
294
307
 
295
308
awkpath::
296
309
# MS-DOS and OS/2 use ; as a PATH delimiter
297
310
#       @AWKPATH="$(srcdir):$(srcdir)/lib" $(AWK) -f awkpath.awk >_$@
298
311
        @AWKPATH="$(srcdir);$(srcdir)/lib" $(AWK) -f awkpath.awk >_$@
299
 
        $(CMP) $(srcdir)/awkpath.ok _$@ && rm -f _$@
 
312
        -$(CMP) $(srcdir)/awkpath.ok _$@ && rm -f _$@
300
313
 
301
314
nfset::
302
315
        @$(AWK) -f $(srcdir)/nfset.awk $(srcdir)/nfset.in >_$@
303
 
        $(CMP) $(srcdir)/nfset.ok _$@ && rm -f _$@
 
316
        -$(CMP) $(srcdir)/nfset.ok _$@ && rm -f _$@
304
317
 
305
318
reparse::
306
319
        @$(AWK) -f $(srcdir)/reparse.awk $(srcdir)/reparse.in >_$@
307
 
        $(CMP) $(srcdir)/reparse.ok _$@ && rm -f _$@
 
320
        -$(CMP) $(srcdir)/reparse.ok _$@ && rm -f _$@
308
321
 
309
322
argtest::
310
323
        @$(AWK) -f $(srcdir)/argtest.awk -x -y abc >_$@
311
 
        $(CMP) $(srcdir)/argtest.ok _$@ && rm -f _$@
 
324
        -$(CMP) $(srcdir)/argtest.ok _$@ && rm -f _$@
312
325
 
313
326
badargs::
314
327
# For MS-DOS & OS/2, we use " rather than ' in the usage statement.
315
328
        @-$(AWK) -f 2>&1 | grep -v patchlevel >_$@
316
329
# Next line converts " to ' for $(CMP) to work with UNIX badargs.ok
317
330
        @cat _$@ | tr '\042' '\047' > _$@.2
318
 
#       $(CMP) $(srcdir)/badargs.ok _$@ && rm -f _$@
319
 
        $(CMP) $(srcdir)/badargs.ok _$@.2 && rm -f _$@ _$@.2
 
331
#       -$(CMP) $(srcdir)/badargs.ok _$@ && rm -f _$@
 
332
        -$(CMP) $(srcdir)/badargs.ok _$@.2 && rm -f _$@ _$@.2
320
333
 
321
334
convfmt::
322
335
        @$(AWK) -f $(srcdir)/convfmt.awk >_$@
323
 
        $(CMP) $(srcdir)/convfmt.ok _$@ && rm -f _$@
 
336
        -$(CMP) $(srcdir)/convfmt.ok _$@ && rm -f _$@
324
337
 
325
338
arrayparm::
326
339
        @-AWKPATH=$(srcdir) $(AWK) -f arrayparm.awk >_$@ 2>&1 || exit 0
327
 
        $(CMP) $(srcdir)/arrayparm.ok _$@ && rm -f _$@
 
340
        -$(CMP) $(srcdir)/arrayparm.ok _$@ && rm -f _$@
328
341
 
329
342
paramdup::
330
343
        @-AWKPATH=$(srcdir) $(AWK) -f paramdup.awk >_$@ 2>&1 || exit 0
331
 
        $(CMP) $(srcdir)/paramdup.ok _$@ && rm -f _$@
 
344
        -$(CMP) $(srcdir)/paramdup.ok _$@ && rm -f _$@
332
345
 
333
346
nonl::
334
347
#       @-AWKPATH=$(srcdir) $(AWK) --lint -f nonl.awk /dev/null >_$@ 2>&1
335
348
        @-AWKPATH=$(srcdir) $(AWK) --lint -f nonl.awk NUL >_$@ 2>&1
336
 
        $(CMP) $(srcdir)/nonl.ok _$@ && rm -f _$@
 
349
        -$(CMP) $(srcdir)/nonl.ok _$@ && rm -f _$@
337
350
 
338
351
defref::
339
352
        @-AWKPATH=$(srcdir) $(AWK) --lint -f defref.awk >_$@ 2>&1 || exit 0
340
 
        $(CMP) $(srcdir)/defref.ok _$@ && rm -f _$@
 
353
        -$(CMP) $(srcdir)/defref.ok _$@ && rm -f _$@
341
354
 
342
355
nofmtch::
343
356
        @-AWKPATH=$(srcdir) $(AWK) --lint -f nofmtch.awk >_$@ 2>&1
344
 
        $(CMP) $(srcdir)/nofmtch.ok _$@ && rm -f _$@
 
357
        -$(CMP) $(srcdir)/nofmtch.ok _$@ && rm -f _$@
345
358
 
346
359
strftime::
347
360
        : this test could fail on slow machines or on a second boundary,
348
361
        : so if it does, double check the actual results
 
362
        @echo 'It will also fail using DJGPP because DJGPP does not'
 
363
        @echo 'have a default timezone.'
349
364
#       @LC_ALL=C; export LC_ALL; LANG=C; export LANG; \
350
365
#       date | $(AWK) -v OUTPUT=_$@ -f $(srcdir)/strftime.awk
351
366
        @LC_ALL=C; export LC_ALL; LANG=C; export LANG; \
352
367
        $(DATE) | $(AWK) -v OUTPUT=_$@ -f $(srcdir)/strftime.awk
353
 
        $(CMP) strftime.ok _$@ && rm -f _$@ strftime.ok || exit 0
 
368
        -$(CMP) strftime.ok _$@ && rm -f _$@ strftime.ok || exit 0
354
369
 
355
370
litoct::
356
371
        @echo ab | $(AWK) --traditional -f $(srcdir)/litoct.awk >_$@
357
 
        $(CMP) $(srcdir)/litoct.ok _$@ && rm -f _$@
 
372
        -$(CMP) $(srcdir)/litoct.ok _$@ && rm -f _$@
358
373
 
359
374
gensub::
360
375
        @$(AWK) -f $(srcdir)/gensub.awk $(srcdir)/gensub.in >_$@
361
 
        $(CMP) $(srcdir)/gensub.ok _$@ && rm -f _$@
 
376
        -$(CMP) $(srcdir)/gensub.ok _$@ && rm -f _$@
362
377
 
363
378
resplit::
364
 
        @echo 'If resplit fails, check extend.lst and remove "unix" by the "gawk=" line'
365
379
        @echo a:b:c d:e:f | $(AWK) '{ FS = ":"; $$0 = $$0; print $$2 }' > _$@
366
 
        $(CMP) $(srcdir)/resplit.ok _$@ && rm -f _$@
 
380
        -$(CMP) $(srcdir)/resplit.ok _$@ && rm -f _$@
367
381
 
368
382
rswhite::
369
383
        @$(AWK) -f $(srcdir)/rswhite.awk $(srcdir)/rswhite.in > _$@
370
 
        $(CMP) $(srcdir)/rswhite.ok _$@ && rm -f _$@
 
384
        -$(CMP) $(srcdir)/rswhite.ok _$@ && rm -f _$@
371
385
 
372
386
prmarscl::
373
387
        @-AWKPATH=$(srcdir) $(AWK) -f prmarscl.awk > _$@ 2>&1 || exit 0
374
 
        $(CMP) $(srcdir)/prmarscl.ok _$@ && rm -f _$@
 
388
        -$(CMP) $(srcdir)/prmarscl.ok _$@ && rm -f _$@
375
389
 
376
390
sclforin::
377
391
        @-AWKPATH=$(srcdir) $(AWK) -f sclforin.awk > _$@ 2>&1 || exit 0
378
 
        $(CMP) $(srcdir)/sclforin.ok _$@ && rm -f _$@
 
392
        -$(CMP) $(srcdir)/sclforin.ok _$@ && rm -f _$@
379
393
 
380
394
sclifin::
381
395
        @-AWKPATH=$(srcdir) $(AWK) -f sclifin.awk > _$@ 2>&1 || exit 0
382
 
        $(CMP) $(srcdir)/sclifin.ok _$@ && rm -f _$@
 
396
        -$(CMP) $(srcdir)/sclifin.ok _$@ && rm -f _$@
383
397
 
384
398
intprec::
385
399
        @-$(AWK) -f $(srcdir)/intprec.awk > _$@ 2>&1
386
 
        $(CMP) $(srcdir)/intprec.ok _$@ && rm -f _$@
 
400
        -$(CMP) $(srcdir)/intprec.ok _$@ && rm -f _$@
387
401
 
388
402
childin::
389
403
        @echo hi | $(AWK) 'BEGIN { "cat" | getline; print; close("cat") }' > _$@
390
 
        $(CMP) $(srcdir)/childin.ok _$@ && rm -f _$@
 
404
        -$(CMP) $(srcdir)/childin.ok _$@ && rm -f _$@
391
405
 
392
406
noeffect::
393
407
        @-AWKPATH=$(srcdir) $(AWK) --lint -f noeffect.awk > _$@ 2>&1
394
 
        $(CMP) $(srcdir)/noeffect.ok _$@ && rm -f _$@
 
408
        -$(CMP) $(srcdir)/noeffect.ok _$@ && rm -f _$@
395
409
 
396
410
numsubstr::
397
411
        @-AWKPATH=$(srcdir) $(AWK) -f numsubstr.awk $(srcdir)/numsubstr.in >_$@
398
 
        $(CMP) $(srcdir)/numsubstr.ok _$@ && rm -f _$@
 
412
        -$(CMP) $(srcdir)/numsubstr.ok _$@ && rm -f _$@
399
413
 
400
414
gnureops::
401
415
        @$(AWK) -f $(srcdir)/gnureops.awk >_$@
402
 
        $(CMP) $(srcdir)/gnureops.ok _$@ && rm -f _$@
 
416
        -$(CMP) $(srcdir)/gnureops.ok _$@ && rm -f _$@
403
417
 
404
418
pcntplus::
405
419
        @$(AWK) -f $(srcdir)/pcntplus.awk >_$@
406
 
        $(CMP) $(srcdir)/pcntplus.ok _$@ && rm -f _$@
 
420
        -$(CMP) $(srcdir)/pcntplus.ok _$@ && rm -f _$@
407
421
 
408
422
prmreuse::
409
423
        @$(AWK) -f $(srcdir)/prmreuse.awk >_$@
410
 
        $(CMP) $(srcdir)/prmreuse.ok _$@ && rm -f _$@
 
424
        -$(CMP) $(srcdir)/prmreuse.ok _$@ && rm -f _$@
411
425
 
412
426
math::
413
427
        @$(AWK) -f $(srcdir)/math.awk >_$@
414
 
        $(CMP) $(srcdir)/math.ok _$@ && rm -f _$@
 
428
        -$(CMP) $(srcdir)/math.ok _$@ && rm -f _$@
415
429
 
416
430
fflush::
417
431
        @$(srcdir)/fflush.sh >_$@
418
 
        $(CMP) $(srcdir)/fflush.ok _$@ && rm -f _$@
 
432
        -$(CMP) $(srcdir)/fflush.ok _$@ && rm -f _$@
419
433
 
420
434
fldchg::
421
435
        @$(AWK) -f $(srcdir)/fldchg.awk $(srcdir)/fldchg.in >_$@
422
 
        $(CMP) $(srcdir)/fldchg.ok _$@ && rm -f _$@
 
436
        -$(CMP) $(srcdir)/fldchg.ok _$@ && rm -f _$@
423
437
 
424
438
fldchgnf::
425
439
        @$(AWK) -f $(srcdir)/fldchgnf.awk $(srcdir)/fldchgnf.in >_$@
426
 
        $(CMP) $(srcdir)/fldchgnf.ok _$@ && rm -f _$@
 
440
        -$(CMP) $(srcdir)/fldchgnf.ok _$@ && rm -f _$@
427
441
 
428
442
reindops::
429
443
        @$(AWK) -f $(srcdir)/reindops.awk $(srcdir)/reindops.in >_$@
430
 
        $(CMP) $(srcdir)/reindops.ok _$@ && rm -f _$@
 
444
        -$(CMP) $(srcdir)/reindops.ok _$@ && rm -f _$@
431
445
 
432
446
sprintfc::
433
447
        @$(AWK) -f $(srcdir)/sprintfc.awk $(srcdir)/sprintfc.in >_$@
434
 
        $(CMP) $(srcdir)/sprintfc.ok _$@ && rm -f _$@
 
448
        -$(CMP) $(srcdir)/sprintfc.ok _$@ && rm -f _$@
435
449
 
436
450
getlnhd::
437
 
        @echo 'Getlnhd is set to ignore errors.  However, there should not be any.'
438
 
        @echo 'If getlnhd fails, set sh to swap to disk only (in sh.rc).'
439
 
        @echo 'If it still hangs with EMX gawk type ^C, then try the test when'
440
 
        @echo 'not using DPMI and RSX (in particular, run outside MS-Windows).'
441
 
        @echo 'If it fails with MSC, run make from the test directory.'
442
451
# In 3.0.3, COMSPEC=$(SHELL) was used for MSC and MINGW32 which do
443
452
# not honor SHELL.
444
453
#       COMSPEC=$(SHELL) $(AWK) -f $(srcdir)/getlnhd.awk >_$@
447
456
 
448
457
backgsub::
449
458
        @$(AWK) -f $(srcdir)/backgsub.awk $(srcdir)/backgsub.in >_$@
450
 
        $(CMP) $(srcdir)/backgsub.ok _$@ && rm -f _$@
 
459
        -$(CMP) $(srcdir)/backgsub.ok _$@ && rm -f _$@
451
460
 
452
461
tweakfld::
453
462
        @$(AWK) -f $(srcdir)/tweakfld.awk $(srcdir)/tweakfld.in >_$@
454
463
        @rm -f errors.cleanup
455
 
        $(CMP) $(srcdir)/tweakfld.ok _$@ && rm -f _$@
 
464
        -$(CMP) $(srcdir)/tweakfld.ok _$@ && rm -f _$@
456
465
 
457
466
clsflnam::
458
 
        @$(AWK) -f $(srcdir)/clsflnam.awk $(srcdir)/clsflnam.in >_$@
459
 
        $(CMP) $(srcdir)/clsflnam.ok _$@ && rm -f _$@
 
467
        @$(AWK) -f $(srcdir)/clsflnam.awk $(srcdir)/clsflnam.in >_$@ 2>&1
 
468
        -$(CMP) $(srcdir)/clsflnam.ok _$@ && rm -f _$@
460
469
 
461
470
mmap8k::
462
471
        @echo 'If mmap8k fails make sure that mmap8k.in has CR/LFs.'
463
472
        @$(AWK) '{ print }' $(srcdir)/mmap8k.in >_$@
464
 
        $(CMP) $(srcdir)/mmap8k.in _$@ && rm -f _$@
 
473
        -$(CMP) $(srcdir)/mmap8k.in _$@ && rm -f _$@
465
474
 
466
475
fnarray::
467
476
        @-AWKPATH=$(srcdir) $(AWK) -f fnarray.awk >_$@ 2>&1 || exit 0
468
 
        $(CMP) $(srcdir)/fnarray.ok _$@ && rm -f _$@
 
477
        -$(CMP) $(srcdir)/fnarray.ok _$@ && rm -f _$@
469
478
 
470
479
dynlj::
471
480
        @$(AWK) -f $(srcdir)/dynlj.awk >_$@
472
 
        $(CMP) $(srcdir)/dynlj.ok _$@ && rm -f _$@
 
481
        -$(CMP) $(srcdir)/dynlj.ok _$@ && rm -f _$@
473
482
 
474
483
substr::
475
484
        @$(AWK) -f $(srcdir)/substr.awk >_$@
476
 
        $(CMP) $(srcdir)/substr.ok _$@ && rm -f _$@
 
485
        -$(CMP) $(srcdir)/substr.ok _$@ && rm -f _$@
477
486
 
478
487
eofsplit::
479
488
        @$(AWK) -f $(srcdir)/eofsplit.awk >_$@
480
 
        $(CMP) $(srcdir)/eofsplit.ok _$@ && rm -f _$@
 
489
        -$(CMP) $(srcdir)/eofsplit.ok _$@ && rm -f _$@
481
490
 
482
491
prt1eval::
483
492
        @$(AWK) -f $(srcdir)/prt1eval.awk >_$@
484
 
        $(CMP) $(srcdir)/prt1eval.ok _$@ && rm -f _$@
 
493
        -$(CMP) $(srcdir)/prt1eval.ok _$@ && rm -f _$@
485
494
 
486
495
gsubasgn::
487
496
        @-AWKPATH=$(srcdir) $(AWK) -f gsubasgn.awk >_$@ 2>&1 || exit 0
488
 
        $(CMP) $(srcdir)/gsubasgn.ok _$@ && rm -f _$@
 
497
        -$(CMP) $(srcdir)/gsubasgn.ok _$@ && rm -f _$@
489
498
 
490
499
prtoeval::
491
500
        @$(AWK) -f $(srcdir)/prtoeval.awk >_$@
492
 
        $(CMP) $(srcdir)/prtoeval.ok _$@ && rm -f _$@
 
501
        -$(CMP) $(srcdir)/prtoeval.ok _$@ && rm -f _$@
493
502
 
494
503
gsubtest::
495
504
        @$(AWK) -f $(srcdir)/gsubtest.awk >_$@
496
 
        $(CMP) $(srcdir)/gsubtest.ok _$@ && rm -f _$@
 
505
        -$(CMP) $(srcdir)/gsubtest.ok _$@ && rm -f _$@
497
506
 
498
507
splitwht::
499
508
        @$(AWK) -f $(srcdir)/splitwht.awk >_$@
500
 
        $(CMP) $(srcdir)/splitwht.ok _$@ && rm -f _$@
 
509
        -$(CMP) $(srcdir)/splitwht.ok _$@ && rm -f _$@
501
510
 
502
511
back89::
503
512
        @$(AWK) '/a\8b/' $(srcdir)/back89.in >_$@
504
 
        $(CMP) $(srcdir)/back89.ok _$@ && rm -f _$@
 
513
        -$(CMP) $(srcdir)/back89.ok _$@ && rm -f _$@
505
514
 
506
515
tradanch::
507
516
        @$(AWK) --traditional -f $(srcdir)/tradanch.awk $(srcdir)/tradanch.in >_$@
508
 
        $(CMP) $(srcdir)/tradanch.ok _$@ && rm -f _$@
 
517
        -$(CMP) $(srcdir)/tradanch.ok _$@ && rm -f _$@
509
518
 
510
519
nlfldsep::
511
520
        @$(AWK) -f $(srcdir)/nlfldsep.awk $(srcdir)/nlfldsep.in > _$@
512
 
        $(CMP) $(srcdir)/nlfldsep.ok _$@ && rm -f _$@
 
521
        -$(CMP) $(srcdir)/nlfldsep.ok _$@ && rm -f _$@
513
522
 
514
523
splitvar::
515
524
        @$(AWK) -f $(srcdir)/splitvar.awk $(srcdir)/splitvar.in >_$@
516
 
        $(CMP) $(srcdir)/splitvar.ok _$@ && rm -f _$@
 
525
        -$(CMP) $(srcdir)/splitvar.ok _$@ && rm -f _$@
517
526
 
518
527
intest::
519
528
        @$(AWK) -f $(srcdir)/intest.awk >_$@
520
 
        $(CMP) $(srcdir)/intest.ok _$@ && rm -f _$@
 
529
        -$(CMP) $(srcdir)/intest.ok _$@ && rm -f _$@
521
530
 
522
531
# AIX /bin/sh exec's the last command in a list, therefore issue a ":"
523
532
# command so that pid.sh is fork'ed as a child before being exec'ed.
535
544
        @if $(CMP) -s $(srcdir)/strftlng.ok _$@ ; then : ; else \
536
545
        env TZ=UTC0; $(AWK) -f $(srcdir)/strftlng.awk >_$@ ; \
537
546
        fi
538
 
        $(CMP) $(srcdir)/strftlng.ok _$@ && rm -f _$@
 
547
        -$(CMP) $(srcdir)/strftlng.ok _$@ && rm -f _$@
539
548
 
540
549
nfldstr::
541
550
        @echo | $(AWK) '$$1 == 0 { print "bug" }' > _$@
542
 
        $(CMP) $(srcdir)/nfldstr.ok _$@ && rm -f _$@
 
551
        -$(CMP) $(srcdir)/nfldstr.ok _$@ && rm -f _$@
543
552
 
544
553
nors::
545
554
#       @echo A B C D E | tr -d '\12' | $(AWK) '{ print $$NF }' - $(srcdir)/nors.in > _$@
546
555
        @echo A B C D E | tr -d '\15\12' | $(AWK) '{ print $$NF }' - $(srcdir)/nors.in > _$@
547
 
        $(CMP) $(srcdir)/nors.ok _$@ && rm -f _$@
 
556
        -$(CMP) $(srcdir)/nors.ok _$@ && rm -f _$@
548
557
 
549
558
fnarydel::
550
559
        @$(AWK) -f $(srcdir)/fnarydel.awk >_$@
551
 
        $(CMP) $(srcdir)/fnarydel.ok _$@ && rm -f _$@
 
560
        -$(CMP) $(srcdir)/fnarydel.ok _$@ && rm -f _$@
552
561
 
553
562
reint::
554
563
        @$(AWK) --re-interval -f $(srcdir)/reint.awk $(srcdir)/reint.in >_$@
555
 
        $(CMP) $(srcdir)/reint.ok _$@ && rm -f _$@
 
564
        -$(CMP) $(srcdir)/reint.ok _$@ && rm -f _$@
556
565
 
557
566
noparms::
558
567
        @-AWKPATH=$(srcdir) $(AWK) -f noparms.awk >_$@ 2>&1 || exit 0
559
 
        $(CMP) $(srcdir)/noparms.ok _$@ && rm -f _$@
 
568
        -$(CMP) $(srcdir)/noparms.ok _$@ && rm -f _$@
560
569
 
561
570
pipeio1::
562
 
        @echo 'Pipeio1 is set to ignore errors.  However, there should not be any.'
563
 
        @echo 'If pipeio1 fails, set sh to swap to disk only (in sh.rc).'
564
 
        @echo 'If it still hangs with EMX gawk type ^C, then try the test when'
565
 
        @echo 'not using DPMI and RSX (in particular, run outside MS-Windows).'
566
571
        @$(AWK) -f $(srcdir)/pipeio1.awk >_$@
567
572
        @rm -f test1 test2
568
573
        -$(CMP) $(srcdir)/pipeio1.ok _$@ && rm -f _$@
570
575
pipeio2::
571
576
# This would fail were it not for the "cat" line due to DOS's ECHO command.
572
577
        @echo 'pipeio may fail due to the way that your tr & echo work in DOS'
573
 
        @echo 'You may also need to set tr=noexpand switch if you use'
574
 
        @echo "Stewartson's sh."
575
578
        @$(AWK) -v SRCDIR=$(srcdir) -f $(srcdir)/pipeio2.awk >_$@
576
579
        @cat _$@ | $(AWK) '{ sub("ECHO is.*","",$$0); print $$0 } ' > _$@.2
577
 
#       $(CMP) $(srcdir)/pipeio2.ok _$@ && rm -f _$@
 
580
#       -$(CMP) $(srcdir)/pipeio2.ok _$@ && rm -f _$@
578
581
        -diff -w $(srcdir)/pipeio2.ok _$@.2 && rm -f _$@ _$@.2
579
582
 
580
583
funstack::
581
584
        @echo 'Expect funstack to fail with MSC DOS versions.'
582
585
#       @$(AWK) -f $(srcdir)/funstack.awk $(srcdir)/funstack.in >_$@
583
586
        @-$(AWK) -f $(srcdir)/funstack.awk $(srcdir)/funstack.in >_$@
584
 
#       $(CMP) $(srcdir)/funstack.ok _$@ && rm -f _$@
585
587
        -$(CMP) $(srcdir)/funstack.ok _$@ && rm -f _$@
586
588
 
587
589
clobber::
588
590
        @$(AWK) -f $(srcdir)/clobber.awk >_$@
589
 
        $(CMP) $(srcdir)/clobber.ok seq && $(CMP) $(srcdir)/clobber.ok _$@ && rm -f _$@
 
591
        -$(CMP) $(srcdir)/clobber.ok seq && $(CMP) $(srcdir)/clobber.ok _$@ && rm -f _$@
590
592
        @rm -f seq
591
593
 
592
594
delarprm::
593
595
        @$(AWK) -f $(srcdir)/delarprm.awk >_$@
594
 
        $(CMP) $(srcdir)/delarprm.ok _$@ && rm -f _$@
 
596
        -$(CMP) $(srcdir)/delarprm.ok _$@ && rm -f _$@
595
597
 
596
598
prdupval::
597
599
        @$(AWK) -f $(srcdir)/prdupval.awk $(srcdir)/prdupval.in >_$@
598
 
        $(CMP) $(srcdir)/prdupval.ok _$@ && rm -f _$@
 
600
        -$(CMP) $(srcdir)/prdupval.ok _$@ && rm -f _$@
599
601
 
600
602
nondec::
 
603
#       @if grep BITOP ../config.h | grep define > /dev/null; \
 
604
#       then \
 
605
#               $(AWK) -f $(srcdir)/nondec.awk >_$@; \
 
606
#       else \
 
607
#               cp $(srcdir)/nondec.ok _$@; \
 
608
#       fi
601
609
        @if grep BITOP ../config.h | grep define > /dev/null; \
602
610
        then \
603
611
                $(AWK) -f $(srcdir)/nondec.awk >_$@; \
604
612
        else \
605
 
                cp $(srcdir)/nondec.ok _$@; \
 
613
                $(CP) $(srcdir)\\nondec.ok _$@; \
606
614
        fi
607
 
        $(CMP) $(srcdir)/nondec.ok _$@ && rm -f _$@
 
615
        -$(CMP) $(srcdir)/nondec.ok _$@ && rm -f _$@
608
616
 
609
617
nasty::
610
618
        @$(AWK) -f $(srcdir)/nasty.awk >_$@
611
 
        $(CMP) $(srcdir)/nasty.ok _$@ && rm -f _$@
 
619
        -$(CMP) $(srcdir)/nasty.ok _$@ && rm -f _$@
 
620
 
 
621
nasty2::
 
622
        @$(AWK) -f $(srcdir)/nasty2.awk >_$@
 
623
        -$(CMP) $(srcdir)/nasty2.ok _$@ && rm -f _$@
612
624
 
613
625
zeroflag::
614
626
        @$(AWK) -f $(srcdir)/zeroflag.awk >_$@
615
 
        $(CMP) $(srcdir)/zeroflag.ok _$@ && rm -f _$@
 
627
        -$(CMP) $(srcdir)/zeroflag.ok _$@ && rm -f _$@
616
628
 
617
629
getnr2tm::
618
630
        @$(AWK) -f $(srcdir)/getnr2tm.awk $(srcdir)/getnr2tm.in >_$@
619
 
        $(CMP) $(srcdir)/getnr2tm.ok _$@ && rm -f _$@
 
631
        -$(CMP) $(srcdir)/getnr2tm.ok _$@ && rm -f _$@
620
632
 
621
633
getnr2tb::
622
634
        @$(AWK) -f $(srcdir)/getnr2tb.awk $(srcdir)/getnr2tb.in >_$@
623
 
        $(CMP) $(srcdir)/getnr2tb.ok _$@ && rm -f _$@
 
635
        -$(CMP) $(srcdir)/getnr2tb.ok _$@ && rm -f _$@
624
636
 
625
637
printf1::
626
638
        @$(AWK) -f $(srcdir)/printf1.awk >_$@
627
 
        $(CMP) $(srcdir)/printf1.ok _$@ && rm -f _$@
 
639
        -$(CMP) $(srcdir)/printf1.ok _$@ && rm -f _$@
628
640
 
629
641
funsmnam::
630
642
        @-AWKPATH=$(srcdir) $(AWK) -f funsmnam.awk >_$@ 2>&1 || exit 0
631
 
        $(CMP) $(srcdir)/funsmnam.ok _$@ && rm -f _$@
 
643
        -$(CMP) $(srcdir)/funsmnam.ok _$@ && rm -f _$@
632
644
 
633
645
fnamedat::
634
646
        @-AWKPATH=$(srcdir) $(AWK) -f fnamedat.awk < $(srcdir)/fnamedat.in >_$@ 2>&1 || exit 0
635
 
        $(CMP) $(srcdir)/fnamedat.ok _$@ && rm -f _$@
 
647
        -$(CMP) $(srcdir)/fnamedat.ok _$@ && rm -f _$@
636
648
 
637
649
numindex::
638
650
        @-AWKPATH=$(srcdir) $(AWK) -f numindex.awk < $(srcdir)/numindex.in >_$@ 2>&1 || exit 0
639
 
        $(CMP) $(srcdir)/numindex.ok _$@ && rm -f _$@
 
651
        -$(CMP) $(srcdir)/numindex.ok _$@ && rm -f _$@
640
652
 
641
653
subslash::
642
654
        @-AWKPATH=$(srcdir) $(AWK) -f subslash.awk >_$@ 2>&1 || exit 0
643
 
        $(CMP) $(srcdir)/subslash.ok _$@ && rm -f _$@
 
655
        -$(CMP) $(srcdir)/subslash.ok _$@ && rm -f _$@
644
656
 
645
657
opasnslf::
646
658
        @-AWKPATH=$(srcdir) $(AWK) -f opasnslf.awk >_$@ 2>&1 || exit 0
647
 
        $(CMP) $(srcdir)/opasnslf.ok _$@ && rm -f _$@
 
659
        -$(CMP) $(srcdir)/opasnslf.ok _$@ && rm -f _$@
648
660
 
649
661
opasnidx::
650
662
        @-AWKPATH=$(srcdir) $(AWK) -f opasnidx.awk >_$@ 2>&1 || exit 0
651
 
        $(CMP) $(srcdir)/opasnidx.ok _$@ && rm -f _$@
 
663
        -$(CMP) $(srcdir)/opasnidx.ok _$@ && rm -f _$@
652
664
 
653
665
arynocls::
654
666
        @-AWKPATH=$(srcdir) $(AWK) -v INPUT=$(srcdir)/arynocls.in -f arynocls.awk >_$@
655
 
        $(CMP) $(srcdir)/arynocls.ok _$@ && rm -f _$@
 
667
        -$(CMP) $(srcdir)/arynocls.ok _$@ && rm -f _$@
656
668
 
657
669
igncdym::
658
670
        @-AWKPATH=$(srcdir) $(AWK) -f igncdym.awk $(srcdir)/igncdym.in >_$@
659
 
        $(CMP) $(srcdir)/igncdym.ok _$@ && rm -f _$@
 
671
        -$(CMP) $(srcdir)/igncdym.ok _$@ && rm -f _$@
660
672
 
661
673
getlnbuf::
 
674
        @echo getlnbuf runs out of memory with MSC gawk.
662
675
        @-AWKPATH=$(srcdir) $(AWK) -f getlnbuf.awk $(srcdir)/getlnbuf.in > _$@
663
676
        @-AWKPATH=$(srcdir) $(AWK) -f gtlnbufv.awk $(srcdir)/getlnbuf.in > _2$@
664
 
        $(CMP) $(srcdir)/getlnbuf.ok _$@ && $(CMP) $(srcdir)/getlnbuf.ok _2$@ && rm -f _$@ _2$@
 
677
        -$(CMP) $(srcdir)/getlnbuf.ok _$@ && $(CMP) $(srcdir)/getlnbuf.ok _2$@ && rm -f _$@ _2$@
665
678
 
666
679
arysubnm::
667
680
        @-AWKPATH=$(srcdir) $(AWK) -f arysubnm.awk >_$@
668
 
        $(CMP) $(srcdir)/arysubnm.ok _$@ && rm -f _$@
 
681
        -$(CMP) $(srcdir)/arysubnm.ok _$@ && rm -f _$@
669
682
 
670
683
fnparydl::
671
684
        @-AWKPATH=$(srcdir) $(AWK) -f fnparydl.awk >_$@
672
 
        $(CMP) $(srcdir)/fnparydl.ok _$@ && rm -f _$@
 
685
        -$(CMP) $(srcdir)/fnparydl.ok _$@ && rm -f _$@
 
686
 
 
687
nlstrina::
 
688
        @-AWKPATH=$(srcdir) $(AWK) -f nlstrina.awk >_$@
 
689
        -$(CMP) $(srcdir)/nlstrina.ok _$@ && rm -f _$@
 
690
 
 
691
octsub::
 
692
        @-AWKPATH=$(srcdir) $(AWK) -f octsub.awk >_$@
 
693
        -$(CMP) $(srcdir)/octsub.ok _$@ && rm -f _$@
 
694
 
 
695
nlinstr::
 
696
        @$(AWK) -f $(srcdir)/nlinstr.awk $(srcdir)/nlinstr.in >_$@
 
697
        -$(CMP) $(srcdir)/nlinstr.ok _$@ && rm -f _$@
 
698
 
 
699
ofmt::
 
700
        @$(AWK) -f $(srcdir)/ofmt.awk $(srcdir)/ofmt.in >_$@
 
701
        -$(CMP) $(srcdir)/ofmt.ok _$@ && rm -f _$@
 
702
 
 
703
hsprint::
 
704
        @echo 'hsprint test may fail due to 1.27e+01 not being equal to'
 
705
        @echo '1.27e+001 (and similarly for other numbers) for MSC gawk.'
 
706
        @$(AWK) -f $(srcdir)/hsprint.awk >_$@
 
707
        -$(CMP) $(srcdir)/hsprint.ok _$@ && rm -f _$@
 
708
 
 
709
fsfwfs::
 
710
        @$(AWK) -f $(srcdir)/fsfwfs.awk $(srcdir)/fsfwfs.in >_$@
 
711
        -$(CMP) $(srcdir)/fsfwfs.ok _$@ && rm -f _$@
 
712
 
 
713
ofmts::
 
714
        @$(AWK) -f $(srcdir)/ofmts.awk $(srcdir)/ofmts.in >_$@
 
715
        -$(CMP) $(srcdir)/ofmts.ok _$@ && rm -f _$@
 
716
 
 
717
parseme::
 
718
        @-AWKPATH=$(srcdir) $(AWK) -f parseme.awk >_$@ 2>&1 || exit 0
 
719
        -$(CMP) $(srcdir)/parseme.ok _$@ && rm -f _$@
 
720
 
 
721
splitdef::
 
722
        @$(AWK) -f $(srcdir)/splitdef.awk >_$@
 
723
        -$(CMP) $(srcdir)/splitdef.ok _$@ && rm -f _$@
 
724
 
 
725
fnaryscl::
 
726
        @-AWKPATH=$(srcdir) $(AWK) -f fnaryscl.awk >_$@ 2>&1 || exit 0
 
727
        -$(CMP) $(srcdir)/fnaryscl.ok _$@ && rm -f _$@
 
728
 
 
729
fnasgnm::
 
730
        @-AWKPATH=$(srcdir) $(AWK) -f fnasgnm.awk < $(srcdir)/fnasgnm.in >_$@ 2>&1 || exit 0
 
731
        -$(CMP) $(srcdir)/fnasgnm.ok _$@ && rm -f _$@
 
732
 
 
733
lint::
 
734
        @-AWKPATH=$(srcdir) $(AWK) -f lint.awk > _$@ 2>&1
 
735
        -$(CMP) $(srcdir)/lint.ok _$@ && rm -f _$@
 
736
 
 
737
procinfs::
 
738
        @-$(AWK) -f $(srcdir)/procinfs.awk > _$@
 
739
        -$(CMP) $(srcdir)/procinfs.ok _$@ && rm -f _$@
 
740
 
 
741
sort1::
 
742
        @-$(AWK) -f $(srcdir)/sort1.awk > _$@
 
743
        -$(CMP) $(srcdir)/sort1.ok _$@ && rm -f _$@
 
744
 
 
745
ofmtbig::
 
746
        @$(AWK) -f $(srcdir)/ofmtbig.awk $(srcdir)/ofmtbig.in >_$@ 2>&1 || exit 0
 
747
        -$(CMP) $(srcdir)/ofmtbig.ok _$@ && rm -f _$@
 
748
 
 
749
inetmesg::
 
750
        @echo These tests only work if your system supports the services
 
751
        @echo "'discard'" at port 9 and "'daytimed" at port 13. Check your
 
752
        @echo file /etc/services and do "'netstat -a'".
 
753
 
 
754
inetechu::
 
755
        @echo inetechu fails with MSC and DJGPP because "|&" is not supported.
 
756
        @echo This test is for establishing UDP connections
 
757
#       @$(AWK) 'BEGIN {print "" |& "/inet/udp/0/127.0.0.1/9"}'
 
758
        @-$(AWK) 'BEGIN {print "" |& "/inet/udp/0/127.0.0.1/9"}'
 
759
 
 
760
inetecht::
 
761
        @echo inetecht fails with MSC and DJGPP because "|&" is not supported.
 
762
        @echo This test is for establishing TCP connections
 
763
#       @$(AWK) 'BEGIN {print "" |& "/inet/tcp/0/127.0.0.1/9"}'
 
764
        @-$(AWK) 'BEGIN {print "" |& "/inet/tcp/0/127.0.0.1/9"}'
 
765
 
 
766
inetdayu::
 
767
        @echo inetdayu fails with MSC and DJGPP because "|&" is not supported.
 
768
        @echo This test is for bidirectional UDP transmission
 
769
#       @$(AWK) 'BEGIN { print "" |& "/inet/udp/0/127.0.0.1/13"; \
 
770
#       "/inet/udp/0/127.0.0.1/13" |& getline; print $0}'
 
771
        @-$(AWK) 'BEGIN { print "" |& "/inet/udp/0/127.0.0.1/13"; \
 
772
        "/inet/udp/0/127.0.0.1/13" |& getline; print $0}'
 
773
 
 
774
inetdayt::
 
775
        @echo inetdayt fails with MSC and DJGPP because "|&" is not supported.
 
776
        @echo This test is for bidirectional TCP transmission
 
777
#       @$(AWK) 'BEGIN { print "" |& "/inet/tcp/0/127.0.0.1/13"; \
 
778
#       "/inet/tcp/0/127.0.0.1/13" |& getline; print $0}'
 
779
        @-$(AWK) 'BEGIN { print "" |& "/inet/tcp/0/127.0.0.1/13"; \
 
780
        "/inet/tcp/0/127.0.0.1/13" |& getline; print $0}'
 
781
 
 
782
paramtyp::
 
783
        @$(AWK) -f $(srcdir)/paramtyp.awk >_$@
 
784
        -$(CMP) $(srcdir)/paramtyp.ok _$@ && rm -f _$@
 
785
 
 
786
rsnul1nl::
 
787
        @$(AWK) -f $(srcdir)/rsnul1nl.awk $(srcdir)/rsnul1nl.in >_$@
 
788
        -$(CMP) $(srcdir)/rsnul1nl.ok _$@ && rm -f _$@
 
789
 
 
790
datanonl::
 
791
        @$(AWK) -f $(srcdir)/datanonl.awk $(srcdir)/datanonl.in >_$@
 
792
        -$(CMP) $(srcdir)/datanonl.ok _$@ && rm -f _$@
 
793
 
 
794
regeq::
 
795
        @$(AWK) -f $(srcdir)/regeq.awk $(srcdir)/regeq.in >_$@
 
796
        -$(CMP) $(srcdir)/regeq.ok _$@ && rm -f _$@
 
797
 
 
798
redfilnm::
 
799
        @$(AWK) -f $(srcdir)/redfilnm.awk srcdir=$(srcdir) $(srcdir)/redfilnm.in >_$@
 
800
        -$(CMP) $(srcdir)/redfilnm.ok _$@ && rm -f _$@
 
801
 
 
802
strtod::
 
803
        @$(AWK) -f $(srcdir)/strtod.awk $(srcdir)/strtod.in >_$@
 
804
        -$(CMP) $(srcdir)/strtod.ok _$@ && rm -f _$@
 
805
 
 
806
leaddig::
 
807
        @$(AWK) -v x=2E  -f $(srcdir)/leaddig.awk >_$@
 
808
        -$(CMP) $(srcdir)/leaddig.ok _$@ && rm -f _$@
 
809
 
 
810
clos1way::
 
811
        @echo clos1way fails with MSC and DJGPP because "|&" is not supported.
 
812
#       @$(AWK) -f $(srcdir)/clos1way.awk >_$@
 
813
        @-$(AWK) -f $(srcdir)/clos1way.awk >_$@
 
814
        -$(CMP) $(srcdir)/clos1way.ok _$@ && rm -f _$@
 
815
 
 
816
arynasty::
 
817
        @$(AWK) -f $(srcdir)/arynasty.awk >_$@
 
818
        -$(CMP) $(srcdir)/arynasty.ok _$@ && rm -f _$@
 
819
 
 
820
shadow::
 
821
        @-AWKPATH=$(srcdir) $(AWK) --lint -f shadow.awk >_$@ 2>&1 || exit 0
 
822
        -$(CMP) $(srcdir)/shadow.ok _$@ && rm -f _$@
 
823
 
 
824
regx8bit::
 
825
        @$(AWK) -f $(srcdir)/regx8bit.awk >_$@
 
826
        -$(CMP) $(srcdir)/regx8bit.ok _$@ && rm -f _$@
 
827
 
 
828
psx96sub::
 
829
        @$(AWK) -f $(srcdir)/psx96sub.awk >_$@
 
830
        -$(CMP) $(srcdir)/psx96sub.ok _$@ && rm -f _$@
 
831
 
 
832
addcomma::
 
833
        @echo 'If addcomma fails, set try setting LFN=n in your environment'
 
834
        @echo "before running make.  If that still doesn't work, read the"
 
835
        @echo 'the comment in this makefile about setting CMP for information'
 
836
        @echo 'about what may be happenning.'
 
837
        @$(AWK) -f $(srcdir)/addcomma.awk $(srcdir)/addcomma.in >_$@
 
838
        -$(CMP) $(srcdir)/addcomma.ok _$@ && rm -f _$@
 
839
 
 
840
gnuops2::
 
841
        @$(AWK) -f $(srcdir)/gnuops2.awk >_$@
 
842
        -$(CMP) $(srcdir)/gnuops2.ok _$@ && rm -f _$@
 
843
 
 
844
rebt8b1::
 
845
        @$(AWK) -f $(srcdir)/rebt8b1.awk >_$@
 
846
        -$(CMP) $(srcdir)/rebt8b1.ok _$@ && rm -f _$@
 
847
 
 
848
rebt8b2::
 
849
        @$(AWK) -f $(srcdir)/rebt8b2.awk >_$@
 
850
        -$(CMP) $(srcdir)/rebt8b2.ok _$@ && rm -f _$@
673
851
 
674
852
clean:
675
853
        rm -fr _* core junk out1 out2 out3 strftime.ok test1 test2 seq *~
676
854
 
677
 
distclean: clean
678
 
        rm -f Makefile
 
855
# This target for my convenience to look at all the results
 
856
diffout:
 
857
        for i in _* ; \
 
858
        do  \
 
859
                echo ============== $$i ============= ; \
 
860
                diff -c $${i#_}.ok  $$i ; \
 
861
        done | more
679
862
 
680
 
maintainer-clean: distclean
 
863
# Tell versions [3.59,3.63) of GNU make to not export all variables.
 
864
# Otherwise a system limit (for SysV at least) may be exceeded.
 
865
.NOEXPORT: