1 | # Makefile for gawk (GNU awk) Dec 2000
|
---|
2 | #
|
---|
3 | # - for GNU C (djgpp) [32bit executable for DOS]
|
---|
4 | # - for GNU C (emx) [32bit executable for OS/2 or DOS or Windows32]
|
---|
5 | # - for GNU C (mingw32) [Windows32 executable for Windows 9x/NT]
|
---|
6 | # - for MS-Visual C/C++ 4.x [Windows32 executable for Windows 9x/NT]
|
---|
7 | # - for Microsoft C 7 [16bit ececutable for DOS]
|
---|
8 | # - for Microsoft C 6.00A [16bit executable for OS/2 or DOS]
|
---|
9 |
|
---|
10 | # Tested with GNU make and dmake-3.8 under OS/2 and DOS, and ndmake and
|
---|
11 | # Microsoft nmake under DOS. Compiling with dmake under DOS may require the
|
---|
12 | # DOS-only version of dmake (so that swapping works). nmake requires a
|
---|
13 | # few edits in the configuration section below.
|
---|
14 |
|
---|
15 | default:
|
---|
16 | @echo "Enter $(MAK) target "
|
---|
17 | @echo " where 'target' is chosen from "
|
---|
18 | @echo " djgpp ... DOS 32-bit exe [GNU C, Delorie, v2] "
|
---|
19 | @echo " djgppv1 . DOS 32-bit exe [GNU C, Delorie, v1] "
|
---|
20 | @echo " emx ..... OS/2 32-bit exe [emx/gcc; uses emxlibc.dll] "
|
---|
21 | @echo " emxnt ... NT exe [emx/gcc with RSXNT] "
|
---|
22 | @echo " emxbnd .. OS/2 and DOS 32-bit exe [emx/gcc] "
|
---|
23 | @echo " mingw32 . Windows32 exe [Mingw32 GNU C] "
|
---|
24 | @echo " msc ..... DOS exe [Microsoft C 7 & 8 (AKA 1.52)] "
|
---|
25 | @echo " msc6 .... DOS exe [Microsoft C 6.00a] "
|
---|
26 | @echo " msc6os2 . OS/2 exe [Microsoft C 6.00a] "
|
---|
27 | @echo " msc6bnd . OS/2 and DOS exe [Microsoft C 6.00a] "
|
---|
28 | @echo " vcWin32 . Windows32 exe [Microsoft Visual C] "
|
---|
29 | @echo " ----------------------------------------------------- "
|
---|
30 | @echo " test .... Perform tests (see README_d/README.pc) "
|
---|
31 | @echo " install . Install gawk under $(prefix)/ "
|
---|
32 |
|
---|
33 | # Support dropped in 3.0
|
---|
34 | # - for Microsoft C 5.1 [16bit executable for OS/2 or DOS]
|
---|
35 | # @echo " msc51 DOS exe [Microsoft C 5.1] "
|
---|
36 | # @echo " msc51bnd OS/2 and DOS exe [Microsoft C 5.1] "
|
---|
37 |
|
---|
38 | #======================= Configuration ==================================
|
---|
39 | RSPFILE = gawk.rsp
|
---|
40 | PRSPFILE = pgawk.rsp
|
---|
41 | #
|
---|
42 | # Choose method for passing arguments to the linker.
|
---|
43 | #
|
---|
44 | # If compiling under OS/2 or if make can pass long lines
|
---|
45 | #LDRSP = $(GAWKOBJS)
|
---|
46 | #LNKRSP = $(LDRSP)
|
---|
47 | #
|
---|
48 | # else if make == dmake
|
---|
49 | # Response files for linker: dmake allows the macro expansion
|
---|
50 | # $(macro_name:modifier_list:modifier_list:...)
|
---|
51 | # The macro mktmp creates a temporary file for the linker.
|
---|
52 | # The 't' modifier is for tokenization.
|
---|
53 | #LDRSP = @$(mktmp $(<:t"\n"))
|
---|
54 | #LNKRSP = @$(mktmp $(<:t"+\n") ) # Space before final paren req
|
---|
55 | #
|
---|
56 | # else use brain-dead approach (emxbnd will need 'tr').
|
---|
57 | RSP = $(RSPFILE)
|
---|
58 | PRSP = $(PRSPFILE)
|
---|
59 | LDRSP = @$(RSP)
|
---|
60 | PLDRSP = @$(PRSP)
|
---|
61 | LNKRSP = $(LDRSP)
|
---|
62 | #------------------------------------------------------------------------
|
---|
63 | # Some makes do not define MAKE (and ndmake does not allow a define).
|
---|
64 | # Define MAK to be your make command.
|
---|
65 | #MAKE = dmake
|
---|
66 | MAK = $(MAKE) $(MAKEFILE)
|
---|
67 | #MAK = $(MAKE)
|
---|
68 | #MAKEFILE = -f Makefile
|
---|
69 | #MAK = make45 $(MAKEFILE)
|
---|
70 | #------------------------------------------------------------------------
|
---|
71 | # Define the base directory for the install. "make install" will install
|
---|
72 | # in bin, lib/awk, man, and info under $(prefix)/. Most likely, you should
|
---|
73 | # edit config.h so that $(prefix)/lib/awk appears as part of DEFPATH.
|
---|
74 | #prefix =
|
---|
75 | prefix = c:/gnu
|
---|
76 | #
|
---|
77 | # Define the install method. Method 1 is Unix-like (and requires cat,
|
---|
78 | # cp, mkdir, sed, and sh); method 2 uses gawk and batch files.
|
---|
79 | install = 1
|
---|
80 | #------------------------------------------------------------------------
|
---|
81 | # To work around command-line length problems, this makefile assumes
|
---|
82 | # that $($X) can be expanded. If using a make (such as nmake) which
|
---|
83 | # cannot handle such macros, define DO_LNK and DO_BIND for your target
|
---|
84 | # as $(L<target>) and $(B<target>), resp.; e.g.,
|
---|
85 | #DO_LNK = $(LvcWin32)
|
---|
86 | #DO_PLNK = $(PLvcWin32)
|
---|
87 | # and then comment the following:
|
---|
88 | DO_LNK = $($(LNK))
|
---|
89 | DO_BIND= $($(BIND))
|
---|
90 | DO_PLNK = $($(PLNK))
|
---|
91 | DO_PBIND= $($(PBIND))
|
---|
92 | #------------------------------------------------------------------------
|
---|
93 | # For dynamic extension support, uncomment these lines
|
---|
94 | # pick the appropriate .def file entry for your compiler
|
---|
95 | #DYN_FLAGS=-DDYNAMIC
|
---|
96 | #DYN_EXP=gawk.exp
|
---|
97 | #DYN_OBJ=dlfcn$O $(DYN_EXP)
|
---|
98 | #DYN_MAKEXP=$(DMEvcWin32)
|
---|
99 | #DYN_MAKEXP=$(DMEmingw32)
|
---|
100 | #
|
---|
101 | #========================================================================
|
---|
102 | # End of general configuration. Some platform-specific configuration
|
---|
103 | # notes appear below.
|
---|
104 |
|
---|
105 | #========================================================================
|
---|
106 | #========================== DJGPP =======================================
|
---|
107 | #========================================================================
|
---|
108 |
|
---|
109 | LDJG = $(CC) $(LF) -o gawk.exe $(LDRSP) $(LF2)
|
---|
110 | PLDJG = $(CC) $(LF) -o pgawk.exe $(PLDRSP) $(LF2)
|
---|
111 | BDJG = stubify -g awk.exe | stubedit awk.exe runfile=gawk
|
---|
112 |
|
---|
113 | djgpp:
|
---|
114 | $(MAK) all \
|
---|
115 | CC=gcc O=.o CF=-O2 \
|
---|
116 | LNK=LDJG PLNK=PLDJG LF=-s LF2=-lm \
|
---|
117 | BIND=BDJG PBIND=''
|
---|
118 |
|
---|
119 | djgpp-debug:
|
---|
120 | $(MAK) all \
|
---|
121 | CC=gcc O=.o CF='-O2 -g' \
|
---|
122 | LNK=LDJG PLNK=PLDJG LF2=-lm \
|
---|
123 | BIND=BDJG PBIND=''
|
---|
124 |
|
---|
125 | LDJGv1 = $(CC) $(LF) -o gawk $(LDRSP) $(LF2)
|
---|
126 | #BDJGv1 = coff2exe -s /djgpp/bin/go32.exe gawk
|
---|
127 | BDJGv1 = coff2exe gawk
|
---|
128 |
|
---|
129 | djgppv1:
|
---|
130 | $(MAK) all \
|
---|
131 | CC=gcc O=.o CF=-O \
|
---|
132 | LNK=LDJGv1 LF=-s LF2=-lm \
|
---|
133 | BIND=BDJGv1
|
---|
134 |
|
---|
135 | #========================================================================
|
---|
136 | #========================== EMX =========================================
|
---|
137 | #========================================================================
|
---|
138 |
|
---|
139 | # Link command for OS/2 versions.
|
---|
140 | LEMX = $(CC) $(LF) -o $@ $(GAWKOBJS) gawk.def -lbsd $(LF2)
|
---|
141 |
|
---|
142 | # Link and bind for DOS and OS/2 versions.
|
---|
143 | # emx-09 needs '-p' emx option here or in EMXOPT environ var.
|
---|
144 | # The following works with 0.9a or newer
|
---|
145 | LEMXBND = $(CC) $(LF) -o gawk $(LDRSP) gawk.def -lbsd $(LF2)
|
---|
146 | BEMX = emxbind -bs gawk -p
|
---|
147 | # The following works with 0.9c or newer
|
---|
148 | #LEMXBND = $(CC) $(LF) -o a.out $(LDRSP) gawk.def -lbsd $(LF2)
|
---|
149 | #BEMX = emxbind -bs -o $@ a.out -p
|
---|
150 | #BEMX = emxbind -bs /emx/bin/emx.exe a.out $@ -p
|
---|
151 | BEMXD = emxbind -b -o $@ a.out -p
|
---|
152 |
|
---|
153 | emx:
|
---|
154 | $(MAK) all \
|
---|
155 | "CC=gcc -Zomf" O=.obj "CF=-O -DOS2" \
|
---|
156 | LNK=LEMX "LF=-s -Zcrtdll -Zstack 512" RSP=
|
---|
157 |
|
---|
158 | emxnt:
|
---|
159 | $(MAK) all \
|
---|
160 | "CC=gcc -Zwin32 -Zcrtdll=rsxntcs" O=.o "CF=-O -DOS2" \
|
---|
161 | LNK=LEMX "LF=-s -Zstack 512" RSP=
|
---|
162 |
|
---|
163 | emxbnd:
|
---|
164 | $(MAK) all \
|
---|
165 | CC=gcc O=.o "CF=-O -DOS2 -DMSDOS" OBJ=popen.o \
|
---|
166 | LNK=LEMXBND \
|
---|
167 | BIND=BEMX "P=|tr \" \" \"\n\""
|
---|
168 |
|
---|
169 | emxbnd-debug:
|
---|
170 | $(MAK) all \
|
---|
171 | CC=gcc O=.o "CF=-g -DOS2 -DMSDOS" OBJ=popen.o \
|
---|
172 | LNK=LEMXBND \
|
---|
173 | BIND=BEMXD "P=|tr \" \" \"\n\""
|
---|
174 |
|
---|
175 | #========================================================================
|
---|
176 | #========================== MINGW32 =====================================
|
---|
177 | #========================================================================
|
---|
178 |
|
---|
179 | DMEmingw32 = dlltool -D gawk.exe -d gawkw32.def -e gawk.exp -l libgawk.a
|
---|
180 |
|
---|
181 | LMINGW32 = $(CC) $(LF) -o $@ $(GAWKOBJS) $(LF2)
|
---|
182 | PLMINGW32 = $(CC) $(LF) -o $@ $(PGAWKOBJS) $(LF2)
|
---|
183 | # The following might work around command-line length limitations:
|
---|
184 | #LMINGW32 = $(CC) $(LF) -o $@ *.o $(LF2)
|
---|
185 |
|
---|
186 | mingw32:
|
---|
187 | $(MAK) all \
|
---|
188 | CC=gcc O=.o CF=-O OBJ=popen.o \
|
---|
189 | LNK=LMINGW32 PLNK=PLMINGW32 LF=-s RSP=
|
---|
190 |
|
---|
191 | #========================================================================
|
---|
192 | #========================== MSC =========================================
|
---|
193 | #========================================================================
|
---|
194 |
|
---|
195 | # stdargv, glob, and director are from Stewartson's sh. These provide
|
---|
196 | # globbing and enhanced argument-passing. MSC setargv.obj is a
|
---|
197 | # more limited alternative (and it will permit a bound version).
|
---|
198 | #STDARGV = stdargv.obj glob.obj director.obj
|
---|
199 | STDARGV = setargv.obj
|
---|
200 |
|
---|
201 | # Optimization and library options:
|
---|
202 | # Os == optimize for size, Ot == optimize for speed, G2 == 286 or better
|
---|
203 | #MSCOPT = -Gt3600 -Os -G2
|
---|
204 | # MSC seems to be more stable with -Od than with -Ot, but then regexec.c gives
|
---|
205 | # "code segment too large" error when compiling. Adding -G2y fixes this and
|
---|
206 | # lets us keep the -Od.
|
---|
207 | MSCOPT = -Gt3600 -Od -G2y
|
---|
208 | # Alternate lib, does not use math coprocessor.
|
---|
209 | #MSCLIB = llibca
|
---|
210 | #MSCCL = -FPa
|
---|
211 | # Emulator lib, uses math coprocessor if present.
|
---|
212 | MSCLIB = llibce
|
---|
213 | MSCCL = -FPi
|
---|
214 | #MSCCL = -FPc
|
---|
215 |
|
---|
216 | # If the stack gets much smaller than 3000, the "longwrds" test fails.
|
---|
217 | LMSC = link $(LF) $(LNKRSP) $(STDARGV)/NOE,$@,,/NOD:llibce $(MSCLIB)$(LF2)/STACK:0x2eb0,nul
|
---|
218 |
|
---|
219 |
|
---|
220 | # CLMSC-linking works when building under OS/2
|
---|
221 | CLMSC = $(CC) -o $@ $(LF) $(GAWKOBJS) $(STDARGV) $(LF2) -link /NOE/NOI/STACK:0x6f00
|
---|
222 |
|
---|
223 | BMSC = bind $@ /n DOSMAKEPIPE DOSCWAIT
|
---|
224 |
|
---|
225 |
|
---|
226 | # Ugly hack: config.h defines __STDC__ if not defined on command-line.
|
---|
227 | # OS/2 versions can't use -Za in getid.c. MSC7 uses stub headers in pc/
|
---|
228 | # due to ANSI conflicts. MSC 5.1 defines __STDC__=0 regardless of ANSI flag.
|
---|
229 |
|
---|
230 | # dmake-3.8 runs out of memory under DOS. Request that dmake
|
---|
231 | # swap itself out on these targets. Note that this won't have
|
---|
232 | # any affect on the bound OS/2 and DOS version of dmake-3.8.
|
---|
233 |
|
---|
234 | .SWAP: msc msc-debug msc6 msc6os2 msc6bnd msc51 check
|
---|
235 |
|
---|
236 | msc:
|
---|
237 | $(MAK) all \
|
---|
238 | "CC=cl -nologo $(MSCCL)" O=.obj "CF=-AL -Ze -Ipc/include $(MSCOPT)" \
|
---|
239 | OBJ=popen.obj \
|
---|
240 | LNK=LMSC P=+
|
---|
241 | Lmsc = $(LMSC) # for broken makes (nmake) which cannot expand $($X)
|
---|
242 | Bmsc =
|
---|
243 |
|
---|
244 | msc-debug:
|
---|
245 | $(MAK) all \
|
---|
246 | "CC=cl $(MSCCL)" O=.obj "CF=-AL -Ze -Ipc/include -W2 -Zi -Od" \
|
---|
247 | OBJ=popen.obj \
|
---|
248 | LNK=LMSC LF2=/CO P=+
|
---|
249 |
|
---|
250 | msc6:
|
---|
251 | # $(MAK) builtin.obj \
|
---|
252 | # "CC=cl -nologo $(MSCCL)" O=.obj "CF=-AL -Za $(MSCOPT) -Od"
|
---|
253 | $(MAK) all \
|
---|
254 | "CC=cl -nologo $(MSCCL)" O=.obj "CF=-AL -Za $(MSCOPT)" \
|
---|
255 | OBJ=popen.obj \
|
---|
256 | LNK=LMSC P=+
|
---|
257 | Lmsc6 = $(LMSC) # for broken makes (nmake) which cannot expand $($X)
|
---|
258 | Bmsc6 =
|
---|
259 |
|
---|
260 | msc6os2:
|
---|
261 | # $(MAK) builtin.obj \
|
---|
262 | # "CC=cl -nologo $(MSCCL)" O=.obj "CF=-AL -DOS2 -UMSDOS $(MSCOPT) -Od"
|
---|
263 | $(MAK) all \
|
---|
264 | "CC=cl $(MSCCL)" O=.obj "CF=-AL -DOS2 -UMSDOS $(MSCOPT)" \
|
---|
265 | LNK=LMSC "LF2=p,gawk.def" P=+
|
---|
266 |
|
---|
267 | msc6bnd:
|
---|
268 | # $(MAK) builtin.obj \
|
---|
269 | # "CC=cl -nologo $(MSCCL)" O=.obj "CF=-AL -DOS2 $(MSCOPT) -Od"
|
---|
270 | $(MAK) all \
|
---|
271 | "CC=cl $(MSCCL)" O=.obj "CF=-AL -DOS2 $(MSCOPT)" \
|
---|
272 | OBJ=popen.obj \
|
---|
273 | LNK=LMSC "LF2=p,gawk.def" P=+ \
|
---|
274 | BIND=BMSC
|
---|
275 | Lmsc6bnd = $(LMSC) # for broken makes (nmake) which cannot expand $($X)
|
---|
276 | Bmsc6bnd = $(BMSC)
|
---|
277 |
|
---|
278 |
|
---|
279 | # Windows '9x / NT
|
---|
280 | DMEvcWin32 = lib /def:gawkw32.def /name:gawk.exe /out:gawk.lib
|
---|
281 | LvcWin32 = link -nologo -subsystem:console -release -out:$@ $(LNKRSP)
|
---|
282 | PLvcWin32 = link -nologo -subsystem:console -release -out:$@ $(PLDRSP)
|
---|
283 |
|
---|
284 | vcWin32:
|
---|
285 | $(MAK) all \
|
---|
286 | "CC=cl -nologo" O=.obj "CF=-o2 -DWIN32 -D__STDC__=0" \
|
---|
287 | OBJ=popen.obj \
|
---|
288 | LNK=LvcWin32
|
---|
289 |
|
---|
290 |
|
---|
291 | # Support dropped in 3.0
|
---|
292 | #msc51:
|
---|
293 | # $(MAK) all \
|
---|
294 | # "CC=cl $(MSCCL)" O=.obj "CF=-AL -Za -D_MSC_VER=510 $(MSCOPT)" \
|
---|
295 | # OBJ=popen.obj \
|
---|
296 | # LNK=LMSC P=+
|
---|
297 | #
|
---|
298 | #msc51bnd:
|
---|
299 | # $(MAK) all \
|
---|
300 | # "CC=cl -AL ($MSCCL)" O=.obj "CF=-DOS2 -D_MSC_VER=510 $(MSCOPT)" \
|
---|
301 | # OBJ=popen.obj \
|
---|
302 | # LNK=CLMSC "LF=-Lp -Fb" "LF2=gawk.def"
|
---|
303 |
|
---|
304 | #========================================================================
|
---|
305 |
|
---|
306 | # Define BIND for BINDless compiles, otherwise $($(BIND)) may break.
|
---|
307 | BIND = EMPTY
|
---|
308 | PBIND = EMPTY
|
---|
309 | EMPTY=
|
---|
310 |
|
---|
311 | # bitwise operations (-DBITOPS) and non-decimal input data (-DNONDECDATA) are
|
---|
312 | # undocumented in 3.0.3. They may be enabled in config.h, or added to CFLAGS.
|
---|
313 | CFLAGS = $(CF) -DGAWK -I. -DHAVE_CONFIG_H $(DYN_FLAGS)
|
---|
314 |
|
---|
315 | # object files
|
---|
316 | AWKOBJS1 = array$O builtin$O eval$O field$O gawkmisc$O io$O main$O
|
---|
317 | AWKOBJS2 = ext$O msg$O node$O profile$O re$O version$O $(DYN_OBJ)
|
---|
318 | PAWKOBJS1 = array$O builtin$O eval_p$O field$O gawkmisc$O io$O main$O
|
---|
319 | PAWKOBJS2 = ext$O msg$O node$O profile_p$O re$O version$O $(DYN_OBJ)
|
---|
320 | AWKOBJS = $(AWKOBJS1) $(AWKOBJS2)
|
---|
321 |
|
---|
322 | ALLOBJS = $(AWKOBJS) awkgram$O getid$O $(OBJ)
|
---|
323 |
|
---|
324 | # LIBOBJS
|
---|
325 | # GNU and other stuff that gawk uses as library routines.
|
---|
326 | LIBOBJS= getopt$O getopt1$O dfa$O regex$O random$O
|
---|
327 |
|
---|
328 | GAWKOBJS = $(ALLOBJS) $(LIBOBJS)
|
---|
329 | PGAWKOBJS = $(PAWKOBJS1) $(PAWKOBJS2) $(LIBOBJS) awkgram$O getid$O $(OBJ)
|
---|
330 |
|
---|
331 | # clear out suffixes list
|
---|
332 | # .SUFFIXES:
|
---|
333 | .SUFFIXES: .c $O
|
---|
334 |
|
---|
335 | .c$O:
|
---|
336 | $(CC) -c $(CFLAGS) $<
|
---|
337 |
|
---|
338 | # rules to build gawk
|
---|
339 | all : gawk.exe pgawk.exe
|
---|
340 |
|
---|
341 | gawk.exe:: $(GAWKOBJS) $(RSP)
|
---|
342 | $(DO_LNK)
|
---|
343 | $(DO_BIND)
|
---|
344 |
|
---|
345 | pgawk.exe:: $(PGAWKOBJS) $(PRSP)
|
---|
346 | $(DO_PLNK)
|
---|
347 | $(DO_PBIND)
|
---|
348 |
|
---|
349 | $(RSPFILE) : $(GAWKOBJS)
|
---|
350 | echo $(AWKOBJS1)$P > $@
|
---|
351 | echo $(AWKOBJS2)$P >> $@
|
---|
352 | echo awkgram$O getid$O $(OBJ) $(LIBOBJS)$P >> $@
|
---|
353 |
|
---|
354 | $(PRSPFILE) : $(PGAWKOBJS)
|
---|
355 | echo $(PAWKOBJS1)$P > $@
|
---|
356 | echo $(PAWKOBJS2)$P >> $@
|
---|
357 | echo awkgram$O getid$O $(OBJ) $(LIBOBJS)$P >> $@
|
---|
358 |
|
---|
359 | $(ALLOBJS) eval_p$O profile_p$O: awk.h regex.h config.h
|
---|
360 |
|
---|
361 | gawkmisc$O: pc/gawkmisc.pc
|
---|
362 |
|
---|
363 | getopt$O: getopt.h
|
---|
364 |
|
---|
365 | getopt1$O: getopt.h
|
---|
366 |
|
---|
367 | gawk.exp: gawkw32.def
|
---|
368 | $(DYN_MAKEXP)
|
---|
369 |
|
---|
370 | eval_p$O: eval.c
|
---|
371 |
|
---|
372 | profile_p$O: profile.c
|
---|
373 |
|
---|
374 | # A bug in ndmake requires the following rule
|
---|
375 | awkgram$O: awk.h awkgram.c
|
---|
376 | $(CC) -c $(CFLAGS) awkgram.c
|
---|
377 |
|
---|
378 | awkgram.c: awkgram.y
|
---|
379 | bison -o $@ awkgram.y
|
---|
380 |
|
---|
381 | alloca$O: alloca.c
|
---|
382 |
|
---|
383 |
|
---|
384 | install: install$(install)
|
---|
385 |
|
---|
386 | install1:
|
---|
387 | echo extproc sh $(prefix)/bin/igawk.cmd > igawk.cmd
|
---|
388 | echo shift >> igawk.cmd
|
---|
389 | cat pc/awklib/igawk >> igawk.cmd
|
---|
390 | sed "s;igawk;$(prefix)/bin/igawk;" pc/awklib/igawk.bat > igawk.bat
|
---|
391 | sh mkinstal.sh $(prefix)/bin
|
---|
392 | sh mkinstal.sh $(prefix)/lib/awk $(prefix)/man/man1 $(prefix)/info
|
---|
393 | cp *awk.exe igawk.bat igawk.cmd pc/awklib/igawk $(prefix)/bin
|
---|
394 | cp awklib/eg/lib/* pc/awklib/igawk.awk $(prefix)/lib/awk
|
---|
395 | cp doc/*.1 $(prefix)/man/man1
|
---|
396 | cp doc/gawk.info $(prefix)/info
|
---|
397 |
|
---|
398 | # install2 is equivalent to install1, but doesn't require cp, sed, etc.
|
---|
399 | install2:
|
---|
400 | gawk -v prefix=$(prefix) -f install.awk
|
---|
401 |
|
---|
402 | clean:
|
---|
403 | rm -rf gawk pgawk *.exe gawk.map *.o *.obj core a.out $(RSPFILE) $(PRSPFILE) $(DYN_EXP)
|
---|
404 | # cd doc && $(MAKE) clean
|
---|
405 | # cd test && $(MAKE) clean
|
---|
406 | # cd awklib && $(MAKE) clean
|
---|
407 |
|
---|
408 | awklib/eg: doc/gawk.texi
|
---|
409 | rm -fr awklib/eg
|
---|
410 | sh -c "cd awklib && ../gawk -f extract.awk ../doc/gawk.texi"
|
---|
411 |
|
---|
412 | check:
|
---|
413 | @echo "Running the tests requires several unix-like utilities. The"
|
---|
414 | @echo "recommendation is to copy pc/Makefile.tst to test/Makefile. Under"
|
---|
415 | @echo "DOS, it may be necessary to run make from the test directory."
|
---|
416 | # The `-k' option to make should be unnecessary if using pc/Makefile.tst.
|
---|
417 | sh -c "cd test && $(MAK) -k AWK=../gawk.exe"
|
---|
418 | # sh -c "cd test && $(MAK) AWK=../gawk.exe bigtest extra"
|
---|
419 |
|
---|
420 | test: check
|
---|
421 |
|
---|
422 | # for those who have the necessary tools:
|
---|
423 | TAGS:
|
---|
424 | etags awk.h *.y custom.h *.c *.h
|
---|
425 |
|
---|
426 | tags:
|
---|
427 | ctags awk.h *.y custom.h *.c *.h
|
---|