Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_33_1/tools/build/jam_src/jambase.c @ 12

Last change on this file since 12 was 12, checked in by landauf, 17 years ago

added boost

File size: 41.4 KB
Line 
1/* Generated by mkjambase from Jambase */
2char *jambase[] = {
3/* Jambase */
4"if $(NT)\n",
5"{\n",
6"SLASH ?= \\\\ ;\n",
7"}\n",
8"SLASH ?= / ;\n",
9"rule find-to-root ( dir : patterns + )\n",
10"{\n",
11"local globs = [ GLOB $(dir) : $(patterns) ] ;\n",
12"while ! $(globs) && $(dir:P) != $(dir)\n",
13"{\n",
14"dir = $(dir:P) ;\n",
15"globs = [ GLOB $(dir) : $(patterns) ] ;\n",
16"}\n",
17"return $(globs) ;\n",
18"}\n",
19".boost-build-file = ;\n",
20".bootstrap-file = ;\n",
21"BOOST_BUILD_PATH.user-value = $(BOOST_BUILD_PATH) ;\n",
22"if ! $(BOOST_BUILD_PATH) && $(UNIX)\n",
23"{\n",
24"BOOST_BUILD_PATH = /usr/share/boost-build ;\n",
25"}\n",
26"rule _poke ( module-name ? : variables + : value * )\n",
27"{\n",
28"module $(<)\n",
29"{\n",
30"$(>) = $(3) ;\n",
31"}\n",
32"}\n",
33"rule boost-build ( dir ? )\n",
34"{\n",
35"if $(.bootstrap-file)\n",
36"{\n",
37"EXIT \"Error: Illegal attempt to re-bootstrap the build system by invoking\" ;\n",
38"ECHO ;\n",
39"ECHO \"   'boost-build\" $(dir) \";'\" ;\n",
40"ECHO ;\n",
41"EXIT \"Please consult the documentation at 'http://www.boost.org'.\" ;\n",
42"}\n",
43"BOOST_BUILD_PATH = $(dir:R=$(.boost-build-file:D)) $(BOOST_BUILD_PATH) ;\n",
44"_poke .ENVIRON : BOOST_BUILD_PATH : $(BOOST_BUILD_PATH) ;\n",
45"local bootstrap-file =\n",
46"[ GLOB $(BOOST_BUILD_PATH) : bootstrap.jam ] ;\n",
47".bootstrap-file = $(bootstrap-file[1]) ;\n",
48"if ! $(.bootstrap-file)\n",
49"{\n",
50"ECHO \"Unable to load Boost.Build: could not find build system.\" ;\n",
51"ECHO --------------------------------------------------------- ;\n",
52"ECHO \"$(.boost-build-file) attempted to load the build system by invoking\" ;\n",
53"ECHO ;\n",
54"ECHO \"   'boost-build\" $(dir) \";'\" ;\n",
55"ECHO ;\n",
56"ECHO \"but we were unable to find \\\"bootstrap.jam\\\" in the specified directory\" ;\n",
57"ECHO \"or in BOOST_BUILD_PATH (searching \"$(BOOST_BUILD_PATH:J=\", \")\").\" ;\n",
58"ECHO ;\n",
59"EXIT \"Please consult the documentation at 'http://www.boost.org'.\" ;\n",
60"}\n",
61"if [ MATCH .*(--debug-configuration).* : $(ARGV) ]\n",
62"{\n",
63"ECHO \"notice: loading Boost.Build from\" \n",
64"[ NORMALIZE_PATH $(.bootstrap-file:D) ] ;\n",
65"}\n",
66"include $(.bootstrap-file) ;\n",
67"}\n",
68"if [ MATCH .*(bjam).* : $(ARGV[1]:BL) ]\n",
69"|| $(BOOST_ROOT)    # A temporary measure so Jam works with Boost.Build v1\n",
70"{\n",
71"local search-path = $(BOOST_BUILD_PATH) $(BOOST_ROOT) ;\n",
72"local boost-build-files =\n",
73"[ find-to-root [ PWD ] : boost-build.jam ]\n",
74"[ GLOB $(search-path) : boost-build.jam ] ;\n",
75".boost-build-file = $(boost-build-files[1]) ;\n",
76"if ! $(.boost-build-file)\n",
77"{\n",
78"ECHO \"Unable to load Boost.Build: could not find \\\"boost-build.jam\\\"\" ;\n",
79"ECHO --------------------------------------------------------------- ;\n",
80"if ! [ MATCH .*(bjam).* : $(ARGV[1]:BL) ]\n",
81"{\n",
82"ECHO \"BOOST_ROOT must be set, either in the environment, or \" ;\n",
83"ECHO \"on the command-line with -sBOOST_ROOT=..., to the root\" ;\n",
84"ECHO \"of the boost installation.\" ;\n",
85"ECHO ;\n",
86"}\n",
87"ECHO \"Attempted search from\" [ PWD ] \"up to the root\" ;\n",
88"ECHO \"and in these directories from BOOST_BUILD_PATH and BOOST_ROOT: \"$(search-path:J=\", \")\".\" ;\n",
89"EXIT \"Please consult the documentation at 'http://www.boost.org'.\" ;\n",
90"}\n",
91"if [ MATCH .*(--debug-configuration).* : $(ARGV) ]      \n",
92"{\n",
93"ECHO \"notice: found boost-build.jam at\" \n",
94"[ NORMALIZE_PATH $(.boost-build-file) ] ;\n",
95"}\n",
96"include $(.boost-build-file) ;\n",
97"if ! $(.bootstrap-file)\n",
98"{\n",
99"ECHO \"Unable to load Boost.Build\" ;\n",
100"ECHO -------------------------- ;\n",
101"ECHO \"\\\"$(.boost-build-file)\\\" was found by searching from\" [ PWD ] \"up to the root\" ;\n",
102"ECHO \"and in these directories from BOOST_BUILD_PATH and BOOST_ROOT: \"$(search-path:J=\", \")\".\" ;\n",
103"ECHO ;\n",
104"ECHO \"However, it failed to call the \\\"boost-build\\\" rule to indicate\" ;\n",
105"ECHO \"the location of the build system.\" ;\n",
106"ECHO ;\n",
107"EXIT \"Please consult the documentation at 'http://www.boost.org'.\" ;\n",
108"}\n",
109"}\n",
110"else\n",
111"{\n",
112"if $(NT)\n",
113"{\n",
114"local SUPPORTED_TOOLSETS = \"BORLANDC\" \"VC7\" \"VISUALC\" \"VISUALC16\" \"INTELC\" \"WATCOM\"\n",
115"\"MINGW\" \"LCC\" ;\n",
116"TOOLSET = \"\" ;\n",
117"if $(JAM_TOOLSET)\n",
118"{\n",
119"local t ;\n",
120"for t in $(SUPPORTED_TOOLSETS)\n",
121"{\n",
122"$(t) = $($(t):J=\" \") ; # reconstitute paths with spaces in them\n",
123"if $(t) = $(JAM_TOOLSET) { TOOLSET = $(t) ; }\n",
124"}\n",
125"if ! $(TOOLSET)\n",
126"{\n",
127"ECHO  \"The JAM_TOOLSET environment variable is defined but its value\" ;\n",
128"ECHO  \"is invalid, please use one of the following:\" ;\n",
129"ECHO  ;\n",
130"for t in $(SUPPORTED_TOOLSETS) { ECHO \"  \" $(t) ; }\n",
131"EXIT ;\n",
132"}\n",
133"}\n",
134"if ! $(TOOLSET)\n",
135"{\n",
136"if $(BCCROOT)\n",
137"{\n",
138"TOOLSET  = BORLANDC ;\n",
139"BORLANDC = $(BCCROOT:J=\" \") ;\n",
140"}\n",
141"else if $(MSVC)\n",
142"{\n",
143"TOOLSET   = VISUALC16 ;\n",
144"VISUALC16 = $(MSVC:J=\" \") ;\n",
145"}\n",
146"else if $(MSVCNT)\n",
147"{\n",
148"TOOLSET = VISUALC ;\n",
149"VISUALC = $(MSVCNT:J=\" \") ;\n",
150"}\n",
151"else if $(MSVCDir)\n",
152"{\n",
153"TOOLSET = VISUALC ;\n",
154"VISUALC = $(MSVCDir:J=\" \") ;\n",
155"}\n",
156"else if $(MINGW)\n",
157"{\n",
158"TOOLSET = MINGW ;\n",
159"}\n",
160"else\n",
161"{\n",
162"ECHO  \"Jam cannot be run because, either:\" ;\n",
163"ECHO  \"   a. You didn't set BOOST_ROOT to indicate the root of your\" ;\n",
164"ECHO  \"      Boost installation.\" ;\n",
165"ECHO  \"   b. You are trying to use stock Jam but didn't indicate which\" ;\n",
166"ECHO  \"      compilation toolset to use. To do so, follow these simple\" ;\n",
167"ECHO  \"      instructions:\" ;\n",
168"ECHO  ;\n",
169"ECHO  \"  - define one of the following environment variable, with the\" ;\n",
170"ECHO  \"    appropriate value according to this list:\" ;\n",
171"ECHO  ;\n",
172"ECHO  \"   Variable    Toolset                      Description\" ;\n",
173"ECHO  ;\n",
174"ECHO  \"   BORLANDC    Borland C++                  BC++ install path\" ;\n",
175"ECHO  \"   VISUALC     Microsoft Visual C++         VC++ install path\" ;\n",
176"ECHO  \"   VISUALC16   Microsoft Visual C++ 16 bit  VC++ 16 bit install\" ;\n",
177"ECHO  \"   INTELC      Intel C/C++                  IC++ install path\" ;\n",
178"ECHO  \"   WATCOM      Watcom C/C++                 Watcom install path\" ;\n",
179"ECHO  \"   MINGW       MinGW (gcc)                  MinGW install path\" ;\n",
180"ECHO  \"   LCC         Win32-LCC                    LCC-Win32 install path\" ;\n",
181"ECHO  ;\n",
182"ECHO  \"  - define the JAM_TOOLSET environment variable with the *name*\" ;\n",
183"ECHO  \"    of the toolset variable you want to use.\" ;\n",
184"ECHO  ;\n",
185"ECHO  \"  e.g.:  set VISUALC=C:\\\\Visual6\" ;\n",
186"ECHO  \"         set JAM_TOOLSET=VISUALC\" ;\n",
187"EXIT  ;\n",
188"}\n",
189"}\n",
190"CP          ?= copy ;\n",
191"RM          ?= del /f/q ;\n",
192"SLASH       ?= \\\\ ;\n",
193"SUFLIB      ?= .lib ;\n",
194"SUFOBJ      ?= .obj ;\n",
195"SUFEXE      ?= .exe ;\n",
196"if $(TOOLSET) = BORLANDC\n",
197"{\n",
198"ECHO \"Compiler is Borland C++\" ;\n",
199"AR          ?= tlib /C /P64 ;\n",
200"CC          ?= bcc32 ;\n",
201"CCFLAGS     ?= -q -y -d -v -w-par -w-ccc -w-rch -w-pro -w-aus ;\n",
202"C++         ?= bcc32 ;\n",
203"C++FLAGS    ?= -q -y -d -v -w-par -w-ccc -w-rch -w-pro -w-aus -P ;\n",
204"LINK        ?= $(CC) ;\n",
205"LINKFLAGS   ?= $(CCFLAGS) ;\n",
206"STDLIBPATH  ?= $(BORLANDC)\\\\lib ;\n",
207"STDHDRS     ?= $(BORLANDC)\\\\include ;\n",
208"NOARSCAN    ?= true ;\n",
209"}\n",
210"else if $(TOOLSET) = VISUALC16\n",
211"{\n",
212"ECHO \"Compiler is Microsoft Visual C++ 16 bit\" ;\n",
213"AR          ?= lib /nologo ;\n",
214"CC          ?= cl /nologo ;\n",
215"CCFLAGS     ?= /D \\\"WIN\\\" ;\n",
216"C++         ?= $(CC) ;\n",
217"C++FLAGS    ?= $(CCFLAGS) ;\n",
218"LINK        ?= $(CC) ;\n",
219"LINKFLAGS   ?= $(CCFLAGS) ;\n",
220"LINKLIBS    ?= \n",
221"\\\"$(VISUALC16)\\\\lib\\\\mlibce.lib\\\"\n",
222"\\\"$(VISUALC16)\\\\lib\\\\oldnames.lib\\\"\n",
223";\n",
224"LINKLIBS    ?= ;\n",
225"NOARSCAN    ?= true ;\n",
226"OPTIM       ?= \"\" ;\n",
227"STDHDRS     ?= $(VISUALC16)\\\\include ;\n",
228"UNDEFFLAG   ?= \"/u _\" ;\n",
229"}\n",
230"else if $(TOOLSET) = VISUALC\n",
231"{\n",
232"ECHO \"Compiler is Microsoft Visual C++\" ;\n",
233"AR          ?= lib ;\n",
234"AS          ?= masm386 ;\n",
235"CC          ?= cl /nologo ;\n",
236"CCFLAGS     ?= \"\" ;\n",
237"C++         ?= $(CC) ;\n",
238"C++FLAGS    ?= $(CCFLAGS) ;\n",
239"LINK        ?= link /nologo ;\n",
240"LINKFLAGS   ?= \"\" ;\n",
241"LINKLIBS    ?= \\\"$(VISUALC)\\\\lib\\\\advapi32.lib\\\"\n",
242"\\\"$(VISUALC)\\\\lib\\\\gdi32.lib\\\"\n",
243"\\\"$(VISUALC)\\\\lib\\\\user32.lib\\\"\n",
244"\\\"$(VISUALC)\\\\lib\\\\kernel32.lib\\\" ;\n",
245"OPTIM       ?= \"\" ;\n",
246"STDHDRS     ?= $(VISUALC)\\\\include ;\n",
247"UNDEFFLAG   ?= \"/u _\" ;\n",
248"}\n",
249"else if $(TOOLSET) = VC7\n",
250"{\n",
251"ECHO \"Compiler is Microsoft Visual C++ .NET\" ;\n",
252"AR          ?= lib ;\n",
253"AS          ?= masm386 ;\n",
254"CC          ?= cl /nologo ;\n",
255"CCFLAGS     ?= \"\" ;\n",
256"C++         ?= $(CC) ;\n",
257"C++FLAGS    ?= $(CCFLAGS) ;\n",
258"LINK        ?= link /nologo ;\n",
259"LINKFLAGS   ?= \"\" ;\n",
260"LINKLIBS    ?= \\\"$(VISUALC)\\\\PlatformSDK\\\\lib\\\\advapi32.lib\\\"\n",
261"\\\"$(VISUALC)\\\\PlatformSDK\\\\lib\\\\gdi32.lib\\\"\n",
262"\\\"$(VISUALC)\\\\PlatformSDK\\\\lib\\\\user32.lib\\\"\n",
263"\\\"$(VISUALC)\\\\PlatformSDK\\\\lib\\\\kernel32.lib\\\" ;\n",
264"OPTIM       ?= \"\" ;\n",
265"STDHDRS     ?= \\\"$(VISUALC)\\\\include\\\"\n",
266"\\\"$(VISUALC)\\\\PlatformSDK\\\\include\\\" ;\n",
267"UNDEFFLAG   ?= \"/u _\" ;\n",
268"}\n",
269"else if $(TOOLSET) = INTELC\n",
270"{\n",
271"ECHO \"Compiler is Intel C/C++\" ;\n",
272"if ! $(VISUALC)\n",
273"{\n",
274"ECHO \"As a special exception, when using the Intel C++ compiler, you need\" ;\n",
275"ECHO \"to define the VISUALC environment variable to indicate the location\" ;\n",
276"ECHO \"of your Visual C++ installation. Aborting..\" ;\n",
277"EXIT ;\n",
278"}\n",
279"AR          ?= lib ;\n",
280"AS          ?= masm386 ;\n",
281"CC          ?= icl /nologo ;\n",
282"CCFLAGS     ?= \"\" ;\n",
283"C++         ?= $(CC) ;\n",
284"C++FLAGS    ?= $(CCFLAGS) ;\n",
285"LINK        ?= link /nologo ;\n",
286"LINKFLAGS   ?= \"\" ;\n",
287"LINKLIBS    ?= $(VISUALC)\\\\lib\\\\advapi32.lib\n",
288"$(VISUALC)\\\\lib\\\\kernel32.lib\n",
289";\n",
290"OPTIM       ?= \"\" ;\n",
291"STDHDRS     ?= $(INTELC)\\include $(VISUALC)\\\\include ;\n",
292"UNDEFFLAG   ?= \"/u _\" ;\n",
293"}\n",
294"else if $(TOOLSET) = WATCOM\n",
295"{\n",
296"ECHO \"Compiler is Watcom C/C++\" ;\n",
297"AR          ?= wlib ;\n",
298"CC          ?= wcc386 ;\n",
299"CCFLAGS     ?= /zq /DWIN32 /I$(WATCOM)\\\\h ; # zq=quiet\n",
300"C++         ?= wpp386 ;\n",
301"C++FLAGS    ?= $(CCFLAGS) ;\n",
302"CP          ?= copy ;\n",
303"DOT         ?= . ;\n",
304"DOTDOT      ?= .. ;\n",
305"LINK        ?= wcl386 ;\n",
306"LINKFLAGS   ?= /zq ; # zq=quiet\n",
307"LINKLIBS    ?= ;\n",
308"MV          ?= move ;\n",
309"NOARSCAN    ?= true ;\n",
310"OPTIM       ?= ;\n",
311"RM          ?= del /f ;\n",
312"SLASH       ?= \\\\ ;\n",
313"STDHDRS     ?= $(WATCOM)\\\\h $(WATCOM)\\\\h\\\\nt ;\n",
314"SUFEXE      ?= .exe ;\n",
315"SUFLIB      ?= .lib ;\n",
316"SUFOBJ      ?= .obj ;\n",
317"UNDEFFLAG   ?= \"/u _\" ;\n",
318"}\n",
319"else if $(TOOLSET) = MINGW\n",
320"{\n",
321"ECHO \"Compiler is GCC with Mingw\" ;\n",
322"AR              ?= ar -ru ;\n",
323"CC              ?= gcc ;\n",
324"CCFLAGS         ?= \"\" ;\n",
325"C++             ?= $(CC) ;\n",
326"C++FLAGS        ?= $(CCFLAGS) ;\n",
327"LINK            ?= $(CC) ;\n",
328"LINKFLAGS       ?= \"\" ;\n",
329"LINKLIBS        ?= \"\" ;\n",
330"OPTIM           ?= ;\n",
331"SUFOBJ           = .o ;\n",
332"SUFLIB           = .a ;\n",
333"SLASH            = / ;\n",
334"}\n",
335"else if $(TOOLSET) = LCC\n",
336"{\n",
337"ECHO \"Compiler is Win32-LCC\" ;\n",
338"AR              ?= lcclib ;\n",
339"CC              ?= lcc ;\n",
340"CCFLAGS         ?= \"\" ;\n",
341"C++             ?= $(CC) ;\n",
342"C++FLAGS        ?= $(CCFLAGS) ;\n",
343"LINK            ?= lcclnk ;\n",
344"LINKFLAGS       ?= \"\" ;\n",
345"LINKLIBS        ?= \"\" ;\n",
346"OPTIM           ?= ;\n",
347"NOARSCAN         = true ;\n",
348"}\n",
349"else\n",
350"{\n",
351"EXIT On NT, set BCCROOT, MSVCNT, MINGW or MSVC to the root of the\n",
352"Borland or Microsoft directories. ;\n",
353"}\n",
354"}\n",
355"else if $(OS2)\n",
356"{\n",
357"local SUPPORTED_TOOLSETS = \"EMX\" \"WATCOM\" ;\n",
358"TOOLSET = \"\" ;\n",
359"if $(JAM_TOOLSET)\n",
360"{\n",
361"local t ;\n",
362"for t in $(SUPPORTED_TOOLSETS)\n",
363"{\n",
364"$(t) = $($(t):J=\" \") ; # reconstitute paths with spaces in them\n",
365"if $(t) = $(JAM_TOOLSET) { TOOLSET = $(t) ; }\n",
366"}\n",
367"if ! $(TOOLSET)\n",
368"{\n",
369"ECHO  \"The JAM_TOOLSET environment variable is defined but its value\" ;\n",
370"ECHO  \"is invalid, please use one of the following:\" ;\n",
371"ECHO  ;\n",
372"for t in $(SUPPORTED_TOOLSETS) { ECHO \"  \" $(t) ; }\n",
373"EXIT ;\n",
374"}\n",
375"}\n",
376"if ! $(TOOLSET)\n",
377"{\n",
378"if $(watcom)\n",
379"{\n",
380"WATCOM   = $(watcom:J=\" \") ;\n",
381"TOOLSET  = WATCOM ;\n",
382"}\n",
383"else\n",
384"{\n",
385"ECHO  \"Jam cannot be run because you didn't indicate which compilation toolset\" ;\n",
386"ECHO  \"to use. To do so, follow these simple instructions:\" ;\n",
387"ECHO  ;\n",
388"ECHO  \"  - define one of the following environment variable, with the\" ;\n",
389"ECHO  \"    appropriate value according to this list:\" ;\n",
390"ECHO  ;\n",
391"ECHO  \"   Variable    Toolset                      Description\" ;\n",
392"ECHO  ;\n",
393"ECHO  \"   WATCOM      Watcom C/C++                 Watcom install path\" ;\n",
394"ECHO  \"   EMX         EMX (gcc)                    EMX install path\" ;\n",
395"ECHO  \"   VISUALAGE   IBM Visual Age C/C++         VisualAge install path\" ;\n",
396"ECHO  ;\n",
397"ECHO  \"  - define the JAM_TOOLSET environment variable with the *name*\" ;\n",
398"ECHO  \"    of the toolset variable you want to use.\" ;\n",
399"ECHO  ;\n",
400"ECHO  \"  e.g.:  set WATCOM=C:\\WATCOM\" ;\n",
401"ECHO  \"         set JAM_TOOLSET=WATCOM\" ;\n",
402"ECHO  ;\n",
403"EXIT  ;\n",
404"}\n",
405"}\n",
406"RM       = del /f ;\n",
407"CP       = copy ;\n",
408"MV      ?= move ;\n",
409"DOT     ?= . ;\n",
410"DOTDOT  ?= .. ;\n",
411"SUFLIB  ?= .lib ;\n",
412"SUFOBJ  ?= .obj ;\n",
413"SUFEXE  ?= .exe ;\n",
414"if $(TOOLSET) = WATCOM\n",
415"{\n",
416"AR           ?= wlib ;\n",
417"BINDIR       ?= \\\\os2\\\\apps ;\n",
418"CC           ?= wcc386 ;\n",
419"CCFLAGS      ?= /zq /DOS2 /I$(WATCOM)\\\\h ; # zq=quiet\n",
420"C++          ?= wpp386 ;\n",
421"C++FLAGS     ?= $(CCFLAGS) ;\n",
422"LINK         ?= wcl386 ;\n",
423"LINKFLAGS    ?= /zq ; # zq=quiet\n",
424"LINKLIBS     ?= ;\n",
425"NOARSCAN     ?= true ;\n",
426"OPTIM        ?= ;\n",
427"SLASH        ?= \\\\ ;\n",
428"STDHDRS      ?= $(WATCOM)\\\\h ;\n",
429"UNDEFFLAG    ?= \"/u _\" ;\n",
430"}\n",
431"else if $(TOOLSET) = EMX\n",
432"{\n",
433"ECHO \"Compiler is GCC-EMX\" ;\n",
434"AR            ?= ar -ru ;\n",
435"CC            ?= gcc ;\n",
436"CCFLAGS       ?= \"\" ;\n",
437"C++           ?= $(CC) ;\n",
438"C++FLAGS      ?= $(CCFLAGS) ;\n",
439"LINK          ?= $(CC) ;\n",
440"LINKFLAGS     ?= \"\" ;\n",
441"LINKLIBS      ?= \"\" ;\n",
442"OPTIM         ?= ;\n",
443"SUFOBJ         = .o ;\n",
444"SUFLIB         = .a ;\n",
445"UNDEFFLAG     ?= \"-U\" ;\n",
446"SLASH          = / ;\n",
447"}\n",
448"else\n",
449"{\n",
450"EXIT  \"Sorry, but the $(JAM_TOOLSET) toolset isn't supported for now\" ;\n",
451"}\n",
452"}\n",
453"else if $(VMS)\n",
454"{\n",
455"C++         ?= cxx ;\n",
456"C++FLAGS    ?= ;\n",
457"CC          ?= cc ;\n",
458"CCFLAGS     ?= ;\n",
459"CHMOD       ?= set file/prot= ;\n",
460"CP          ?= copy/replace ;\n",
461"CRELIB      ?= true ;\n",
462"DOT         ?= [] ;\n",
463"DOTDOT      ?= [-] ;\n",
464"EXEMODE     ?= (w:e) ;\n",
465"FILEMODE    ?= (w:r) ;\n",
466"HDRS        ?= ;\n",
467"LINK        ?= link ;\n",
468"LINKFLAGS   ?= \"\" ;\n",
469"LINKLIBS    ?= ;\n",
470"MKDIR       ?= create/dir ;\n",
471"MV          ?= rename ;\n",
472"OPTIM       ?= \"\" ;\n",
473"RM          ?= delete ;\n",
474"RUNVMS      ?= mcr ;\n",
475"SHELLMODE   ?= (w:er) ;\n",
476"SLASH       ?= . ;\n",
477"STDHDRS     ?= decc$library_include ;\n",
478"SUFEXE      ?= .exe ;\n",
479"SUFLIB      ?= .olb ;\n",
480"SUFOBJ      ?= .obj ;\n",
481"switch $(OS) \n",
482"{\n",
483"case OPENVMS : CCFLAGS  ?= /stand=vaxc ;\n",
484"case VMS     : LINKLIBS ?= sys$library:vaxcrtl.olb/lib ;\n",
485"}\n",
486"}\n",
487"else if $(MAC)\n",
488"{\n",
489"local OPT ;\n",
490"CW  ?= \"{CW}\" ;\n",
491"MACHDRS ?=\n",
492"\"$(UMACHDRS):Universal:Interfaces:CIncludes\"\n",
493"\"$(CW):MSL:MSL_C:MSL_Common:Include\"\n",
494"\"$(CW):MSL:MSL_C:MSL_MacOS:Include\" ;\n",
495"MACLIBS ?=\n",
496"\"$(CW):MacOS Support:Universal:Libraries:StubLibraries:Interfacelib\"\n",
497"\"$(CW):MacOS Support:Universal:Libraries:StubLibraries:Mathlib\" ;\n",
498"MPWLIBS ?= \n",
499"\"$(CW):MacOS Support:Libraries:Runtime:Runtime PPC:MSL MPWCRuntime.lib\"\n",
500"\"$(CW):MSL:MSL_C:MSL_MacOS:Lib:PPC:MSL C.PPC MPW.Lib\" ;\n",
501"MPWNLLIBS ?= \n",
502"\"$(CW):MacOS Support:Libraries:Runtime:Runtime PPC:MSL MPWCRuntime.lib\"\n",
503"\"$(CW):MSL:MSL_C:MSL_MacOS:Lib:PPC:MSL C.PPC MPW(NL).Lib\" ;\n",
504"SIOUXHDRS ?= ;\n",
505"SIOUXLIBS ?= \n",
506"\"$(CW):MacOS Support:Libraries:Runtime:Runtime PPC:MSL RuntimePPC.lib\"\n",
507"\"$(CW):MSL:MSL_C:MSL_MacOS:Lib:PPC:MSL SIOUX.PPC.Lib\" \n",
508"\"$(CW):MSL:MSL_C:MSL_MacOS:Lib:PPC:MSL C.PPC.Lib\" ;\n",
509"C++         ?= mwcppc ;\n",
510"C++FLAGS    ?= -w off -nomapcr ;\n",
511"CC          ?= mwcppc ;\n",
512"CCFLAGS     ?= -w off -nomapcr ;\n",
513"CP          ?= duplicate -y ;\n",
514"DOT         ?= \":\" ;\n",
515"DOTDOT      ?= \"::\" ;\n",
516"HDRS        ?= $(MACHDRS) $(MPWHDRS) ;\n",
517"LINK        ?= mwlinkppc ;\n",
518"LINKFLAGS   ?= -mpwtool -warn ;             \n",
519"LINKLIBS    ?= $(MACLIBS) $(MPWLIBS) ;              \n",
520"MKDIR       ?= newfolder ;\n",
521"MV          ?= rename -y ;\n",
522"NOARSCAN    ?= true ;\n",
523"OPTIM       ?= ;\n",
524"RM          ?= delete -y ;\n",
525"SLASH       ?= \":\" ;\n",
526"STDHDRS     ?= ; \n",
527"SUFLIB      ?= .lib ;\n",
528"SUFOBJ      ?= .o ;\n",
529"}\n",
530"else if $(OS) = BEOS && $(METROWERKS)\n",
531"{\n",
532"AR          ?= mwld -xml -o ;\n",
533"BINDIR      ?= /boot/apps ;\n",
534"CC          ?= mwcc ;\n",
535"CCFLAGS     ?= -nosyspath ;\n",
536"C++         ?= $(CC) ;\n",
537"C++FLAGS    ?= -nosyspath ;\n",
538"FORTRAN     ?= \"\" ;\n",
539"LIBDIR      ?= /boot/develop/libraries ;\n",
540"LINK        ?= mwld ;\n",
541"LINKFLAGS   ?= \"\" ;\n",
542"MANDIR      ?= /boot/documentation/\"Shell Tools\"/HTML ;\n",
543"NOARSCAN    ?= true ;\n",
544"STDHDRS     ?= /boot/develop/headers/posix ;\n",
545"}\n",
546"else if $(OS) = BEOS \n",
547"{\n",
548"BINDIR      ?= /boot/apps ;\n",
549"CC          ?= gcc ;\n",
550"C++         ?= $(CC) ;\n",
551"FORTRAN     ?= \"\" ;\n",
552"LIBDIR      ?= /boot/develop/libraries ;\n",
553"LINK        ?= gcc ;\n",
554"LINKLIBS    ?= -lnet ;\n",
555"NOARSCAN    ?= true ;\n",
556"STDHDRS     ?= /boot/develop/headers/posix ;\n",
557"}\n",
558"else if $(UNIX)\n",
559"{\n",
560"switch $(OS)\n",
561"{\n",
562"case AIX :\n",
563"LINKLIBS    ?= -lbsd ;\n",
564"case AMIGA :\n",
565"CC          ?= gcc ;\n",
566"YACC        ?= \"bison -y\" ;\n",
567"case CYGWIN :   \n",
568"CC          ?= gcc ;\n",
569"CCFLAGS     += -D__cygwin__ ;\n",
570"LEX         ?= flex ;\n",
571"RANLIB      ?= \"\" ;\n",
572"SUFEXE      ?= .exe ;\n",
573"YACC        ?= \"bison -y\" ;\n",
574"case DGUX :\n",
575"RANLIB      ?= \"\" ;\n",
576"RELOCATE    ?= true ;\n",
577"case HPUX :\n",
578"YACC        = ;\n",
579"CFLAGS      += -Ae ;\n",
580"CCFLAGS     += -Ae ;\n",
581"RANLIB      ?= \"\" ;\n",
582"case INTERIX :\n",
583"CC          ?= gcc ;\n",
584"RANLIB      ?= \"\" ;\n",
585"case IRIX :\n",
586"RANLIB      ?= \"\" ;\n",
587"case MPEIX :\n",
588"CC          ?= gcc ;\n",
589"C++         ?= gcc ;\n",
590"CCFLAGS     += -D_POSIX_SOURCE ;\n",
591"HDRS        += /usr/include ;\n",
592"RANLIB      ?= \"\" ; \n",
593"NOARSCAN    ?= true ;\n",
594"NOARUPDATE  ?= true ;\n",
595"case MVS :\n",
596"RANLIB      ?= \"\" ; \n",
597"case NEXT :\n",
598"AR          ?= libtool -o ;\n",
599"RANLIB      ?= \"\" ;\n",
600"case MACOSX :\n",
601"AR          ?= libtool -o ;\n",
602"C++         ?= c++ ;\n",
603"MANDIR      ?= /usr/local/share/man ;\n",
604"RANLIB      ?= \"\" ;\n",
605"case NCR :\n",
606"RANLIB      ?= \"\" ;\n",
607"case PTX :\n",
608"RANLIB      ?= \"\" ;\n",
609"case QNX :\n",
610"AR          ?= wlib ;\n",
611"CC          ?= cc ;\n",
612"CCFLAGS     ?= -Q ; # quiet\n",
613"C++         ?= $(CC) ;\n",
614"C++FLAGS    ?= -Q ; # quiet\n",
615"LINK        ?= $(CC) ;\n",
616"LINKFLAGS   ?= -Q ; # quiet\n",
617"NOARSCAN    ?= true ;\n",
618"RANLIB      ?= \"\" ;\n",
619"case SCO :\n",
620"RANLIB      ?= \"\" ;\n",
621"RELOCATE    ?= true ;\n",
622"case SINIX :\n",
623"RANLIB      ?= \"\" ;\n",
624"case SOLARIS :\n",
625"RANLIB      ?= \"\" ;\n",
626"AR          ?= \"/usr/ccs/bin/ar ru\" ;\n",
627"case UNICOS :\n",
628"NOARSCAN    ?= true ;\n",
629"OPTIM       ?= -O0 ;\n",
630"case UNIXWARE :\n",
631"RANLIB      ?= \"\" ;\n",
632"RELOCATE    ?= true ;\n",
633"}\n",
634"CCFLAGS     ?= ;\n",
635"C++FLAGS    ?= $(CCFLAGS) ;\n",
636"CHMOD       ?= chmod ;\n",
637"CHGRP       ?= chgrp ;\n",
638"CHOWN       ?= chown ;\n",
639"LEX         ?= lex ;\n",
640"LINKFLAGS   ?= $(CCFLAGS) ;\n",
641"LINKLIBS    ?= ;\n",
642"OPTIM       ?= -O ;\n",
643"RANLIB      ?= ranlib ;\n",
644"YACC        ?= yacc ;\n",
645"YACCFILES   ?= y.tab ;\n",
646"YACCFLAGS   ?= -d ;\n",
647"}\n",
648"AR          ?= ar ru ;\n",
649"AS          ?= as ;\n",
650"ASFLAGS     ?= ;\n",
651"AWK         ?= awk ;\n",
652"BINDIR      ?= /usr/local/bin ;\n",
653"C++         ?= cc ;\n",
654"C++FLAGS    ?= ;\n",
655"CC          ?= cc ;\n",
656"CCFLAGS     ?= ;\n",
657"CP          ?= cp -f ;\n",
658"CRELIB      ?= ;\n",
659"DOT         ?= . ;\n",
660"DOTDOT      ?= .. ;\n",
661"EXEMODE     ?= 711 ;\n",
662"FILEMODE    ?= 644 ;\n",
663"FORTRAN     ?= f77 ;\n",
664"FORTRANFLAGS ?= ;\n",
665"HDRS        ?= ;\n",
666"INSTALLGRIST ?= installed ;\n",
667"JAMFILE     ?= Jamfile ;\n",
668"JAMRULES    ?= Jamrules ;\n",
669"LEX         ?= ;\n",
670"LIBDIR      ?= /usr/local/lib ;\n",
671"LINK        ?= $(CC) ;\n",
672"LINKFLAGS   ?= ;\n",
673"LINKLIBS    ?= ;\n",
674"LN          ?= ln ;\n",
675"MANDIR      ?= /usr/local/man ;\n",
676"MKDIR       ?= mkdir ;\n",
677"MV          ?= mv -f ;\n",
678"OPTIM       ?= ;\n",
679"RCP         ?= rcp ;\n",
680"RM          ?= rm -f ;\n",
681"RSH         ?= rsh ;\n",
682"SED         ?= sed ;\n",
683"SHELLHEADER ?= \"#!/bin/sh\" ;\n",
684"SHELLMODE   ?= 755 ;\n",
685"SLASH       ?= / ;\n",
686"STDHDRS     ?= /usr/include ;\n",
687"SUFEXE      ?= \"\" ;\n",
688"SUFLIB      ?= .a ;\n",
689"SUFOBJ      ?= .o ;\n",
690"UNDEFFLAG   ?= \"-u _\" ;\n",
691"YACC        ?= ;\n",
692"YACCFILES   ?= ;\n",
693"YACCFLAGS   ?= ;\n",
694"HDRPATTERN = \n",
695"\"^[     ]*#[    ]*include[  ]*[<\\\"]([^\\\">]*)[\\\">].*$\" ;\n",
696"OSFULL = $(OS)$(OSVER)$(OSPLAT) $(OS)$(OSPLAT) $(OS)$(OSVER) $(OS) ;\n",
697"DEPENDS all : shell files lib exe obj ;\n",
698"DEPENDS all shell files lib exe obj : first ;\n",
699"NOTFILE all first shell files lib exe obj dirs clean uninstall ;\n",
700"ALWAYS clean uninstall ;\n",
701"rule As\n",
702"{\n",
703"DEPENDS $(<) : $(>) ;\n",
704"ASFLAGS on $(<) += $(ASFLAGS) $(SUBDIRASFLAGS) ;\n",
705"}\n",
706"rule Bulk\n",
707"{\n",
708"local i ;\n",
709"for i in $(>)\n",
710"{\n",
711"File $(i:D=$(<)) : $(i) ;\n",
712"}\n",
713"}\n",
714"rule Cc\n",
715"{\n",
716"local _h ;\n",
717"DEPENDS $(<) : $(>) ;\n",
718"CCFLAGS on $(<) += $(CCFLAGS) $(SUBDIRCCFLAGS) ;\n",
719"if $(RELOCATE)\n",
720"{\n",
721"CcMv $(<) : $(>) ;\n",
722"}\n",
723"_h = $(SEARCH_SOURCE) $(HDRS) $(SUBDIRHDRS) ;\n",
724"if $(VMS) && $(_h)\n",
725"{\n",
726"SLASHINC on $(<) = \"/inc=(\" $(_h[1]) ,$(_h[2-]) \")\" ;\n",
727"}\n",
728"else if $(MAC) && $(_h)\n",
729"{\n",
730"local _i _j ;\n",
731"_j = $(_h[1]) ;\n",
732"for _i in $(_h[2-])\n",
733"{\n",
734"_j = $(_j),$(_i) ;\n",
735"}\n",
736"MACINC on $(<) = \\\"$(_j)\\\" ;\n",
737"}\n",
738"}\n",
739"rule C++\n",
740"{\n",
741"local _h ;\n",
742"DEPENDS $(<) : $(>) ;\n",
743"C++FLAGS on $(<) += $(C++FLAGS) $(SUBDIRC++FLAGS) ;\n",
744"if $(RELOCATE)\n",
745"{\n",
746"CcMv $(<) : $(>) ;\n",
747"}\n",
748"_h = $(SEARCH_SOURCE) $(HDRS) $(SUBDIRHDRS) ;\n",
749"if $(VMS) && $(_h)\n",
750"{\n",
751"SLASHINC on $(<) = \"/inc=(\" $(_h[1]) ,$(_h[2-]) \")\" ;\n",
752"}\n",
753"else if $(MAC) && $(_h)\n",
754"{\n",
755"local _i _j ;\n",
756"_j = $(_h[1]) ;\n",
757"for _i in $(_h[2-])\n",
758"{\n",
759"_j = $(_j),$(_i) ;\n",
760"}\n",
761"MACINC on $(<) = \\\"$(_j)\\\" ;\n",
762"}\n",
763"}\n",
764"rule Chmod\n",
765"{\n",
766"if $(CHMOD) { Chmod1 $(<) ; }\n",
767"}\n",
768"rule File\n",
769"{\n",
770"DEPENDS files : $(<) ;\n",
771"DEPENDS $(<) : $(>) ;\n",
772"SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
773"MODE on $(<) = $(FILEMODE) ;\n",
774"Chmod $(<) ;\n",
775"}\n",
776"rule Fortran\n",
777"{\n",
778"DEPENDS $(<) : $(>) ;\n",
779"}\n",
780"rule GenFile \n",
781"{\n",
782"local _t = [ FGristSourceFiles $(<) ] ;\n",
783"local _s = [ FAppendSuffix $(>[1]) : $(SUFEXE) ] ;\n",
784"Depends $(_t) : $(_s) $(>[2-]) ;\n",
785"GenFile1 $(_t) : $(_s) $(>[2-]) ;\n",
786"Clean clean : $(_t) ;\n",
787"}\n",
788"rule GenFile1\n",
789"{\n",
790"MakeLocate $(<) : $(LOCATE_SOURCE) ;\n",
791"SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
792"}\n",
793"rule HardLink\n",
794"{\n",
795"DEPENDS files : $(<) ;\n",
796"DEPENDS $(<) : $(>) ;\n",
797"SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
798"}\n",
799"rule HdrMacroFile\n",
800"{\n",
801"HDRMACRO $(<) ;\n",
802"}\n",
803"rule HdrRule\n",
804"{\n",
805"local s ;\n",
806"if $(HDRGRIST) \n",
807"{ \n",
808"s = $(>:G=$(HDRGRIST)) ;\n",
809"} else { \n",
810"s = $(>) ; \n",
811"}\n",
812"INCLUDES $(<) : $(s) ;\n",
813"SEARCH on $(s) = $(HDRSEARCH) ;\n",
814"NOCARE $(s) ;\n",
815"HDRSEARCH on $(s) = $(HDRSEARCH) ;\n",
816"HDRSCAN on $(s) = $(HDRSCAN) ;\n",
817"HDRRULE on $(s) = $(HDRRULE) ;\n",
818"HDRGRIST on $(s) = $(HDRGRIST) ;\n",
819"}\n",
820"rule InstallInto\n",
821"{\n",
822"local i t ;\n",
823"t = $(>:G=$(INSTALLGRIST)) ;\n",
824"Depends install : $(t) ;\n",
825"Clean uninstall : $(t) ;\n",
826"SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
827"MakeLocate $(t) : $(<) ;\n",
828"for i in $(>)\n",
829"{\n",
830"local tt = $(i:G=$(INSTALLGRIST)) ;\n",
831"Depends $(tt) : $(i) ;\n",
832"Install $(tt) : $(i) ;\n",
833"Chmod $(tt) ;\n",
834"if $(OWNER) && $(CHOWN) \n",
835"{ \n",
836"Chown $(tt) ;\n",
837"OWNER on $(tt) = $(OWNER) ;\n",
838"}\n",
839"if $(GROUP) && $(CHGRP) \n",
840"{ \n",
841"Chgrp $(tt) ;\n",
842"GROUP on $(tt) = $(GROUP) ;\n",
843"}\n",
844"}\n",
845"}\n",
846"rule InstallBin\n",
847"{\n",
848"local _t = [ FAppendSuffix $(>) : $(SUFEXE) ] ;\n",
849"InstallInto $(<) : $(_t) ;\n",
850"MODE on $(_t:G=installed) = $(EXEMODE) ;\n",
851"}\n",
852"rule InstallFile\n",
853"{\n",
854"InstallInto $(<) : $(>) ;\n",
855"MODE on $(>:G=installed) = $(FILEMODE) ;\n",
856"}\n",
857"rule InstallLib\n",
858"{\n",
859"InstallInto $(<) : $(>) ;\n",
860"MODE on $(>:G=installed) = $(FILEMODE) ;\n",
861"}\n",
862"rule InstallMan\n",
863"{\n",
864"local i s d ;\n",
865"for i in $(>)\n",
866"{\n",
867"switch $(i:S)\n",
868"{\n",
869"case .1 : s = 1 ; case .2 : s = 2 ; case .3 : s = 3 ;\n",
870"case .4 : s = 4 ; case .5 : s = 5 ; case .6 : s = 6 ;\n",
871"case .7 : s = 7 ; case .8 : s = 8 ; case .l : s = l ;\n",
872"case .n : s = n ; case .man : s = 1 ;\n",
873"}\n",
874"d = man$(s) ;\n",
875"InstallInto $(d:R=$(<)) : $(i) ;\n",
876"}\n",
877"MODE on $(>:G=installed) = $(FILEMODE) ;\n",
878"}\n",
879"rule InstallShell\n",
880"{\n",
881"InstallInto $(<) : $(>) ;\n",
882"MODE on $(>:G=installed) = $(SHELLMODE) ;\n",
883"}\n",
884"rule Lex\n",
885"{\n",
886"LexMv $(<) : $(>) ;\n",
887"DEPENDS $(<) : $(>) ;\n",
888"MakeLocate $(<) : $(LOCATE_SOURCE) ;\n",
889"Clean clean : $(<) ;\n",
890"}\n",
891"rule Library\n",
892"{\n",
893"LibraryFromObjects $(<) : $(>:S=$(SUFOBJ)) ;\n",
894"Objects $(>) ;\n",
895"}\n",
896"rule LibraryFromObjects\n",
897"{\n",
898"local _i _l _s ;\n",
899"_s = [ FGristFiles $(>) ] ;\n",
900"_l = $(<:S=$(SUFLIB)) ;\n",
901"if $(KEEPOBJS)\n",
902"{\n",
903"DEPENDS obj : $(_s) ;\n",
904"}\n",
905"else\n",
906"{\n",
907"DEPENDS lib : $(_l) ;\n",
908"}\n",
909"if ! $(_l:D)\n",
910"{\n",
911"MakeLocate $(_l) $(_l)($(_s:BS)) : $(LOCATE_TARGET) ;\n",
912"}\n",
913"if $(NOARSCAN) \n",
914"{ \n",
915"DEPENDS $(_l) : $(_s) ;\n",
916"}\n",
917"else\n",
918"{\n",
919"DEPENDS $(_l) : $(_l)($(_s:BS)) ;\n",
920"for _i in $(_s)\n",
921"{\n",
922"DEPENDS $(_l)($(_i:BS)) : $(_i) ;\n",
923"}\n",
924"}\n",
925"Clean clean : $(_l) ;\n",
926"if $(CRELIB) { CreLib $(_l) : $(_s[1]) ; }\n",
927"Archive $(_l) : $(_s) ;\n",
928"if $(RANLIB) { Ranlib $(_l) ; }\n",
929"if ! ( $(NOARSCAN) || $(KEEPOBJS) ) { RmTemps $(_l) : $(_s) ; }\n",
930"}\n",
931"rule Link\n",
932"{\n",
933"MODE on $(<) = $(EXEMODE) ;\n",
934"Chmod $(<) ;\n",
935"}\n",
936"rule LinkLibraries\n",
937"{\n",
938"local _t = [ FAppendSuffix $(<) : $(SUFEXE) ] ;\n",
939"DEPENDS $(_t) : $(>:S=$(SUFLIB)) ;\n",
940"NEEDLIBS on $(_t) += $(>:S=$(SUFLIB)) ;\n",
941"}\n",
942"rule Main\n",
943"{\n",
944"MainFromObjects $(<) : $(>:S=$(SUFOBJ)) ;\n",
945"Objects $(>) ;\n",
946"}\n",
947"rule MainFromObjects\n",
948"{\n",
949"local _s _t ;\n",
950"_s = [ FGristFiles $(>) ] ;\n",
951"_t = [ FAppendSuffix $(<) : $(SUFEXE) ] ;\n",
952"if $(_t) != $(<)\n",
953"{\n",
954"DEPENDS $(<) : $(_t) ;\n",
955"NOTFILE $(<) ;\n",
956"}\n",
957"DEPENDS exe : $(_t) ;\n",
958"DEPENDS $(_t) : $(_s) ;\n",
959"MakeLocate $(_t) : $(LOCATE_TARGET) ;\n",
960"Clean clean : $(_t) ;\n",
961"Link $(_t) : $(_s) ;\n",
962"}\n",
963"rule MakeLocate\n",
964"{\n",
965"if $(>)\n",
966"{\n",
967"LOCATE on $(<) = $(>) ;\n",
968"Depends $(<) : $(>[1]) ;\n",
969"MkDir $(>[1]) ;\n",
970"}\n",
971"}\n",
972"rule MkDir\n",
973"{\n",
974"NOUPDATE $(<) ;\n",
975"if $(<) != $(DOT) && ! $($(<)-mkdir) \n",
976"{\n",
977"local s ;\n",
978"$(<)-mkdir = true ;\n",
979"MkDir1 $(<) ;\n",
980"Depends dirs : $(<) ;\n",
981"s = $(<:P) ;\n",
982"if $(NT)\n",
983"{\n",
984"switch $(s)\n",
985"{\n",
986"case *:   : s = ;\n",
987"case *:\\\\ : s = ;\n",
988"}\n",
989"}\n",
990"if $(s) && $(s) != $(<)\n",
991"{\n",
992"Depends $(<) : $(s) ;\n",
993"MkDir $(s) ;\n",
994"}\n",
995"else if $(s)\n",
996"{\n",
997"NOTFILE $(s) ;\n",
998"}\n",
999"}\n",
1000"}\n",
1001"rule Object\n",
1002"{\n",
1003"local h ;\n",
1004"Clean clean : $(<) ;\n",
1005"MakeLocate $(<) : $(LOCATE_TARGET) ;\n",
1006"SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
1007"HDRS on $(<) = $(SEARCH_SOURCE) $(HDRS) $(SUBDIRHDRS) ;\n",
1008"if $(SEARCH_SOURCE)\n",
1009"{\n",
1010"h = $(SEARCH_SOURCE) ;\n",
1011"}\n",
1012"else\n",
1013"{\n",
1014"h = \"\" ;\n",
1015"}\n",
1016"HDRRULE on $(>) = HdrRule ;\n",
1017"HDRSCAN on $(>) = $(HDRPATTERN) ;\n",
1018"HDRSEARCH on $(>) = $(HDRS) $(SUBDIRHDRS) $(h) $(STDHDRS) ;\n",
1019"HDRGRIST on $(>) = $(HDRGRIST) ;\n",
1020"switch $(>:S)\n",
1021"{\n",
1022"case .asm : As $(<) : $(>) ;\n",
1023"case .c :   Cc $(<) : $(>) ;\n",
1024"case .C :   C++ $(<) : $(>) ;\n",
1025"case .cc :  C++ $(<) : $(>) ;\n",
1026"case .cpp : C++ $(<) : $(>) ;\n",
1027"case .f :   Fortran $(<) : $(>) ;\n",
1028"case .l :   Cc $(<) : $(<:S=.c) ;\n",
1029"Lex $(<:S=.c) : $(>) ;\n",
1030"case .s :   As $(<) : $(>) ;\n",
1031"case .y :   Cc $(<) : $(<:S=.c) ;\n",
1032"Yacc $(<:S=.c) : $(>) ;\n",
1033"case * :    UserObject $(<) : $(>) ;\n",
1034"}\n",
1035"}\n",
1036"rule ObjectCcFlags\n",
1037"{\n",
1038"CCFLAGS on [ FGristFiles $(<:S=$(SUFOBJ)) ] += $(>) ;\n",
1039"}\n",
1040"rule ObjectC++Flags\n",
1041"{\n",
1042"C++FLAGS on [ FGristFiles $(<:S=$(SUFOBJ)) ] += $(>) ;\n",
1043"}\n",
1044"rule ObjectHdrs\n",
1045"{\n",
1046"HDRS on [ FGristFiles $(<:S=$(SUFOBJ)) ] += $(>) ;\n",
1047"}\n",
1048"rule Objects\n",
1049"{\n",
1050"local _i ;\n",
1051"for _i in [ FGristFiles $(<) ]\n",
1052"{\n",
1053"Object $(_i:S=$(SUFOBJ)) : $(_i) ;\n",
1054"DEPENDS obj : $(_i:S=$(SUFOBJ)) ;\n",
1055"}\n",
1056"}\n",
1057"rule RmTemps\n",
1058"{\n",
1059"TEMPORARY $(>) ;\n",
1060"}\n",
1061"rule Setuid\n",
1062"{\n",
1063"MODE on [ FAppendSuffix $(<) : $(SUFEXE) ] = 4711 ;\n",
1064"}\n",
1065"rule Shell\n",
1066"{\n",
1067"DEPENDS shell : $(<) ;\n",
1068"DEPENDS $(<) : $(>) ;\n",
1069"SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
1070"MODE on $(<) = $(SHELLMODE) ;\n",
1071"Clean clean : $(<) ;\n",
1072"Chmod $(<) ;\n",
1073"}\n",
1074"rule SubDir\n",
1075"{\n",
1076"local _r _s ;\n",
1077"if ! $($(<[1]))\n",
1078"{\n",
1079"if ! $(<[1])\n",
1080"{\n",
1081"EXIT SubDir syntax error ;\n",
1082"}\n",
1083"$(<[1]) = [ FSubDir $(<[2-]) ] ;\n",
1084"}\n",
1085"if ! $($(<[1])-included)\n",
1086"{\n",
1087"$(<[1])-included = TRUE ;\n",
1088"_r = $($(<[1])RULES) ;\n",
1089"if ! $(_r)\n",
1090"{\n",
1091"_r = $(JAMRULES:R=$($(<[1]))) ;\n",
1092"}\n",
1093"include $(_r) ;\n",
1094"}\n",
1095"_s = [ FDirName $(<[2-]) ] ;\n",
1096"SUBDIR = $(_s:R=$($(<[1]))) ;\n",
1097"SUBDIR_TOKENS = $(<[2-]) ;\n",
1098"SEARCH_SOURCE = $(SUBDIR) ;\n",
1099"LOCATE_SOURCE = $(ALL_LOCATE_TARGET) $(SUBDIR) ;\n",
1100"LOCATE_TARGET = $(ALL_LOCATE_TARGET) $(SUBDIR) ;\n",
1101"SOURCE_GRIST = [ FGrist $(<[2-]) ] ;\n",
1102"SUBDIRCCFLAGS = ;\n",
1103"SUBDIRC++FLAGS = ;\n",
1104"SUBDIRHDRS = ;\n",
1105"}\n",
1106"rule SubDirCcFlags\n",
1107"{\n",
1108"SUBDIRCCFLAGS += $(<) ;\n",
1109"}\n",
1110"rule SubDirC++Flags\n",
1111"{\n",
1112"SUBDIRC++FLAGS += $(<) ;\n",
1113"}\n",
1114"rule SubDirHdrs\n",
1115"{\n",
1116"SUBDIRHDRS += $(<) ;\n",
1117"}\n",
1118"rule SubInclude\n",
1119"{\n",
1120"local _s ;\n",
1121"if ! $($(<[1]))\n",
1122"{\n",
1123"EXIT Top level of source tree has not been set with $(<[1]) ;\n",
1124"}\n",
1125"_s = [ FDirName $(<[2-]) ] ;\n",
1126"include $(JAMFILE:D=$(_s):R=$($(<[1]))) ;\n",
1127"}\n",
1128"rule Undefines\n",
1129"{\n",
1130"UNDEFS on [ FAppendSuffix $(<) : $(SUFEXE) ] += $(UNDEFFLAG)$(>) ;\n",
1131"}\n",
1132"rule UserObject\n",
1133"{\n",
1134"EXIT \"Unknown suffix on\" $(>) \"- see UserObject rule in Jamfile(5).\" ;\n",
1135"}\n",
1136"rule Yacc\n",
1137"{\n",
1138"local _h ;\n",
1139"_h = $(<:BS=.h) ;\n",
1140"MakeLocate $(<) $(_h) : $(LOCATE_SOURCE) ;\n",
1141"if $(YACC)\n",
1142"{\n",
1143"DEPENDS $(<) $(_h) : $(>) ;\n",
1144"Yacc1 $(<) $(_h) : $(>) ;\n",
1145"YaccMv $(<) $(_h) : $(>) ;\n",
1146"Clean clean : $(<) $(_h) ;\n",
1147"}\n",
1148"INCLUDES $(<) : $(_h) ;\n",
1149"}\n",
1150"rule FGrist\n",
1151"{\n",
1152"local _g _i ;\n",
1153"_g = $(<[1]) ;\n",
1154"for _i in $(<[2-])\n",
1155"{\n",
1156"_g = $(_g)!$(_i) ;\n",
1157"}\n",
1158"return $(_g) ;\n",
1159"}\n",
1160"rule FGristFiles \n",
1161"{\n",
1162"if ! $(SOURCE_GRIST)\n",
1163"{\n",
1164"return $(<) ;\n",
1165"}\n",
1166"else \n",
1167"{\n",
1168"return $(<:G=$(SOURCE_GRIST)) ;\n",
1169"}\n",
1170"}\n",
1171"rule FGristSourceFiles\n",
1172"{\n",
1173"if ! $(SOURCE_GRIST)\n",
1174"{\n",
1175"return $(<) ;\n",
1176"}\n",
1177"else \n",
1178"{\n",
1179"local _i _o ;\n",
1180"for _i in $(<)\n",
1181"{\n",
1182"switch $(_i)\n",
1183"{\n",
1184"case *.h :  _o += $(_i) ;\n",
1185"case * :    _o += $(_i:G=$(SOURCE_GRIST)) ;\n",
1186"}\n",
1187"}\n",
1188"return $(_o) ;\n",
1189"}\n",
1190"}\n",
1191"rule FConcat\n",
1192"{\n",
1193"local _t _r ;\n",
1194"$(_r) = $(<[1]) ;\n",
1195"for _t in $(<[2-])\n",
1196"{\n",
1197"$(_r) = $(_r)$(_t) ;\n",
1198"}\n",
1199"return $(_r) ;\n",
1200"}\n",
1201"rule FSubDir\n",
1202"{\n",
1203"local _i _d ;\n",
1204"if ! $(<[1]) \n",
1205"{\n",
1206"_d = $(DOT) ;\n",
1207"} \n",
1208"else\n",
1209"{\n",
1210"_d = $(DOTDOT) ;\n",
1211"for _i in $(<[2-])\n",
1212"{\n",
1213"_d = $(_d:R=$(DOTDOT)) ;\n",
1214"}\n",
1215"}\n",
1216"return $(_d) ;\n",
1217"}\n",
1218"rule FDirName\n",
1219"{\n",
1220"local _s _i ;\n",
1221"if ! $(<)\n",
1222"{\n",
1223"_s = $(DOT) ;\n",
1224"}\n",
1225"else if $(VMS)\n",
1226"{\n",
1227"switch $(<[1])\n",
1228"{\n",
1229"case *:* : _s = $(<[1]) ;\n",
1230"case \\\\[*\\\\] : _s = $(<[1]) ;\n",
1231"case * : _s = [.$(<[1])] ;\n",
1232"}\n",
1233"for _i in [.$(<[2-])]\n",
1234"{\n",
1235"_s = $(_i:R=$(_s)) ;\n",
1236"}\n",
1237"}\n",
1238"else if $(MAC)\n",
1239"{\n",
1240"_s = $(DOT) ;\n",
1241"for _i in $(<)\n",
1242"{\n",
1243"_s = $(_i:R=$(_s)) ;\n",
1244"}\n",
1245"}\n",
1246"else\n",
1247"{\n",
1248"_s = $(<[1]) ; \n",
1249"for _i in $(<[2-])\n",
1250"{\n",
1251"_s = $(_i:R=$(_s)) ;\n",
1252"}\n",
1253"}\n",
1254"return $(_s) ;\n",
1255"}\n",
1256"rule _makeCommon\n",
1257"{\n",
1258"if $($(<)[1]) && $($(<)[1]) = $($(>)[1])\n",
1259"{\n",
1260"$(<) = $($(<)[2-]) ;\n",
1261"$(>) = $($(>)[2-]) ;\n",
1262"_makeCommon $(<) : $(>) ;\n",
1263"}\n",
1264"}\n",
1265"rule FRelPath\n",
1266"{\n",
1267"local _l _r ;\n",
1268"_l = $(<) ;\n",
1269"_r = $(>) ;\n",
1270"_makeCommon _l : _r ;\n",
1271"_l = [ FSubDir $(_l) ] ;\n",
1272"_r = [ FDirName $(_r) ] ;\n",
1273"if $(_r) = $(DOT) {\n",
1274"return $(_l) ;\n",
1275"} else {\n",
1276"return $(_r:R=$(_l)) ;\n",
1277"}\n",
1278"}\n",
1279"rule FAppendSuffix\n",
1280"{\n",
1281"if $(>)\n",
1282"{\n",
1283"local _i _o ;\n",
1284"for _i in $(<)\n",
1285"{\n",
1286"if $(_i:S)\n",
1287"{\n",
1288"_o += $(_i) ;\n",
1289"}\n",
1290"else\n",
1291"{\n",
1292"_o += $(_i:S=$(>)) ;\n",
1293"}\n",
1294"}\n",
1295"return $(_o) ;\n",
1296"}\n",
1297"else\n",
1298"{\n",
1299"return $(<) ;\n",
1300"}\n",
1301"}\n",
1302"rule unmakeDir\n",
1303"{\n",
1304"if $(>[1]:D) && $(>[1]:D) != $(>[1]) && $(>[1]:D) != \\\\\\\\ \n",
1305"{\n",
1306"unmakeDir $(<) : $(>[1]:D) $(>[1]:BS) $(>[2-]) ;\n",
1307"}\n",
1308"else\n",
1309"{\n",
1310"$(<) = $(>) ;\n",
1311"}\n",
1312"}\n",
1313"rule FConvertToSlashes\n",
1314"{\n",
1315"local _d, _s, _i ;\n",
1316"unmakeDir _d : $(<) ;\n",
1317"_s = $(_d[1]) ; \n",
1318"for _i in $(_d[2-])\n",
1319"{\n",
1320"_s = $(_s)/$(_i) ;\n",
1321"}\n",
1322"return $(_s) ;\n",
1323"}\n",
1324"actions updated together piecemeal Archive\n",
1325"{\n",
1326"$(AR) $(<) $(>)\n",
1327"}\n",
1328"actions As\n",
1329"{\n",
1330"$(AS) $(ASFLAGS) -I$(HDRS) -o $(<) $(>)\n",
1331"}\n",
1332"actions C++\n",
1333"{\n",
1334"$(C++) -c $(C++FLAGS) $(OPTIM) -I$(HDRS) -o $(<) $(>)\n",
1335"}\n",
1336"actions Cc\n",
1337"{\n",
1338"$(CC) -c $(CCFLAGS) $(OPTIM) -I$(HDRS) -o $(<) $(>)\n",
1339"}\n",
1340"actions Chgrp\n",
1341"{\n",
1342"$(CHGRP) $(GROUP) $(<)\n",
1343"}\n",
1344"actions Chmod1\n",
1345"{\n",
1346"$(CHMOD) $(MODE) $(<)\n",
1347"}\n",
1348"actions Chown\n",
1349"{\n",
1350"$(CHOWN) $(OWNER) $(<)\n",
1351"}\n",
1352"actions piecemeal together existing Clean\n",
1353"{\n",
1354"$(RM) $(>)\n",
1355"}\n",
1356"actions File\n",
1357"{\n",
1358"$(CP) $(>) $(<)\n",
1359"}\n",
1360"actions GenFile1\n",
1361"{\n",
1362"$(>[1]) $(<) $(>[2-])\n",
1363"}\n",
1364"actions Fortran\n",
1365"{\n",
1366"$(FORTRAN) $(FORTRANFLAGS) -o $(<) $(>)\n",
1367"}\n",
1368"actions HardLink\n",
1369"{\n",
1370"$(RM) $(<) && $(LN) $(>) $(<)\n",
1371"}\n",
1372"actions Install\n",
1373"{\n",
1374"$(CP) $(>) $(<) \n",
1375"}\n",
1376"actions Lex\n",
1377"{\n",
1378"$(LEX) $(>)\n",
1379"}\n",
1380"actions LexMv\n",
1381"{\n",
1382"$(MV) lex.yy.c $(<)\n",
1383"}\n",
1384"actions Link bind NEEDLIBS\n",
1385"{\n",
1386"$(LINK) $(LINKFLAGS) -o $(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS) \n",
1387"}\n",
1388"actions MkDir1\n",
1389"{\n",
1390"$(MKDIR) $(<)\n",
1391"}\n",
1392"actions together Ranlib\n",
1393"{\n",
1394"$(RANLIB) $(<)\n",
1395"}\n",
1396"actions quietly updated piecemeal together RmTemps\n",
1397"{\n",
1398"$(RM) $(>)\n",
1399"}\n",
1400"actions Shell\n",
1401"{\n",
1402"$(AWK) '\n",
1403"NR == 1 { print \"$(SHELLHEADER)\" }\n",
1404"NR == 1 && /^[#:]/ { next }\n",
1405"/^##/ { next }\n",
1406"{ print }\n",
1407"' < $(>) > $(<)\n",
1408"}\n",
1409"actions Yacc1\n",
1410"{\n",
1411"$(YACC) $(YACCFLAGS) $(>)\n",
1412"}\n",
1413"actions YaccMv\n",
1414"{\n",
1415"$(MV) $(YACCFILES).c $(<[1])\n",
1416"$(MV) $(YACCFILES).h $(<[2])\n",
1417"}\n",
1418"if $(RELOCATE)\n",
1419"{\n",
1420"actions C++\n",
1421"{\n",
1422"$(C++) -c $(C++FLAGS) $(OPTIM) -I$(HDRS) $(>)\n",
1423"}\n",
1424"actions Cc\n",
1425"{\n",
1426"$(CC) -c $(CCFLAGS) $(OPTIM) -I$(HDRS) $(>)\n",
1427"}\n",
1428"actions ignore CcMv\n",
1429"{\n",
1430"[ $(<) != $(>:BS=$(SUFOBJ)) ] && $(MV) $(>:BS=$(SUFOBJ)) $(<)\n",
1431"}\n",
1432"}\n",
1433"if $(NOARUPDATE)\n",
1434"{\n",
1435"actions Archive\n",
1436"{\n",
1437"$(AR) $(<) $(>)\n",
1438"}\n",
1439"}\n",
1440"if $(NT)\n",
1441"{\n",
1442"if $(TOOLSET) = VISUALC || $(TOOLSET) = VC7 || $(TOOLSET) = INTELC\n",
1443"{\n",
1444"actions updated together piecemeal Archive\n",
1445"{\n",
1446"if exist $(<) set _$(<:B)_=$(<)\n",
1447"$(AR) /out:$(<) %_$(<:B)_% $(>)\n",
1448"}\n",
1449"actions As\n",
1450"{\n",
1451"$(AS) /Ml /p /v /w2 $(>) $(<) ,nul,nul;\n",
1452"}\n",
1453"actions Cc\n",
1454"{\n",
1455"$(CC) /c $(CCFLAGS) $(OPTIM) /Fo$(<) /I$(HDRS) /I$(STDHDRS) $(>)\n",
1456"}\n",
1457"actions C++\n",
1458"{\n",
1459"$(C++) /c $(C++FLAGS) $(OPTIM) /Fo$(<) /I$(HDRS) /I$(STDHDRS) /Tp$(>)\n",
1460"}\n",
1461"actions Link bind NEEDLIBS\n",
1462"{\n",
1463"$(LINK) $(LINKFLAGS) /out:$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n",
1464"}\n",
1465"}\n",
1466"else if $(TOOLSET) = VISUALC16\n",
1467"{\n",
1468"actions updated together piecemeal Archive\n",
1469"{\n",
1470"$(AR) $(<) -+$(>)\n",
1471"}\n",
1472"actions Cc\n",
1473"{\n",
1474"$(CC) /c $(CCFLAGS) $(OPTIM) /Fo$(<) /I$(HDRS) $(>)\n",
1475"}\n",
1476"actions C++\n",
1477"{\n",
1478"$(C++) /c $(C++FLAGS) $(OPTIM) /Fo$(<) /I$(HDRS) /Tp$(>)\n",
1479"}\n",
1480"actions Link bind NEEDLIBS\n",
1481"{\n",
1482"$(LINK) $(LINKFLAGS) /out:$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n",
1483"}\n",
1484"}\n",
1485"else if $(TOOLSET) = BORLANDC\n",
1486"{\n",
1487"actions updated together piecemeal Archive\n",
1488"{\n",
1489"$(AR) $(<) -+$(>)\n",
1490"}\n",
1491"actions Link bind NEEDLIBS\n",
1492"{\n",
1493"$(LINK) -e$(<) $(LINKFLAGS) $(UNDEFS) -L$(LINKLIBS) $(NEEDLIBS) $(>)\n",
1494"}\n",
1495"actions C++\n",
1496"{\n",
1497"$(C++) -c $(C++FLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)\n",
1498"}\n",
1499"actions Cc\n",
1500"{\n",
1501"$(CC) -c $(CCFLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)\n",
1502"}\n",
1503"}\n",
1504"else if $(TOOLSET) = MINGW\n",
1505"{\n",
1506"actions together piecemeal Archive\n",
1507"{\n",
1508"$(AR) $(<) $(>:T)\n",
1509"}\n",
1510"actions Cc\n",
1511"{\n",
1512"$(CC) -c $(CCFLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)\n",
1513"}\n",
1514"actions C++\n",
1515"{\n",
1516"$(C++) -c $(C++FLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)\n",
1517"}\n",
1518"}\n",
1519"else if $(TOOLSET) = WATCOM\n",
1520"{\n",
1521"actions together piecemeal Archive\n",
1522"{\n",
1523"$(AR) $(<) +-$(>) \n",
1524"}\n",
1525"actions Cc\n",
1526"{\n",
1527"$(CC) $(CCFLAGS) $(OPTIM) /Fo=$(<) /I$(HDRS) $(>)\n",
1528"}\n",
1529"actions C++\n",
1530"{\n",
1531"$(C++) $(C++FLAGS) $(OPTIM) /Fo=$(<) /I$(HDRS) $(>)\n",
1532"}\n",
1533"actions Link bind NEEDLIBS\n",
1534"{\n",
1535"$(LINK) $(LINKFLAGS) /Fe=$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n",
1536"}\n",
1537"actions Shell\n",
1538"{\n",
1539"$(CP) $(>) $(<)\n",
1540"}\n",
1541"}\n",
1542"else if $(TOOLSET) = LCC\n",
1543"{\n",
1544"actions together piecemeal Archive\n",
1545"{\n",
1546"$(AR) /out:$(<) $(>) \n",
1547"}\n",
1548"actions Cc\n",
1549"{\n",
1550"$(CC) $(CCFLAGS) $(OPTIM) -Fo$(<) -I$(HDRS) $(>)\n",
1551"}\n",
1552"actions Link bind NEEDLIBS\n",
1553"{\n",
1554"$(LINK) $(LINKFLAGS) -o $(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n",
1555"}\n",
1556"actions Shell\n",
1557"{\n",
1558"$(CP) $(>) $(<)\n",
1559"}\n",
1560"}\n",
1561"}\n",
1562"else if $(OS2)             \n",
1563"{\n",
1564"if $(TOOLSET) = WATCOM\n",
1565"{\n",
1566"actions together piecemeal Archive\n",
1567"{\n",
1568"$(AR) $(<) +-$(>) \n",
1569"}\n",
1570"actions Cc\n",
1571"{\n",
1572"$(CC) $(CCFLAGS) $(OPTIM) /Fo=$(<) /I$(HDRS) $(>)\n",
1573"}\n",
1574"actions C++\n",
1575"{\n",
1576"$(C++) $(C++FLAGS) $(OPTIM) /Fo=$(<) /I$(HDRS) $(>)\n",
1577"}\n",
1578"actions Link bind NEEDLIBS\n",
1579"{\n",
1580"$(LINK) $(LINKFLAGS) /Fe=$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n",
1581"}\n",
1582"actions Shell\n",
1583"{\n",
1584"$(CP) $(>) $(<)\n",
1585"}\n",
1586"}\n",
1587"else if $(TOOLSET) = EMX\n",
1588"{\n",
1589"actions together piecemeal Archive\n",
1590"{\n",
1591"$(AR) $(<) $(>:T)\n",
1592"}\n",
1593"actions Cc\n",
1594"{\n",
1595"$(CC) -c $(CCFLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)\n",
1596"}\n",
1597"actions C++\n",
1598"{\n",
1599"$(C++) -c $(C++FLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)\n",
1600"}\n",
1601"}\n",
1602"}\n",
1603"else if $(VMS)\n",
1604"{\n",
1605"actions updated together piecemeal Archive \n",
1606"{\n",
1607"lib/replace $(<) $(>[1]) ,$(>[2-])\n",
1608"}\n",
1609"actions Cc\n",
1610"{ \n",
1611"$(CC)/obj=$(<) $(CCFLAGS) $(OPTIM) $(SLASHINC) $(>) \n",
1612"}\n",
1613"actions C++\n",
1614"{ \n",
1615"$(C++)/obj=$(<) $(C++FLAGS) $(OPTIM) $(SLASHINC) $(>) \n",
1616"}\n",
1617"actions piecemeal together existing Clean\n",
1618"{\n",
1619"$(RM) $(>[1]);* ,$(>[2-]);*\n",
1620"}\n",
1621"actions together quietly CreLib\n",
1622"{\n",
1623"if f$search(\"$(<)\") .eqs. \"\" then lib/create $(<)\n",
1624"}\n",
1625"actions GenFile1\n",
1626"{\n",
1627"mcr $(>[1]) $(<) $(>[2-])\n",
1628"}\n",
1629"actions Link bind NEEDLIBS\n",
1630"{\n",
1631"$(LINK)/exe=$(<) $(LINKFLAGS) $(>[1]) ,$(>[2-]) ,$(NEEDLIBS)/lib ,$(LINKLIBS)\n",
1632"}\n",
1633"actions quietly updated piecemeal together RmTemps\n",
1634"{\n",
1635"$(RM) $(>[1]);* ,$(>[2-]);*\n",
1636"}\n",
1637"actions Shell\n",
1638"{\n",
1639"$(CP) $(>) $(<)\n",
1640"}\n",
1641"}\n",
1642"else if $(MAC)\n",
1643"{\n",
1644"actions together Archive \n",
1645"{\n",
1646"$(LINK) -library -o $(<) $(>)\n",
1647"}\n",
1648"actions Cc\n",
1649"{\n",
1650"set -e MWCincludes $(MACINC)\n",
1651"$(CC) -o $(<) $(CCFLAGS) $(OPTIM) $(>) \n",
1652"}\n",
1653"actions C++\n",
1654"{ \n",
1655"set -e MWCincludes $(MACINC)\n",
1656"$(CC) -o $(<) $(C++FLAGS) $(OPTIM) $(>) \n",
1657"}\n",
1658"actions Link bind NEEDLIBS\n",
1659"{\n",
1660"$(LINK) -o $(<) $(LINKFLAGS) $(>) $(NEEDLIBS) \"$(LINKLIBS)\"\n",
1661"}\n",
1662"}\n",
1663"rule BULK { Bulk $(<) : $(>) ; }\n",
1664"rule FILE { File $(<) : $(>) ; }\n",
1665"rule HDRRULE { HdrRule $(<) : $(>) ; }\n",
1666"rule INSTALL { Install $(<) : $(>) ; }\n",
1667"rule LIBRARY { Library $(<) : $(>) ; }\n",
1668"rule LIBS { LinkLibraries $(<) : $(>) ; }\n",
1669"rule LINK { Link $(<) : $(>) ; }\n",
1670"rule MAIN { Main $(<) : $(>) ; }\n",
1671"rule SETUID { Setuid $(<) ; }\n",
1672"rule SHELL { Shell $(<) : $(>) ; }\n",
1673"rule UNDEFINES { Undefines $(<) : $(>) ; }\n",
1674"rule INSTALLBIN { InstallBin $(BINDIR) : $(<) ; }\n",
1675"rule INSTALLLIB { InstallLib $(LIBDIR) : $(<) ; }\n",
1676"rule INSTALLMAN { InstallMan $(MANDIR) : $(<) ; }\n",
1677"rule addDirName { $(<) += [ FDirName $(>) ] ; }\n",
1678"rule makeDirName { $(<) = [ FDirName $(>) ] ; }\n",
1679"rule makeGristedName { $(<) = [ FGristSourceFiles $(>) ] ; }\n",
1680"rule makeRelPath { $(<[1]) = [ FRelPath $(<[2-]) : $(>) ] ; }\n",
1681"rule makeSuffixed { $(<[1]) = [ FAppendSuffix $(>) : $(<[2]) ] ; }\n",
1682"{\n",
1683"if $(JAMFILE) { include $(JAMFILE) ; }\n",
1684"}\n",
1685"}\n",
16860 };
Note: See TracBrowser for help on using the repository browser.