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