1/* Generated by mkjambase from Jambase */
2const char *jambase[] = {
3/* Jambase */
4"JAMBASEDATE = 2002.05.09 ;\n",
5"if $(NT)\n",
6"{\n",
7"MV		?= move /y ;\n",
8"CP		?= copy ;\n",
9"RM		?= del /f/q ;\n",
10"RMDIR		?= rmdir /s/q ;\n",
11"SLASH		?= \\\\ ;\n",
12"SUFLIB		?= .lib ;\n",
13"SUFOBJ		?= .obj ;\n",
14"SUFEXE		?= .exe ;\n",
15"if $(BCCROOT)\n",
16"{\n",
17"AR		?= tlib /C /P64 ;\n",
18"CC		?= bcc32 ;\n",
19"CCFLAGS		?= -v -w- -q -DWIN -tWR -tWM -tWC ;\n",
20"C++		?= $(CC) ;\n",
21"C++FLAGS	?= $(CCFLAGS) -P ;\n",
22"LINK		?= $(CC) ;\n",
23"LINKFLAGS	?= $(CCFLAGS) ;\n",
24"STDLIBPATH	?= $(BCCROOT)\\\\lib ;\n",
25"STDHDRS		?= $(BCCROOT)\\\\include ;\n",
26"NOARSCAN	?= true ;\n",
27"}\n",
28"else if $(MSVC)\n",
29"{\n",
30"AR		?= lib /nologo ;\n",
31"CC		?= cl /nologo ;\n",
32"CCFLAGS		?= /D \\\"WIN\\\" ;\n",
33"C++		?= $(CC) ;\n",
34"C++FLAGS	?= $(CCFLAGS) ;\n",
35"LINK		?= $(CC) ;\n",
36"LINKFLAGS	?= $(CCFLAGS) ;\n",
37"LINKLIBS	?= \n",
38"$(MSVC)\\\\lib\\\\mlibce.lib\n",
39"$(MSVC)\\\\lib\\\\oldnames.lib\n",
40";\n",
41"LINKLIBS	?= ;\n",
42"NOARSCAN	?= true ;\n",
43"OPTIM		?=  ;\n",
44"STDHDRS		?= $(MSVC)\\\\include ;\n",
45"UNDEFFLAG	?= \"/u _\" ;\n",
46"}\n",
47"else if $(MSVCNT) || $(MSVCDIR)\n",
48"{\n",
49"MSVCNT		?= $(MSVCDIR) ;	\n",
50"local I ; if $(OSPLAT) = IA64 { I = ia64\\\\ ; } else { I = \"\" ; }\n",
51"AR		?= lib ;\n",
52"AS		?= masm386 ;\n",
53"CC		?= cl /nologo ;\n",
54"CCFLAGS		?= \"\" ;\n",
55"C++		?= $(CC) ;\n",
56"C++FLAGS	?= $(CCFLAGS) ;\n",
57"LINK		?= link /nologo ;\n",
58"LINKFLAGS	?= \"\" ;\n",
59"LINKLIBS	?= \n",
60"$(MSVCNT)\\\\lib\\\\$(I)libc.lib\n",
61"$(MSVCNT)\\\\lib\\\\$(I)oldnames.lib\n",
62"$(MSVCNT)\\\\lib\\\\$(I)kernel32.lib ;\n",
63"OPTIM		?= \"\" ;\n",
64"STDHDRS		?= $(MSVCNT)\\\\include ;\n",
65"UNDEFFLAG	?= \"/u _\" ;\n",
66"}\n",
67"else\n",
68"{\n",
69"EXIT On NT, set BCCROOT, MSVCDIR, MSVCNT, or MSVC to the root\n",
70"of the Borland or Microsoft directories. ;\n",
71"}\n",
72"}\n",
73"else if $(MINGW)\n",
74"{\n",
75"Echo		\"MingW32\" ;\n",
76"CC		?= gcc ;\n",
77"C++		?= g++ ;\n",
78"CCFLAGS 	+= -DMINGW ;\n",
79"RANLIB		?= \"ranlib\" ;\n",
80"SUFEXE		?= .exe ;\n",
81"}\n",
82"else if $(OS2)\n",
83"{\n",
84"WATCOM		?= $(watcom) ;\n",
85"if ! $(WATCOM)\n",
86"{\n",
87"Exit On OS2, set WATCOM to the root of the Watcom directory. ;\n",
88"}\n",
89"AR		?= wlib ;\n",
90"BINDIR		?= \\\\os2\\\\apps ;\n",
91"CC		?= wcc386 ;\n",
92"CCFLAGS		?= /zq /DOS2 /I$(WATCOM)\\\\h ; # zq=quiet\n",
93"C++		?= wpp386 ;\n",
94"C++FLAGS	?= $(CCFLAGS) ;\n",
95"CP		?= copy ;\n",
96"DOT		?= . ;\n",
97"DOTDOT		?= .. ;\n",
98"LINK		?= wcl386 ;\n",
99"LINKFLAGS	?= /zq ; # zq=quiet\n",
100"LINKLIBS	?= ;\n",
101"MV		?= move ;\n",
102"NOARSCAN	?= true ;\n",
103"OPTIM		?= ;\n",
104"RM		?= del /f ;\n",
105"SLASH		?= \\\\ ;\n",
106"STDHDRS		?= $(WATCOM)\\\\h ;\n",
107"SUFEXE		?= .exe ;\n",
108"SUFLIB		?= .lib ;\n",
109"SUFOBJ		?= .obj ;\n",
110"UNDEFFLAG	?= \"/u _\" ;\n",
111"}\n",
112"else if $(VMS)\n",
113"{\n",
114"C++		?= cxx ;\n",
115"C++FLAGS	?= ;\n",
116"CC		?= cc ;\n",
117"CCFLAGS		?= ;\n",
118"CHMOD		?= set file/prot= ;\n",
119"CP		?= copy/replace ;\n",
120"CRELIB		?= true ;\n",
121"DOT		?= [] ;\n",
122"DOTDOT		?= [-] ;\n",
123"EXEMODE		?= (w:e) ;\n",
124"FILEMODE	?= (w:r) ;\n",
125"HDRS		?= ;\n",
126"LINK		?= link ;\n",
127"LINKFLAGS	?= \"\" ;\n",
128"LINKLIBS	?= ;\n",
129"MKDIR		?= create/dir ;\n",
130"MV		?= rename ;\n",
131"OPTIM		?= \"\" ;\n",
132"RM		?= delete ;\n",
133"RUNVMS		?= mcr ;\n",
134"SHELLMODE	?= (w:er) ;\n",
135"SLASH		?= . ;\n",
136"STDHDRS		?= decc$library_include ;\n",
137"SUFEXE		?= .exe ;\n",
138"SUFLIB		?= .olb ;\n",
139"SUFOBJ		?= .obj ;\n",
140"switch $(OS) \n",
141"{\n",
142"case OPENVMS : CCFLAGS ?= /stand=vaxc ;\n",
143"case VMS     : LINKLIBS ?= sys$library:vaxcrtl.olb/lib ;\n",
144"}\n",
145"}\n",
146"else if $(MAC)\n",
147"{\n",
148"local OPT ;\n",
149"CW	?= \"{CW}\" ;\n",
150"MACHDRS ?=\n",
151"\"$(UMACHDRS):Universal:Interfaces:CIncludes\"\n",
152"\"$(CW):MSL:MSL_C:MSL_Common:Include\"\n",
153"\"$(CW):MSL:MSL_C:MSL_MacOS:Include\" ;\n",
154"MACLIBS ?=\n",
155"\"$(CW):MacOS Support:Universal:Libraries:StubLibraries:Interfacelib\"\n",
156"\"$(CW):MacOS Support:Universal:Libraries:StubLibraries:Mathlib\" ;\n",
157"MPWLIBS ?= \n",
158"\"$(CW):MacOS Support:Libraries:Runtime:Libs:MSL_MPWCRuntime_PPC.lib\"\n",
159"\"$(CW):MSL:MSL_C:MSL_MacOS:Lib:PPC:MSL_C_PPC_MPW.Lib\" ;\n",
160"MPWNLLIBS ?= \n",
161"\"$(CW):MacOS Support:Libraries:Runtime:Libs:MSL_MPWCRuntime_PPC.lib\"\n",
162"\"$(CW):MSL:MSL_C:MSL_MacOS:Lib:PPC:MSL_C_PPC_MPW(NL).Lib\" ;\n",
163"SIOUXHDRS ?= ;\n",
164"SIOUXLIBS ?= \n",
165"\"$(CW):MacOS Support:Libraries:Runtime:Libs:MSL_Runtime_PPC.lib\"\n",
166"\"$(CW):MSL:MSL_C:MSL_MacOS:Lib:PPC:MSL_SIOUX_PPC.Lib\" \n",
167"\"$(CW):MSL:MSL_C:MSL_MacOS:Lib:PPC:MSL_C_PPC.Lib\" ;\n",
168"C++		?= mwcppc ;\n",
169"C++FLAGS	?= -w off ;\n",
170"CC		?= mwcppc ;\n",
171"CCFLAGS		?= -w off ;\n",
172"CP		?= duplicate -y ;\n",
173"DOT		?= \":\" ;\n",
174"DOTDOT		?= \"::\" ;\n",
175"HDRS 		?= $(MACHDRS) $(MPWHDRS) ;\n",
176"LINK		?= mwlinkppc ;\n",
177"LINKFLAGS	?= -mpwtool -warn ;				\n",
178"LINKLIBS 	?= $(MACLIBS) $(MPWLIBS) ;				\n",
179"MKDIR		?= newfolder ;\n",
180"MV		?= rename -y ;\n",
181"NOARSCAN	?= true ;\n",
182"OPTIM		?= ;\n",
183"RM		?= delete -y ;\n",
184"SLASH		?= \":\" ;\n",
185"STDHDRS		?= ; \n",
186"SUFLIB		?= .lib ;\n",
187"SUFOBJ		?= .o ;\n",
188"}\n",
189"else if $(OS) = BEOS && $(OSPLAT) = PPC\n",
190"{\n",
191"AR		?= mwld -xml -o ;\n",
192"BINDIR		?= /boot/home/config/bin ;\n",
193"CC		?= mwcc ;\n",
194"CCFLAGS		?= -nosyspath ;\n",
195"C++		?= $(CC) ;\n",
196"C++FLAGS	?= -nosyspath ;\n",
197"CHMOD		?= chmod ;\n",
198"CHGRP		?= chgrp ;\n",
199"CHOWN		?= chown ;\n",
200"FORTRAN		?= \"\" ;\n",
201"LEX		?= flex ;\n",
202"LIBDIR		?= /boot/home/config/lib ;\n",
203"LINK		?= mwld ;\n",
204"LINKFLAGS	?= \"\" ;\n",
205"MANDIR		?= /boot/home/config/man ;\n",
206"NOARSCAN	?= true ;\n",
207"RANLIB		?= ranlib ;\n",
208"STDHDRS		?= /boot/develop/headers/posix ;\n",
209"YACC		?= bison -y ;\n",
210"YACCGEN		?= .c ;\n",
211"YACCFILES	?= y.tab ;\n",
212"YACCFLAGS	?= -d ;\n",
213"}\n",
214"else if $(OS) = BEOS\n",
215"{\n",
216"BINDIR		?= /boot/home/config/bin ;\n",
217"CC		?= gcc ;\n",
218"C++		?= $(CC) ;\n",
219"CHMOD		?= chmod ;\n",
220"CHGRP		?= chgrp ;\n",
221"CHOWN		?= chown ;\n",
222"FORTRAN		?= \"\" ;\n",
223"LEX		?= flex ;\n",
224"LIBDIR		?= /boot/home/config/lib ;\n",
225"LINK		?= gcc ;\n",
226"MANDIR		?= /boot/home/config/man ;\n",
227"NOARSCAN	?= true ;\n",
228"RANLIB		?= ranlib ;\n",
229"STDHDRS		?= /boot/develop/headers/posix ;\n",
230"YACC		?= bison -y ;\n",
231"YACCGEN		?= .c ;\n",
232"YACCFILES	?= y.tab ;\n",
233"YACCFLAGS	?= -d ;\n",
234"}\n",
235"else if $(OS) = HAIKU\n",
236"{\n",
237"BINDIR		?= /boot/common/bin ;\n",
238"CC		?= gcc ;\n",
239"C++		?= $(CC) ;\n",
240"CHMOD		?= chmod ;\n",
241"CHGRP		?= chgrp ;\n",
242"CHOWN		?= chown ;\n",
243"FORTRAN		?= \"\" ;\n",
244"LEX		?= flex ;\n",
245"LIBDIR		?= /boot/common/lib ;\n",
246"LINK		?= gcc ;\n",
247"MANDIR		?= /boot/common/man ;\n",
248"NOARSCAN	?= true ;\n",
249"RANLIB		?= ranlib ;\n",
250"STDHDRS		?= /boot/develop/headers/posix ;\n",
251"YACC		?= bison -y ;\n",
252"YACCGEN		?= .c ;\n",
253"YACCFILES	?= y.tab ;\n",
254"YACCFLAGS	?= -d ;\n",
255"}\n",
256"else if $(UNIX)\n",
257"{\n",
258"switch $(OS)\n",
259"{\n",
260"case AIX :\n",
261"LINKLIBS	?= -lbsd ;\n",
262"case AMIGA :\n",
263"CC		?= gcc ;\n",
264"YACC		?= bison -y ;\n",
265"case CYGWIN :	\n",
266"CC		?= gcc ;\n",
267"CCFLAGS 	+= -D__cygwin__ ;\n",
268"LEX		?= flex ;\n",
269"JAMSHELL	?= sh -c ;\n",
270"RANLIB		?= \"\" ;\n",
271"SUFEXE		?= .exe ;\n",
272"YACC		?= bison -y ;\n",
273"case DGUX :\n",
274"RANLIB		?= \"\" ;\n",
275"RELOCATE 	?= true ;\n",
276"case HPUX :\n",
277"RANLIB		?= \"\" ;\n",
278"case INTERIX :\n",
279"CC		?= gcc ;\n",
280"JAMSHELL	?= sh -c ;\n",
281"RANLIB		?= \"\" ;\n",
282"case IRIX :\n",
283"RANLIB		?= \"\" ;\n",
284"case MPEIX :\n",
285"CC		?= gcc ;\n",
286"C++		?= gcc ;\n",
287"CCFLAGS		+= -D_POSIX_SOURCE ;\n",
288"HDRS		+= /usr/include ;\n",
289"RANLIB		?= \"\" ; \n",
290"NOARSCAN	?= true ;\n",
291"NOARUPDATE	?= true ;\n",
292"case MVS :\n",
293"RANLIB		?= \"\" ; \n",
294"case NEXT :\n",
295"AR		?= libtool -o ;\n",
296"RANLIB		?= \"\" ;\n",
297"case MACOSX :\n",
298"C++		?= c++ ;\n",
299"MANDIR		?= /usr/local/share/man ;\n",
300"case NCR :\n",
301"RANLIB		?= \"\" ;\n",
302"case PTX :\n",
303"RANLIB		?= \"\" ;\n",
304"case QNX :\n",
305"AR		?= wlib ;\n",
306"CC		?= cc ;\n",
307"CCFLAGS		?= -Q ;	# quiet\n",
308"C++		?= $(CC) ;\n",
309"C++FLAGS	?= -Q ;	# quiet\n",
310"LINK		?= $(CC) ;\n",
311"LINKFLAGS	?= -Q ;	# quiet\n",
312"NOARSCAN	?= true ;\n",
313"RANLIB		?= \"\" ;\n",
314"case SCO :\n",
315"RANLIB		?= \"\" ;\n",
316"RELOCATE 	?= true ;\n",
317"case SINIX :\n",
318"RANLIB		?= \"\" ;\n",
319"case SOLARIS :\n",
320"RANLIB		?= \"\" ;\n",
321"AR		?= \"/usr/ccs/bin/ar ru\" ;\n",
322"case UNICOS :\n",
323"NOARSCAN 	?= true ;\n",
324"OPTIM 		?= -O0 ;\n",
325"case UNIXWARE :\n",
326"RANLIB		?= \"\" ;\n",
327"RELOCATE 	?= true ;\n",
328"}\n",
329"CCFLAGS		?= ;\n",
330"C++FLAGS	?= $(CCFLAGS) ;\n",
331"CHMOD		?= chmod ;\n",
332"CHGRP		?= chgrp ;\n",
333"CHOWN		?= chown ;\n",
334"LEX		?= lex ;\n",
335"LINKFLAGS	?= $(CCFLAGS) ;\n",
336"LINKLIBS	?= ;\n",
337"OPTIM		?= -O ;\n",
338"RANLIB		?= ranlib ;\n",
339"YACC		?= yacc ;\n",
340"YACCGEN		?= .c ;\n",
341"YACCFILES	?= y.tab ;\n",
342"YACCFLAGS	?= -d ;\n",
343"}\n",
344"AR		?= ar ru ;\n",
345"AS		?= as ;\n",
346"ASFLAGS		?= ;\n",
347"AWK		?= awk ;\n",
348"BINDIR		?= /usr/local/bin ;\n",
349"C++		?= cc ;\n",
350"C++FLAGS	?= ;\n",
351"CC		?= cc ;\n",
352"CCFLAGS		?= ;\n",
353"CP		?= cp -f ;\n",
354"CRELIB		?= ;\n",
355"DOT		?= . ;\n",
356"DOTDOT		?= .. ;\n",
357"EXEMODE		?= 711 ;\n",
358"FILEMODE	?= 644 ;\n",
359"FORTRAN		?= f77 ;\n",
360"FORTRANFLAGS	?= ;\n",
361"HDRS		?= ;\n",
362"INSTALLGRIST	?= installed ;\n",
363"JAMFILE		?= Jamfile ;\n",
364"JAMRULES	?= Jamrules ;\n",
365"LEX		?= ;\n",
366"LIBDIR		?= /usr/local/lib ;\n",
367"LINK		?= $(CC) ;\n",
368"LINKFLAGS	?= ;\n",
369"LINKLIBS	?= ;\n",
370"LN		?= ln ;\n",
371"MANDIR		?= /usr/local/man ;\n",
372"MKDIR		?= mkdir ;\n",
373"MV		?= mv -f ;\n",
374"OPTIM		?= ;\n",
375"RCP		?= rcp ;\n",
376"RM		?= rm -f ;\n",
377"RMDIR		?= $(RM) ;\n",
378"RSH		?= rsh ;\n",
379"SED		?= sed ;\n",
380"SHELLHEADER	?= \"#!/bin/sh\" ;\n",
381"SHELLMODE	?= 755 ;\n",
382"SLASH		?= / ;\n",
383"STDHDRS		?= /usr/include ;\n",
384"SUBDIRRULES 	?= ;\n",
385"SUBDIRRESET 	?= ASFLAGS HDRS C++FLAGS CCFLAGS ;\n",
386"SUFEXE		?= \"\" ;\n",
387"SUFLIB		?= .a ;\n",
388"SUFOBJ		?= .o ;\n",
389"UNDEFFLAG	?= \"-u _\" ;\n",
390"YACC		?= ;\n",
391"YACCGEN		?= ;\n",
392"YACCFILES	?= ;\n",
393"YACCFLAGS	?= ;\n",
394"HDRPATTERN = \n",
395"\"^[ 	]*#[ 	]*include[ 	]*[<\\\"]([^\\\">]*)[\\\">].*$\" ;\n",
396"OSFULL = $(OS)$(OSVER)$(OSPLAT) $(OS)$(OSPLAT) $(OS)$(OSVER) $(OS) ;\n",
397"Depends all : shell files lib exe obj ;\n",
398"Depends all shell files lib exe obj : first ;\n",
399"NotFile all first shell files lib exe obj dirs clean uninstall ;\n",
400"Always clean uninstall ;\n",
401"rule As\n",
402"{\n",
403"Depends $(<) : $(>) ;\n",
404"ASFLAGS on $(<) += $(ASFLAGS) $(SUBDIRASFLAGS) ;\n",
405"ASHDRS on $(<) = [ FIncludes $(SEARCH_SOURCE) $(SUBDIRHDRS) $(HDRS) ] ;\n",
406"}\n",
407"rule Bulk\n",
408"{\n",
409"local i ;\n",
410"for i in $(>)\n",
411"{\n",
412"File $(i:D=$(<)) : $(i) ;\n",
413"}\n",
414"}\n",
415"rule Cc\n",
416"{\n",
417"Depends $(<) : $(>) ;\n",
418"if $(RELOCATE)\n",
419"{\n",
420"CcMv $(<) : $(>) ;\n",
421"}\n",
422"CCFLAGS on $(<) += $(CCFLAGS) $(SUBDIRCCFLAGS) $(OPTIM) ;\n",
423"CCHDRS on $(<) = [ on $(<) FIncludes $(HDRS) ] ;\n",
424"CCDEFS on $(<) = [ on $(<) FDefines $(DEFINES) ] ;\n",
425"}\n",
426"rule C++\n",
427"{\n",
428"Depends $(<) : $(>) ;\n",
429"if $(RELOCATE)\n",
430"{\n",
431"CcMv $(<) : $(>) ;\n",
432"}\n",
433"C++FLAGS on $(<) += $(C++FLAGS) $(SUBDIRC++FLAGS) $(OPTIM) ;\n",
434"CCHDRS on $(<) = [ on $(<) FIncludes $(HDRS) ] ;\n",
435"CCDEFS on $(<) = [ on $(<) FDefines $(DEFINES) ] ;\n",
436"}\n",
437"rule Chmod\n",
438"{\n",
439"if $(CHMOD) { Chmod1 $(<) ; }\n",
440"}\n",
441"rule File\n",
442"{\n",
443"LocalDepends files : $(<) ;\n",
444"Depends $(<) : $(>) ;\n",
445"SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
446"MODE on $(<) = $(FILEMODE) ;\n",
447"Chmod $(<) ;\n",
448"}\n",
449"rule Fortran\n",
450"{\n",
451"Depends $(<) : $(>) ;\n",
452"}\n",
453"rule GenFile \n",
454"{\n",
455"local _t = [ FGristSourceFiles $(<) ] ;\n",
456"local _s = [ FAppendSuffix $(>[1]) : $(SUFEXE) ] ;\n",
457"Depends $(_t) : $(_s) $(>[2-]) ;\n",
458"GenFile1 $(_t) : $(_s) $(>[2-]) ;\n",
459"LocalClean clean : $(_t) ;\n",
460"}\n",
461"rule GenFile1\n",
462"{\n",
463"MakeLocate $(<) : $(LOCATE_SOURCE) ;\n",
464"SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
465"}\n",
466"rule HardLink\n",
467"{\n",
468"LocalDepends files : $(<) ;\n",
469"Depends $(<) : $(>) ;\n",
470"SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
471"}\n",
472"rule HdrRule\n",
473"{\n",
474"local s = $(>:G=$(HDRGRIST:E)) ;\n",
475"Includes $(<) : $(s) ;\n",
476"SEARCH on $(s) = $(HDRSEARCH) ;\n",
477"NoCare $(s) ;\n",
478"HDRSEARCH on $(s) = $(HDRSEARCH) ;\n",
479"HDRSCAN on $(s) = $(HDRSCAN) ;\n",
480"HDRRULE on $(s) = $(HDRRULE) ;\n",
481"HDRGRIST on $(s) = $(HDRGRIST) ;\n",
482"}\n",
483"rule InstallInto\n",
484"{\n",
485"local i t ;\n",
486"t = $(>:G=$(INSTALLGRIST)) ;\n",
487"LocalDepends install : $(t) ;\n",
488"LocalClean uninstall : $(t) ;\n",
489"SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
490"MakeLocate $(t) : $(<) ;\n",
491"for i in $(>)\n",
492"{\n",
493"local tt = $(i:G=$(INSTALLGRIST)) ;\n",
494"Depends $(tt) : $(i) ;\n",
495"Install $(tt) : $(i) ;\n",
496"Chmod $(tt) ;\n",
497"if $(OWNER) && $(CHOWN) \n",
498"{ \n",
499"Chown $(tt) ;\n",
500"OWNER on $(tt) = $(OWNER) ;\n",
501"}\n",
502"if $(GROUP) && $(CHGRP) \n",
503"{ \n",
504"Chgrp $(tt) ;\n",
505"GROUP on $(tt) = $(GROUP) ;\n",
506"}\n",
507"}\n",
508"}\n",
509"rule InstallBin\n",
510"{\n",
511"local _t = [ FAppendSuffix $(>) : $(SUFEXE) ] ;\n",
512"InstallInto $(<) : $(_t) ;\n",
513"MODE on $(_t:G=$(INSTALLGRIST)) = $(EXEMODE) ;\n",
514"}\n",
515"rule InstallFile\n",
516"{\n",
517"InstallInto $(<) : $(>) ;\n",
518"MODE on $(>:G=$(INSTALLGRIST)) = $(FILEMODE) ;\n",
519"}\n",
520"rule InstallLib\n",
521"{\n",
522"InstallInto $(<) : $(>) ;\n",
523"MODE on $(>:G=$(INSTALLGRIST)) = $(FILEMODE) ;\n",
524"}\n",
525"rule InstallMan\n",
526"{\n",
527"local i s d ;\n",
528"for i in $(>)\n",
529"{\n",
530"switch $(i:S)\n",
531"{\n",
532"case .1 : s = 1 ; case .2 : s = 2 ; case .3 : s = 3 ;\n",
533"case .4 : s = 4 ; case .5 : s = 5 ; case .6 : s = 6 ;\n",
534"case .7 : s = 7 ; case .8 : s = 8 ; case .l : s = l ;\n",
535"case .n : s = n ; case .man : s = 1 ;\n",
536"}\n",
537"d = man$(s) ;\n",
538"InstallInto $(d:R=$(<)) : $(i) ;\n",
539"}\n",
540"MODE on $(>:G=$(INSTALLGRIST)) = $(FILEMODE) ;\n",
541"}\n",
542"rule InstallShell\n",
543"{\n",
544"InstallInto $(<) : $(>) ;\n",
545"MODE on $(>:G=$(INSTALLGRIST)) = $(SHELLMODE) ;\n",
546"}\n",
547"rule Lex\n",
548"{\n",
549"LexMv $(<) : $(>) ;\n",
550"Depends $(<) : $(>) ;\n",
551"MakeLocate $(<) : $(LOCATE_SOURCE) ;\n",
552"LocalClean clean : $(<) ;\n",
553"}\n",
554"rule Library\n",
555"{\n",
556"LibraryFromObjects $(<) : $(>:S=$(SUFOBJ)) ;\n",
557"Objects $(>) ;\n",
558"}\n",
559"rule LibraryFromObjects\n",
560"{\n",
561"local _i _l _s ;\n",
562"_s = [ FGristFiles $(>) ] ;\n",
563"_l = $(<:S=$(SUFLIB)) ;\n",
564"if $(KEEPOBJS)\n",
565"{\n",
566"LocalDepends obj : $(_s) ;\n",
567"}\n",
568"else\n",
569"{\n",
570"LocalDepends lib : $(_l) ;\n",
571"}\n",
572"if ! $(_l:D)\n",
573"{\n",
574"MakeLocate $(_l) $(_l)($(_s:BS)) : $(LOCATE_TARGET) ;\n",
575"}\n",
576"if $(NOARSCAN) \n",
577"{ \n",
578"Depends $(_l) : $(_s) ;\n",
579"}\n",
580"else\n",
581"{\n",
582"Depends $(_l) : $(_l)($(_s:BS)) ;\n",
583"for _i in $(_s)\n",
584"{\n",
585"Depends $(_l)($(_i:BS)) : $(_i) ;\n",
586"}\n",
587"}\n",
588"LocalClean clean : $(_l) ;\n",
589"if $(CRELIB) { CreLib $(_l) : $(_s[1]) ; }\n",
590"Archive $(_l) : $(_s) ;\n",
591"if $(RANLIB) { Ranlib $(_l) ; }\n",
592"if ! ( $(NOARSCAN) || $(NOARUPDATE) ) { RmTemps $(_l) : $(_s) ; }\n",
593"}\n",
594"rule Link\n",
595"{\n",
596"MODE on $(<) = $(EXEMODE) ;\n",
597"Chmod $(<) ;\n",
598"}\n",
599"rule LinkLibraries\n",
600"{\n",
601"local _t = [ FAppendSuffix $(<) : $(SUFEXE) ] ;\n",
602"Depends $(_t) : $(>:S=$(SUFLIB)) ;\n",
603"NEEDLIBS on $(_t) += $(>:S=$(SUFLIB)) ;\n",
604"}\n",
605"rule LocalClean\n",
606"{\n",
607"if [ FIsPrefix $(SUBDIR_UP) : $(SUBDIR_DOWN) ] {\n",
608"Clean $(1) : $(2) ;\n",
609"}\n",
610"}\n",
611"rule LocalDepends\n",
612"{\n",
613"if [ FIsPrefix $(SUBDIR_UP) : $(SUBDIR_DOWN) ] {\n",
614"Depends $(1) : $(2) ;\n",
615"}\n",
616"}\n",
617"rule Main\n",
618"{\n",
619"MainFromObjects $(<) : $(>:S=$(SUFOBJ)) ;\n",
620"Objects $(>) ;\n",
621"}\n",
622"rule MainFromObjects\n",
623"{\n",
624"local _s _t ;\n",
625"_s = [ FGristFiles $(>) ] ;\n",
626"_t = [ FAppendSuffix $(<) : $(SUFEXE) ] ;\n",
627"if $(_t) != $(<)\n",
628"{\n",
629"Depends $(<) : $(_t) ;\n",
630"NotFile $(<) ;\n",
631"}\n",
632"LocalDepends exe : $(_t) ;\n",
633"Depends $(_t) : $(_s) ;\n",
634"MakeLocate $(_t) : $(LOCATE_TARGET) ;\n",
635"LocalClean clean : $(_t) ;\n",
636"Link $(_t) : $(_s) ;\n",
637"}\n",
638"rule MakeLocate\n",
639"{\n",
640"if $(>)\n",
641"{\n",
642"LOCATE on $(<) = $(>) ;\n",
643"Depends $(<) : $(>[1]:G=dir) ;\n",
644"MkDir $(>[1]:G=dir) ;\n",
645"}\n",
646"}\n",
647"rule MkDir\n",
648"{\n",
649"NoUpdate $(<) ;\n",
650"if $(<:G=) != $(DOT) && ! $($(<)-mkdir) \n",
651"{\n",
652"$(<)-mkdir = true ;\n",
653"LocalDepends dirs : $(<) ;\n",
654"MkDir1 $(<) ;\n",
655"local s = $(<:P) ;\n",
656"if $(NT)\n",
657"{\n",
658"switch $(s)\n",
659"{\n",
660"case *:   : s = ;\n",
661"case *:\\\\ : s = ;\n",
662"}\n",
663"}\n",
664"if $(s) = $(<)\n",
665"{\n",
666"NotFile $(s) ;\n",
667"}\n",
668"else if $(s:G=)\n",
669"{\n",
670"Depends $(<) : $(s) ;\n",
671"MkDir $(s) ;\n",
672"}\n",
673"}\n",
674"}\n",
675"rule Object\n",
676"{\n",
677"LocalClean clean : $(<) ;\n",
678"MakeLocate $(<) : $(LOCATE_TARGET) ;\n",
679"SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
680"HDRS on $(<) = $(SEARCH_SOURCE) $(SUBDIRHDRS) $(HDRS) ;\n",
681"HDRRULE on $(>) = HdrRule ;\n",
682"HDRSCAN on $(>) = $(HDRPATTERN) ;\n",
683"HDRSEARCH on $(>) = \n",
684"$(SEARCH_SOURCE:E) $(SUBDIRHDRS) $(HDRS) $(STDHDRS) ;\n",
685"HDRGRIST on $(>) = $(HDRGRIST) ;\n",
686"DEFINES on $(<) += $(DEFINES) ;\n",
687"switch $(>:S)\n",
688"{\n",
689"case .asm : As $(<) : $(>) ;\n",
690"case .c :	Cc $(<) : $(>) ;\n",
691"case .C :	C++ $(<) : $(>) ;\n",
692"case .cc :	C++ $(<) : $(>) ;\n",
693"case .cpp : C++ $(<) : $(>) ;\n",
694"case .f :	Fortran $(<) : $(>) ;\n",
695"case .l :	Cc $(<) : $(<:S=.c) ;\n",
696"Lex $(<:S=.c) : $(>) ;\n",
697"case .s :	As $(<) : $(>) ;\n",
698"case .y :	Cc $(<) : $(<:S=$(YACCGEN)) ;\n",
699"Yacc $(<:S=$(YACCGEN)) : $(>) ;\n",
700"case * :	UserObject $(<) : $(>) ;\n",
701"}\n",
702"}\n",
703"rule ObjectCcFlags\n",
704"{\n",
705"CCFLAGS on [ FGristFiles $(<:S=$(SUFOBJ)) ] += $(>) ;\n",
706"}\n",
707"rule ObjectC++Flags\n",
708"{\n",
709"C++FLAGS on [ FGristFiles $(<:S=$(SUFOBJ)) ] += $(>) ;\n",
710"}\n",
711"rule ObjectDefines\n",
712"{\n",
713"local s = [ FGristFiles $(<:S=$(SUFOBJ)) ] ;\n",
714"DEFINES on $(s) += $(>) ;\n",
715"CCDEFS on $(s) = [ on $(s) FDefines $(DEFINES) ] ;\n",
716"}\n",
717"rule ObjectHdrs\n",
718"{\n",
719"local s = [ FGristFiles $(<:S=$(SUFOBJ)) ] ;\n",
720"HDRS on $(s) += $(>) ;\n",
721"CCHDRS on $(s) = [ on $(s) FIncludes $(HDRS) ] ;\n",
722"}\n",
723"rule Objects\n",
724"{\n",
725"local _i ;\n",
726"for _i in [ FGristFiles $(<) ]\n",
727"{\n",
728"Object $(_i:S=$(SUFOBJ)) : $(_i) ;\n",
729"LocalDepends obj : $(_i:S=$(SUFOBJ)) ;\n",
730"}\n",
731"}\n",
732"rule RmTemps\n",
733"{\n",
734"Temporary $(>) ;\n",
735"}\n",
736"rule Setuid\n",
737"{\n",
738"MODE on [ FAppendSuffix $(<) : $(SUFEXE) ] = 4711 ;\n",
739"}\n",
740"rule Shell\n",
741"{\n",
742"LocalDepends shell : $(<) ;\n",
743"Depends $(<) : $(>) ;\n",
744"SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
745"MODE on $(<) = $(SHELLMODE) ;\n",
746"LocalClean clean : $(<) ;\n",
747"Chmod $(<) ;\n",
748"}\n",
749"rule SoftLink\n",
750"{\n",
751"LocalDepends files : $(<) ;\n",
752"Depends $(<) : $(>) ;\n",
753"SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
754"LocalClean clean : $(<) ;\n",
755"}\n",
756"rule SubDir\n",
757"{\n",
758"local _top = $(<[1]) ;\n",
759"local _tokens = $(<[2-]) ;\n",
760"if ! $(_top)\n",
761"{\n",
762"Exit SubDir syntax error ;\n",
763"}\n",
764"if ! $($(_top)-SET)\n",
765"{\n",
766"$(_top)-SET = true ;\n",
767"local _originalTop = $($(_top)) ;\n",
768"if $($(_top))\n",
769"{\n",
770"$(_top)-UP = ;\n",
771"$(_top)-DOWN = ;\n",
772"$(_top)-ROOT = $($(_top)) ;\n",
773"}\n",
774"else\n",
775"{\n",
776"_tokens = [ FReverse $(_tokens) ] ;\n",
777"SUBDIR_DOWN = [ FReverse $(SUBDIR_DOWN) ] ;\n",
778"FStripCommon _tokens : SUBDIR_DOWN ;\n",
779"SUBDIR_DOWN = [ FReverse $(SUBDIR_DOWN) ] ;\n",
780"_tokens = [ FReverse $(_tokens) ] ;\n",
781"if $(SUBDIR_DOWN) && $(_tokens) \n",
782"{ \n",
783"Echo Warning: SubDir $(<) misplaced! ; \n",
784"}\n",
785"$(_top)-UP = $(SUBDIR_UP) $(_tokens) ;\n",
786"$(_top)-DOWN = $(SUBDIR_DOWN) ;\n",
787"$(_top)-ROOT = $(SUBDIR_ROOT:E=\"\") ;\n",
788"$(_top) = [ FSubDirPath $(_top) ] ;\n",
789"}\n",
790"SUBDIR_UP = $($(_top)-UP) ;\n",
791"SUBDIR_DOWN = ;\n",
792"SUBDIR_ROOT = $($(_top)-ROOT) ;\n",
793"if ! $(INVOCATION_SUBDIR_SET)\n",
794"{\n",
795"INVOCATION_SUBDIR_SET = true ;\n",
796"INVOCATION_SUBDIR_TOP = $($(_top)) ;\n",
797"INVOCATION_SUBDIR = $(_tokens) ;\n",
798"if $(INVOCATION_SUBDIR)\n",
799"{\n",
800"$(_top)-SET = ;\n",
801"$(_top) = $(_originalTop) ;\n",
802"include $(JAMFILE:D=$(INVOCATION_SUBDIR_TOP)) ;\n",
803"jumptoeof ;\n",
804"}\n",
805"}\n",
806"if $($(_top)RULES) { \n",
807"include $($(_top)RULES) ;\n",
808"} else { \n",
809"NoCare $(JAMRULES:R=$($(_top)):G=$(_top)) ;\n",
810"include $(JAMRULES:R=$($(_top)):G=$(_top)) ;\n",
811"}\n",
812"}\n",
813"SUBDIR_UP = $($(_top)-UP) ;\n",
814"SUBDIR_DOWN = $($(_top)-DOWN) $(_tokens) ;\n",
815"SUBDIR_ROOT = $($(_top)-ROOT) ;\n",
816"SUBDIR_TOKENS = $(SUBDIR_DOWN) ;\n",
817"SUBDIR = [ FSubDirPath $(<) ] ;\n",
818"SEARCH_SOURCE = $(SUBDIR) ;\n",
819"LOCATE_SOURCE = $(ALL_LOCATE_TARGET) $(SUBDIR) ;\n",
820"LOCATE_TARGET = $(ALL_LOCATE_TARGET) $(SUBDIR) ;\n",
821"SOURCE_GRIST = [ FGrist $(SUBDIR_TOKENS) ] ;\n",
822"HDRGRIST = $(SOURCE_GRIST) ;\n",
823"SUBDIR$(SUBDIRRESET) = ;\n",
824"$(SUBDIRRULES) $(<) ;\n",
825"}\n",
826"rule FSubDirPath\n",
827"{\n",
828"local _r = [ FRelPath $($(<[1])-UP) : $($(<[1])-DOWN) $(<[2-]) ] ;\n",
829"return $(_r:R=$($(<[1])-ROOT)) ;\n",
830"}\n",
831"rule SubDirCcFlags\n",
832"{\n",
833"SUBDIRCCFLAGS += $(<) ;\n",
834"}\n",
835"rule SubDirC++Flags\n",
836"{\n",
837"SUBDIRC++FLAGS += $(<) ;\n",
838"}\n",
839"rule SubDirHdrs\n",
840"{\n",
841"SUBDIRHDRS += [ FDirName $(<) ] ;\n",
842"}\n",
843"rule SubInclude\n",
844"{\n",
845"if ! $($(<[1]))\n",
846"{\n",
847"Exit SubInclude $(<[1]) without prior SubDir $(<[1]) ;\n",
848"}\n",
849"SubDir $(<) ;\n",
850"include $(JAMFILE:D=$(SUBDIR)) ;\n",
851"}\n",
852"rule SubRules\n",
853"{\n",
854"if ! $($(<[1]))\n",
855"{\n",
856"Exit SubRules $(<[1]) without prior SubDir $(<[1]) ;\n",
857"}\n",
858"SubDir $(<) ;\n",
859"SubDir $(>) ;\n",
860"}\n",
861"rule Undefines\n",
862"{\n",
863"UNDEFS on [ FAppendSuffix $(<) : $(SUFEXE) ] += $(UNDEFFLAG)$(>) ;\n",
864"}\n",
865"rule UserObject\n",
866"{\n",
867"Exit \"Unknown suffix on\" $(>) \"- see UserObject rule in Jamfile(5).\" ;\n",
868"}\n",
869"rule Yacc\n",
870"{\n",
871"local _h ;\n",
872"_h = $(<:S=.h) ;\n",
873"MakeLocate $(<) $(_h) : $(LOCATE_SOURCE) ;\n",
874"if $(YACC)\n",
875"{\n",
876"Depends $(<) $(_h) : $(>) ;\n",
877"Yacc1 $(<) $(_h) : $(>) ;\n",
878"YaccMv $(<) $(_h) : $(>) ;\n",
879"LocalClean clean : $(<) $(_h) ;\n",
880"}\n",
881"Includes $(<) : $(_h) ;\n",
882"}\n",
883"rule FGrist\n",
884"{\n",
885"return $(<:J=!) ;\n",
886"}\n",
887"rule FGristFiles \n",
888"{\n",
889"return $(<:G=$(SOURCE_GRIST:E)) ;\n",
890"}\n",
891"rule FGristSourceFiles\n",
892"{\n",
893"return [ FGristFiles $(<) ] ;\n",
894"}\n",
895"rule FIsPrefix\n",
896"{\n",
897"local a = $(1) ;\n",
898"local b = $(2) ;\n",
899"while $(a) && $(a[1]) = $(b[1]) {\n",
900"a = $(a[2-]) ;\n",
901"b = $(b[2-]) ;\n",
902"}\n",
903"if $(a) {\n",
904"return ;\n",
905"} else {\n",
906"return true ;\n",
907"}\n",
908"}\n",
909"rule FReverse \n",
910"{\n",
911"if $(1) { return [ FReverse $(1[2-]) ] $(1[1]) ; }\n",
912"}\n",
913"rule FSubDir\n",
914"{\n",
915"if ! $(<[1]) \n",
916"{\n",
917"return $(DOT) ;\n",
918"} \n",
919"else\n",
920"{\n",
921"local _i _d ;\n",
922"_d = $(DOTDOT) ;\n",
923"for _i in $(<[2-])\n",
924"{\n",
925"_d = $(_d:R=$(DOTDOT)) ;\n",
926"}\n",
927"return $(_d) ;\n",
928"}\n",
929"}\n",
930"rule FStripCommon\n",
931"{\n",
932"if $($(<)[1]) && $($(<)[1]) = $($(>)[1])\n",
933"{\n",
934"$(<) = $($(<)[2-]) ;\n",
935"$(>) = $($(>)[2-]) ;\n",
936"FStripCommon $(<) : $(>) ;\n",
937"}\n",
938"}\n",
939"rule FRelPath\n",
940"{\n",
941"local _l _r ;\n",
942"_l = $(<) ;\n",
943"_r = $(>) ;\n",
944"FStripCommon _l : _r ;\n",
945"_l = [ FSubDir $(_l) ] ;\n",
946"_r = [ FDirName $(_r) ] ;\n",
947"if $(_r) = $(DOT) {\n",
948"return $(_l) ;\n",
949"} else {\n",
950"return $(_r:R=$(_l)) ;\n",
951"}\n",
952"}\n",
953"rule FAppendSuffix\n",
954"{\n",
955"if $(>)\n",
956"{\n",
957"local _i _o ;\n",
958"for _i in $(<)\n",
959"{\n",
960"if $(_i:S)\n",
961"{\n",
962"_o += $(_i) ;\n",
963"}\n",
964"else\n",
965"{\n",
966"_o += $(_i:S=$(>)) ;\n",
967"}\n",
968"}\n",
969"return $(_o) ;\n",
970"}\n",
971"else\n",
972"{\n",
973"return $(<) ;\n",
974"}\n",
975"}\n",
976"rule FQuote { return \\\\\\\"$(<)\\\\\\\" ; }\n",
977"rule FDefines { return -D$(<) ; }\n",
978"rule FIncludes { return -I$(<) ; }\n",
979"rule FDirName\n",
980"{\n",
981"local _i ;\n",
982"local _s = $(DOT) ;\n",
983"for _i in $(<)\n",
984"{\n",
985"_s = $(_i:R=$(_s)) ;\n",
986"}\n",
987"return $(_s) ;\n",
988"}\n",
989"if $(OS2)\n",
990"{\n",
991"rule FQuote { return \\\"$(<)\\\" ; }\n",
992"rule FIncludes { return /I$(<) ; }\n",
993"}\n",
994"else if $(NT)\n",
995"{\n",
996"rule FDefines { return /D$(<) ; }\n",
997"rule FIncludes { return /I$(<) ; }\n",
998"}\n",
999"else if $(MAC)\n",
1000"{\n",
1001"rule FQuote { return \\\"$(<)\\\" ; }\n",
1002"rule FDefines { return \"-define '$(<)'\" ; }\n",
1003"rule FIncludes { return \\\"$(<:J=,)\\\" ; }\n",
1004"}\n",
1005"else if $(VMS)\n",
1006"{\n",
1007"rule FQuote { return \\\"\\\"\\\"$(<)\\\"\\\"\\\" ; }\n",
1008"rule FDefines { return \"/define=( $(<:J=,) )\" ; }\n",
1009"rule FIncludes { return \"/inc=( $(<:J=,) )\" ; }\n",
1010"rule FDirName\n",
1011"{\n",
1012"local _s _i ;\n",
1013"if ! $(<)\n",
1014"{\n",
1015"_s = $(DOT) ;\n",
1016"}\n",
1017"else \n",
1018"{\n",
1019"switch $(<[1])\n",
1020"{\n",
1021"case *:* : _s = $(<[1]) ;\n",
1022"case \\\\[*\\\\] : _s = $(<[1]) ;\n",
1023"case * : _s = [.$(<[1])] ;\n",
1024"}\n",
1025"for _i in [.$(<[2-])]\n",
1026"{\n",
1027"_s = $(_i:R=$(_s)) ;\n",
1028"}\n",
1029"}\n",
1030"return $(_s) ;\n",
1031"}\n",
1032"}\n",
1033"actions updated together piecemeal Archive\n",
1034"{\n",
1035"$(AR) $(<) $(>)\n",
1036"}\n",
1037"actions As\n",
1038"{\n",
1039"$(AS) $(ASFLAGS) $(ASHDRS) -o $(<) $(>)\n",
1040"}\n",
1041"actions C++\n",
1042"{\n",
1043"$(C++) -c -o $(<) $(C++FLAGS) $(CCDEFS) $(CCHDRS) $(>)\n",
1044"}\n",
1045"actions Cc\n",
1046"{\n",
1047"$(CC) -c -o $(<) $(CCFLAGS) $(CCDEFS) $(CCHDRS) $(>)\n",
1048"}\n",
1049"actions Chgrp\n",
1050"{\n",
1051"$(CHGRP) $(GROUP) $(<)\n",
1052"}\n",
1053"actions Chmod1\n",
1054"{\n",
1055"$(CHMOD) $(MODE) $(<)\n",
1056"}\n",
1057"actions Chown\n",
1058"{\n",
1059"$(CHOWN) $(OWNER) $(<)\n",
1060"}\n",
1061"actions piecemeal together existing Clean\n",
1062"{\n",
1063"$(RM) $(>)\n",
1064"}\n",
1065"actions File\n",
1066"{\n",
1067"$(CP) $(>) $(<)\n",
1068"}\n",
1069"actions GenFile1\n",
1070"{\n",
1071"$(>[1]) $(<) $(>[2-])\n",
1072"}\n",
1073"actions Fortran\n",
1074"{\n",
1075"$(FORTRAN) $(FORTRANFLAGS) -o $(<) $(>)\n",
1076"}\n",
1077"actions HardLink\n",
1078"{\n",
1079"$(RM) $(<) && $(LN) $(>) $(<)\n",
1080"}\n",
1081"actions Install\n",
1082"{\n",
1083"$(CP) $(>) $(<) \n",
1084"}\n",
1085"actions Lex\n",
1086"{\n",
1087"$(LEX) $(>)\n",
1088"}\n",
1089"actions LexMv\n",
1090"{\n",
1091"$(MV) lex.yy.c $(<)\n",
1092"}\n",
1093"actions Link bind NEEDLIBS\n",
1094"{\n",
1095"$(LINK) $(LINKFLAGS) -o $(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS) \n",
1096"}\n",
1097"actions MkDir1\n",
1098"{\n",
1099"$(MKDIR) \"$(<)\"\n",
1100"}\n",
1101"actions together Ranlib\n",
1102"{\n",
1103"$(RANLIB) $(<)\n",
1104"}\n",
1105"actions quietly updated piecemeal together RmTemps\n",
1106"{\n",
1107"$(RM) $(>)\n",
1108"}\n",
1109"actions Shell\n",
1110"{\n",
1111"$(AWK) '\n",
1112"NR == 1 { print \"$(SHELLHEADER)\" }\n",
1113"NR == 1 && /^[#:]/ { next }\n",
1114"/^##/ { next }\n",
1115"{ print }\n",
1116"' < $(>) > $(<)\n",
1117"}\n",
1118"actions SoftLink\n",
1119"{\n",
1120"$(RM) $(<) && $(LN) -s $(>) $(<)\n",
1121"}\n",
1122"actions Yacc1\n",
1123"{\n",
1124"$(YACC) $(YACCFLAGS) $(>)\n",
1125"}\n",
1126"actions YaccMv\n",
1127"{\n",
1128"$(MV) $(YACCFILES).c $(<[1])\n",
1129"$(MV) $(YACCFILES).h $(<[2])\n",
1130"}\n",
1131"if $(RELOCATE)\n",
1132"{\n",
1133"actions C++\n",
1134"{\n",
1135"$(C++) -c $(C++FLAGS) $(CCDEFS) $(CCHDRS) $(>)\n",
1136"}\n",
1137"actions Cc\n",
1138"{\n",
1139"$(CC) -c $(CCFLAGS) $(CCDEFS) $(CCHDRS) $(>)\n",
1140"}\n",
1141"actions ignore CcMv\n",
1142"{\n",
1143"[ $(<) != $(>:BS=$(SUFOBJ)) ] && $(MV) $(>:BS=$(SUFOBJ)) $(<)\n",
1144"}\n",
1145"}\n",
1146"if $(NOARUPDATE)\n",
1147"{\n",
1148"actions Archive\n",
1149"{\n",
1150"$(AR) $(<) $(>)\n",
1151"}\n",
1152"}\n",
1153"if $(UNIX)\n",
1154"{\n",
1155"actions GenFile1\n",
1156"{\n",
1157"PATH=\"$PATH:.\"\n",
1158"$(>[1]) $(<) $(>[2-])\n",
1159"}\n",
1160"}\n",
1161"if $(NT) && $(MSVCNT)\n",
1162"{\n",
1163"actions updated together piecemeal Archive\n",
1164"{\n",
1165"if exist $(<) set _$(<:B)_=$(<)\n",
1166"$(AR) /out:$(<) %_$(<:B)_% $(>)\n",
1167"}\n",
1168"actions As\n",
1169"{\n",
1170"$(AS) /Ml /p /v /w2 $(>) $(<) ,nul,nul;\n",
1171"}\n",
1172"actions Cc\n",
1173"{\n",
1174"$(CC) /c /Fo$(<) $(CCFLAGS) $(CCDEFS) $(CCHDRS) /I$(STDHDRS) $(>)\n",
1175"}\n",
1176"actions C++\n",
1177"{\n",
1178"$(C++) /c /Fo$(<) $(C++FLAGS) $(CCDEFS) $(CCHDRS) /I$(STDHDRS) /Tp$(>)\n",
1179"}\n",
1180"actions Link bind NEEDLIBS\n",
1181"{\n",
1182"$(LINK) $(LINKFLAGS) /out:$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n",
1183"}\n",
1184"}\n",
1185"else if $(NT) && $(MSVC)\n",
1186"{\n",
1187"actions updated together piecemeal Archive\n",
1188"{\n",
1189"$(AR) $(<) -+$(>)\n",
1190"}\n",
1191"actions Cc\n",
1192"{\n",
1193"$(CC) /c /Fo$(<) $(CCFLAGS) $(CCDEFS) $(CCHDRS) $(>)\n",
1194"}\n",
1195"actions C++\n",
1196"{\n",
1197"$(C++) /c /Fo$(<) $(C++FLAGS) $(CCDEFS) $(CCHDRS) /Tp$(>)\n",
1198"}\n",
1199"actions Link bind NEEDLIBS\n",
1200"{\n",
1201"$(LINK) $(LINKFLAGS) /out:$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n",
1202"}\n",
1203"}\n",
1204"else if $(NT) && $(BCCROOT)\n",
1205"{\n",
1206"actions updated together piecemeal Archive\n",
1207"{\n",
1208"$(AR) $(<) -+$(>)\n",
1209"}\n",
1210"actions Link bind NEEDLIBS\n",
1211"{\n",
1212"$(LINK) -e$(<) $(LINKFLAGS) $(UNDEFS) -L$(LINKLIBS) $(NEEDLIBS) $(>)\n",
1213"}\n",
1214"actions C++\n",
1215"{\n",
1216"$(C++) -c -o$(<) $(C++FLAGS) $(CCDEFS) $(CCHDRS) $(>)\n",
1217"}\n",
1218"actions Cc\n",
1219"{\n",
1220"$(CC) -c -o$(<) $(CCFLAGS) $(CCDEFS) $(CCHDRS) $(>)\n",
1221"}\n",
1222"}\n",
1223"else if $(OS2) && $(WATCOM)\n",
1224"{\n",
1225"actions together piecemeal Archive\n",
1226"{\n",
1227"$(AR) $(<) +-$(>) \n",
1228"}\n",
1229"actions Cc\n",
1230"{\n",
1231"$(CC) /Fo=$(<) $(CCFLAGS) $(CCDEFS) $(CCHDRS) $(>)\n",
1232"}\n",
1233"actions C++\n",
1234"{\n",
1235"$(C++) /Fo=$(<) $(C++FLAGS) $(CCDEFS) $(CCHDRS) $(>)\n",
1236"}\n",
1237"actions Link bind NEEDLIBS\n",
1238"{\n",
1239"$(LINK) $(LINKFLAGS) /Fe=$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n",
1240"}\n",
1241"actions Shell\n",
1242"{\n",
1243"$(CP) $(>) $(<)\n",
1244"}\n",
1245"}\n",
1246"else if $(VMS)\n",
1247"{\n",
1248"actions updated together piecemeal Archive \n",
1249"{\n",
1250"lib/replace $(<) $(>[1]) ,$(>[2-])\n",
1251"}\n",
1252"actions Cc\n",
1253"{ \n",
1254"$(CC)/obj=$(<) $(CCFLAGS) $(CCDEFS) $(CCHDRS) $(>) \n",
1255"}\n",
1256"actions C++\n",
1257"{ \n",
1258"$(C++)/obj=$(<) $(C++FLAGS) $(CCDEFS) $(CCHDRS) $(>) \n",
1259"}\n",
1260"actions piecemeal together existing Clean\n",
1261"{\n",
1262"$(RM) $(>[1]);* ,$(>[2-]);*\n",
1263"}\n",
1264"actions together quietly CreLib\n",
1265"{\n",
1266"if f$search(\"$(<)\") .eqs. \"\" then lib/create $(<)\n",
1267"}\n",
1268"actions GenFile1\n",
1269"{\n",
1270"mcr $(>[1]) $(<) $(>[2-])\n",
1271"}\n",
1272"actions Link bind NEEDLIBS\n",
1273"{\n",
1274"$(LINK)/exe=$(<) $(LINKFLAGS) $(>:J=,) ,$(NEEDLIBS)/lib ,$(LINKLIBS)\n",
1275"}\n",
1276"actions quietly updated piecemeal together RmTemps\n",
1277"{\n",
1278"$(RM) $(>[1]);* ,$(>[2-]);*\n",
1279"}\n",
1280"actions Shell\n",
1281"{\n",
1282"$(CP) $(>) $(<)\n",
1283"}\n",
1284"}\n",
1285"else if $(MAC)\n",
1286"{\n",
1287"actions together Archive \n",
1288"{\n",
1289"$(LINK) -library -o $(<) $(>)\n",
1290"}\n",
1291"actions Cc\n",
1292"{\n",
1293"set -e MWCincludes $(CCHDRS)\n",
1294"$(CC) -o $(<) $(CCFLAGS) $(CCDEFS) $(>) \n",
1295"}\n",
1296"actions C++\n",
1297"{\n",
1298"set -e MWCincludes $(CCHDRS)\n",
1299"$(CC) -o $(<) $(C++FLAGS) $(CCDEFS) $(>) \n",
1300"}\n",
1301"actions Link bind NEEDLIBS\n",
1302"{\n",
1303"$(LINK) -o $(<) $(LINKFLAGS) $(>) $(NEEDLIBS) \"$(LINKLIBS)\"\n",
1304"}\n",
1305"}\n",
1306"if $(WIN98)\n",
1307"{\n",
1308"actions existing Clean\n",
1309"{\n",
1310"del $(>)\n",
1311"}\n",
1312"}\n",
1313"rule BULK { Bulk $(<) : $(>) ; }\n",
1314"rule FILE { File $(<) : $(>) ; }\n",
1315"rule HDRRULE { HdrRule $(<) : $(>) ; }\n",
1316"rule INSTALL { Install $(<) : $(>) ; }\n",
1317"rule LIBRARY { Library $(<) : $(>) ; }\n",
1318"rule LIBS { LinkLibraries $(<) : $(>) ; }\n",
1319"rule LINK { Link $(<) : $(>) ; }\n",
1320"rule MAIN { Main $(<) : $(>) ; }\n",
1321"rule SETUID { Setuid $(<) ; }\n",
1322"rule SHELL { Shell $(<) : $(>) ; }\n",
1323"rule UNDEFINES { Undefines $(<) : $(>) ; }\n",
1324"rule INSTALLBIN { InstallBin $(BINDIR) : $(<) ; }\n",
1325"rule INSTALLLIB { InstallLib $(LIBDIR) : $(<) ; }\n",
1326"rule INSTALLMAN { InstallMan $(MANDIR) : $(<) ; }\n",
1327"rule addDirName { $(<) += [ FDirName $(>) ] ; }\n",
1328"rule makeCommon { FStripCommon $(<) : $(>) ; }\n",
1329"rule _makeCommon { FStripCommon $(<) : $(>) ; }\n",
1330"rule makeDirName { $(<) = [ FDirName $(>) ] ; }\n",
1331"rule makeGrist { $(<) = [ FGrist $(>) ] ; }\n",
1332"rule makeGristedName { $(<) = [ FGristSourceFiles $(>) ] ; }\n",
1333"rule makeRelPath { $(<[1]) = [ FRelPath $(<[2-]) : $(>) ] ; }\n",
1334"rule makeString { $(<) = $(>:J) ; }\n",
1335"rule makeSubDir { $(<) = [ FSubDir $(>) ] ; }\n",
1336"rule makeSuffixed { $(<[1]) = [ FAppendSuffix $(>) : $(<[2]) ] ; }\n",
1337"include $(JAMFILE) ;\n",
13380 };
1339