1 /* Generated by mkjambase from Jambase */
9 "rule find-to-root ( dir : patterns + )\n",
11 "local globs = [ GLOB $(dir) : $(patterns) ] ;\n",
12 "while ! $(globs) && $(dir:P) != $(dir)\n",
15 "globs = [ GLOB $(dir) : $(patterns) ] ;\n",
17 "return $(globs) ;\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",
24 "BOOST_BUILD_PATH = /usr/share/boost-build ;\n",
26 "rule _poke ( module-name ? : variables + : value * )\n",
33 "rule boost-build ( dir ? )\n",
35 "if $(.bootstrap-file)\n",
37 "ECHO \"Error: Illegal attempt to re-bootstrap the build system by invoking\" ;\n",
39 "ECHO \" 'boost-build\" $(dir) \";'\" ;\n",
41 "EXIT \"Please consult the documentation at 'http://www.boost.org'.\" ;\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",
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",
53 "ECHO \" 'boost-build\" $(dir) \";'\" ;\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",
58 "EXIT \"Please consult the documentation at 'http://www.boost.org'.\" ;\n",
60 "if [ MATCH .*(--debug-configuration).* : $(ARGV) ]\n",
62 "ECHO \"notice: loading Boost.Build from\"\n",
63 "[ NORMALIZE_PATH $(.bootstrap-file:D) ] ;\n",
65 "include $(.bootstrap-file) ;\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",
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",
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",
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",
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",
96 "if [ MATCH .*(--debug-configuration).* : $(ARGV) ]\n",
98 "ECHO \"notice: found boost-build.jam at\"\n",
99 "[ NORMALIZE_PATH $(.boost-build-file) ] ;\n",
101 "include $(.boost-build-file) ;\n",
102 "if ! $(.bootstrap-file)\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",
109 "ECHO \"However, it failed to call the \\\"boost-build\\\" rule to indicate\" ;\n",
110 "ECHO \"the location of the build system.\" ;\n",
112 "EXIT \"Please consult the documentation at 'http://www.boost.org'.\" ;\n",
119 "local SUPPORTED_TOOLSETS = \"BORLANDC\" \"VC7\" \"VISUALC\" \"VISUALC16\" \"INTELC\" \"WATCOM\"\n",
120 "\"MINGW\" \"LCC\" ;\n",
121 "TOOLSET = \"\" ;\n",
122 "if $(JAM_TOOLSET)\n",
125 "for t in $(SUPPORTED_TOOLSETS)\n",
127 "$(t) = $($(t):J=\" \") ; # reconstitute paths with spaces in them\n",
128 "if $(t) = $(JAM_TOOLSET) { TOOLSET = $(t) ; }\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",
135 "for t in $(SUPPORTED_TOOLSETS) { ECHO \" \" $(t) ; }\n",
143 "TOOLSET = BORLANDC ;\n",
144 "BORLANDC = $(BCCROOT:J=\" \") ;\n",
148 "TOOLSET = VISUALC16 ;\n",
149 "VISUALC16 = $(MSVC:J=\" \") ;\n",
151 "else if $(MSVCNT)\n",
153 "TOOLSET = VISUALC ;\n",
154 "VISUALC = $(MSVCNT:J=\" \") ;\n",
156 "else if $(MSVCDir)\n",
158 "TOOLSET = VISUALC ;\n",
159 "VISUALC = $(MSVCDir:J=\" \") ;\n",
161 "else if $(MINGW)\n",
163 "TOOLSET = MINGW ;\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",
174 "ECHO \" - define one of the following environment variable, with the\" ;\n",
175 "ECHO \" appropriate value according to this list:\" ;\n",
177 "ECHO \" Variable Toolset Description\" ;\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",
187 "ECHO \" - define the JAM_TOOLSET environment variable with the *name*\" ;\n",
188 "ECHO \" of the toolset variable you want to use.\" ;\n",
190 "ECHO \" e.g.: set VISUALC=C:\\\\Visual6\" ;\n",
191 "ECHO \" set JAM_TOOLSET=VISUALC\" ;\n",
196 "RM ?= del /f/q ;\n",
198 "SUFLIB ?= .lib ;\n",
199 "SUFOBJ ?= .obj ;\n",
200 "SUFEXE ?= .exe ;\n",
201 "if $(TOOLSET) = BORLANDC\n",
203 "ECHO \"Compiler is Borland C++\" ;\n",
204 "AR ?= tlib /C /P64 ;\n",
206 "CCFLAGS ?= -q -y -d -v -w-par -w-ccc -w-rch -w-pro -w-aus ;\n",
208 "C++FLAGS ?= -q -y -d -v -w-par -w-ccc -w-rch -w-pro -w-aus -P ;\n",
210 "LINKFLAGS ?= $(CCFLAGS) ;\n",
211 "STDLIBPATH ?= $(BORLANDC)\\\\lib ;\n",
212 "STDHDRS ?= $(BORLANDC)\\\\include ;\n",
213 "NOARSCAN ?= true ;\n",
215 "else if $(TOOLSET) = VISUALC16\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",
222 "C++FLAGS ?= $(CCFLAGS) ;\n",
224 "LINKFLAGS ?= $(CCFLAGS) ;\n",
226 "\\\"$(VISUALC16)\\\\lib\\\\mlibce.lib\\\"\n",
227 "\\\"$(VISUALC16)\\\\lib\\\\oldnames.lib\\\"\n",
230 "NOARSCAN ?= true ;\n",
232 "STDHDRS ?= $(VISUALC16)\\\\include ;\n",
233 "UNDEFFLAG ?= \"/u _\" ;\n",
235 "else if $(TOOLSET) = VISUALC\n",
237 "ECHO \"Compiler is Microsoft Visual C++\" ;\n",
240 "CC ?= cl /nologo ;\n",
241 "CCFLAGS ?= \"\" ;\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",
251 "STDHDRS ?= $(VISUALC)\\\\include ;\n",
252 "UNDEFFLAG ?= \"/u _\" ;\n",
254 "else if $(TOOLSET) = VC7\n",
256 "ECHO \"Compiler is Microsoft Visual C++ .NET\" ;\n",
259 "CC ?= cl /nologo ;\n",
260 "CCFLAGS ?= \"\" ;\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",
270 "STDHDRS ?= \\\"$(VISUALC)\\\\include\\\"\n",
271 "\\\"$(VISUALC)\\\\PlatformSDK\\\\include\\\" ;\n",
272 "UNDEFFLAG ?= \"/u _\" ;\n",
274 "else if $(TOOLSET) = INTELC\n",
276 "ECHO \"Compiler is Intel C/C++\" ;\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",
286 "CC ?= icl /nologo ;\n",
287 "CCFLAGS ?= \"\" ;\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",
296 "STDHDRS ?= $(INTELC)\\include $(VISUALC)\\\\include ;\n",
297 "UNDEFFLAG ?= \"/u _\" ;\n",
299 "else if $(TOOLSET) = WATCOM\n",
301 "ECHO \"Compiler is Watcom C/C++\" ;\n",
304 "CCFLAGS ?= /zq /DWIN32 /I$(WATCOM)\\\\h ; # zq=quiet\n",
306 "C++FLAGS ?= $(CCFLAGS) ;\n",
310 "LINK ?= wcl386 ;\n",
311 "LINKFLAGS ?= /zq ; # zq=quiet\n",
314 "NOARSCAN ?= true ;\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",
324 "else if $(TOOLSET) = MINGW\n",
326 "ECHO \"Compiler is GCC with Mingw\" ;\n",
329 "CCFLAGS ?= \"\" ;\n",
331 "C++FLAGS ?= $(CCFLAGS) ;\n",
333 "LINKFLAGS ?= \"\" ;\n",
334 "LINKLIBS ?= \"\" ;\n",
340 "else if $(TOOLSET) = LCC\n",
342 "ECHO \"Compiler is Win32-LCC\" ;\n",
345 "CCFLAGS ?= \"\" ;\n",
347 "C++FLAGS ?= $(CCFLAGS) ;\n",
348 "LINK ?= lcclnk ;\n",
349 "LINKFLAGS ?= \"\" ;\n",
350 "LINKLIBS ?= \"\" ;\n",
352 "NOARSCAN = true ;\n",
356 "EXIT On NT, set BCCROOT, MSVCNT, MINGW or MSVC to the root of the\n",
357 "Borland or Microsoft directories. ;\n",
362 "local SUPPORTED_TOOLSETS = \"EMX\" \"WATCOM\" ;\n",
363 "TOOLSET = \"\" ;\n",
364 "if $(JAM_TOOLSET)\n",
367 "for t in $(SUPPORTED_TOOLSETS)\n",
369 "$(t) = $($(t):J=\" \") ; # reconstitute paths with spaces in them\n",
370 "if $(t) = $(JAM_TOOLSET) { TOOLSET = $(t) ; }\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",
377 "for t in $(SUPPORTED_TOOLSETS) { ECHO \" \" $(t) ; }\n",
385 "WATCOM = $(watcom:J=\" \") ;\n",
386 "TOOLSET = WATCOM ;\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",
393 "ECHO \" - define one of the following environment variable, with the\" ;\n",
394 "ECHO \" appropriate value according to this list:\" ;\n",
396 "ECHO \" Variable Toolset Description\" ;\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",
402 "ECHO \" - define the JAM_TOOLSET environment variable with the *name*\" ;\n",
403 "ECHO \" of the toolset variable you want to use.\" ;\n",
405 "ECHO \" e.g.: set WATCOM=C:\\WATCOM\" ;\n",
406 "ECHO \" set JAM_TOOLSET=WATCOM\" ;\n",
416 "SUFLIB ?= .lib ;\n",
417 "SUFOBJ ?= .obj ;\n",
418 "SUFEXE ?= .exe ;\n",
419 "if $(TOOLSET) = WATCOM\n",
422 "BINDIR ?= \\\\os2\\\\apps ;\n",
424 "CCFLAGS ?= /zq /DOS2 /I$(WATCOM)\\\\h ; # zq=quiet\n",
426 "C++FLAGS ?= $(CCFLAGS) ;\n",
427 "LINK ?= wcl386 ;\n",
428 "LINKFLAGS ?= /zq ; # zq=quiet\n",
430 "NOARSCAN ?= true ;\n",
433 "STDHDRS ?= $(WATCOM)\\\\h ;\n",
434 "UNDEFFLAG ?= \"/u _\" ;\n",
436 "else if $(TOOLSET) = EMX\n",
438 "ECHO \"Compiler is GCC-EMX\" ;\n",
441 "CCFLAGS ?= \"\" ;\n",
443 "C++FLAGS ?= $(CCFLAGS) ;\n",
445 "LINKFLAGS ?= \"\" ;\n",
446 "LINKLIBS ?= \"\" ;\n",
450 "UNDEFFLAG ?= \"-U\" ;\n",
455 "EXIT \"Sorry, but the $(JAM_TOOLSET) toolset isn't supported for now\" ;\n",
464 "CHMOD ?= set file/prot= ;\n",
465 "CP ?= copy/replace ;\n",
466 "CRELIB ?= true ;\n",
469 "EXEMODE ?= (w:e) ;\n",
470 "FILEMODE ?= (w:r) ;\n",
473 "LINKFLAGS ?= \"\" ;\n",
475 "MKDIR ?= create/dir ;\n",
480 "SHELLMODE ?= (w:er) ;\n",
482 "STDHDRS ?= decc$library_include ;\n",
483 "SUFEXE ?= .exe ;\n",
484 "SUFLIB ?= .olb ;\n",
485 "SUFOBJ ?= .obj ;\n",
488 "case OPENVMS : CCFLAGS ?= /stand=vaxc ;\n",
489 "case VMS : LINKLIBS ?= sys$library:vaxcrtl.olb/lib ;\n",
495 "CW ?= \"{CW}\" ;\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",
501 "\"$(CW):MacOS Support:Universal:Libraries:StubLibraries:Interfacelib\"\n",
502 "\"$(CW):MacOS Support:Universal:Libraries:StubLibraries:Mathlib\" ;\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",
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",
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",
515 "C++FLAGS ?= -w off -nomapcr ;\n",
517 "CCFLAGS ?= -w off -nomapcr ;\n",
518 "CP ?= duplicate -y ;\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",
529 "RM ?= delete -y ;\n",
530 "SLASH ?= \":\" ;\n",
532 "SUFLIB ?= .lib ;\n",
535 "else if $(OS) = BEOS && $(METROWERKS)\n",
537 "AR ?= mwld -xml -o ;\n",
538 "BINDIR ?= /boot/apps ;\n",
540 "CCFLAGS ?= -nosyspath ;\n",
542 "C++FLAGS ?= -nosyspath ;\n",
543 "FORTRAN ?= \"\" ;\n",
544 "LIBDIR ?= /boot/develop/libraries ;\n",
546 "LINKFLAGS ?= \"\" ;\n",
547 "MANDIR ?= /boot/documentation/\"Shell Tools\"/HTML ;\n",
548 "NOARSCAN ?= true ;\n",
549 "STDHDRS ?= /boot/develop/headers/posix ;\n",
551 "else if $(OS) = BEOS\n",
553 "BINDIR ?= /boot/apps ;\n",
556 "FORTRAN ?= \"\" ;\n",
557 "LIBDIR ?= /boot/develop/libraries ;\n",
559 "LINKLIBS ?= -lnet ;\n",
560 "NOARSCAN ?= true ;\n",
561 "STDHDRS ?= /boot/develop/headers/posix ;\n",
568 "LINKLIBS ?= -lbsd ;\n",
571 "YACC ?= \"bison -y\" ;\n",
574 "CCFLAGS += -D__cygwin__ ;\n",
576 "RANLIB ?= \"\" ;\n",
577 "SUFEXE ?= .exe ;\n",
578 "YACC ?= \"bison -y\" ;\n",
580 "RANLIB ?= \"\" ;\n",
581 "RELOCATE ?= true ;\n",
585 "CCFLAGS += -Ae ;\n",
586 "RANLIB ?= \"\" ;\n",
589 "RANLIB ?= \"\" ;\n",
591 "RANLIB ?= \"\" ;\n",
595 "CCFLAGS += -D_POSIX_SOURCE ;\n",
596 "HDRS += /usr/include ;\n",
597 "RANLIB ?= \"\" ;\n",
598 "NOARSCAN ?= true ;\n",
599 "NOARUPDATE ?= true ;\n",
601 "RANLIB ?= \"\" ;\n",
603 "AR ?= libtool -o ;\n",
604 "RANLIB ?= \"\" ;\n",
606 "AR ?= libtool -o ;\n",
608 "MANDIR ?= /usr/local/share/man ;\n",
609 "RANLIB ?= \"\" ;\n",
611 "RANLIB ?= \"\" ;\n",
613 "RANLIB ?= \"\" ;\n",
617 "CCFLAGS ?= -Q ; # quiet\n",
619 "C++FLAGS ?= -Q ; # quiet\n",
621 "LINKFLAGS ?= -Q ; # quiet\n",
622 "NOARSCAN ?= true ;\n",
623 "RANLIB ?= \"\" ;\n",
625 "RANLIB ?= \"\" ;\n",
626 "RELOCATE ?= true ;\n",
628 "RANLIB ?= \"\" ;\n",
630 "RANLIB ?= \"\" ;\n",
631 "AR ?= \"/usr/ccs/bin/ar ru\" ;\n",
633 "NOARSCAN ?= true ;\n",
636 "RANLIB ?= \"\" ;\n",
637 "RELOCATE ?= true ;\n",
640 "C++FLAGS ?= $(CCFLAGS) ;\n",
641 "CHMOD ?= chmod ;\n",
642 "CHGRP ?= chgrp ;\n",
643 "CHOWN ?= chown ;\n",
645 "LINKFLAGS ?= $(CCFLAGS) ;\n",
648 "RANLIB ?= ranlib ;\n",
650 "YACCFILES ?= y.tab ;\n",
651 "YACCFLAGS ?= -d ;\n",
657 "BINDIR ?= /usr/local/bin ;\n",
666 "EXEMODE ?= 711 ;\n",
667 "FILEMODE ?= 644 ;\n",
668 "FORTRAN ?= f77 ;\n",
669 "FORTRANFLAGS ?= ;\n",
671 "INSTALLGRIST ?= installed ;\n",
672 "JAMFILE ?= Jamfile ;\n",
673 "JAMRULES ?= Jamrules ;\n",
675 "LIBDIR ?= /usr/local/lib ;\n",
680 "MANDIR ?= /usr/local/man ;\n",
681 "MKDIR ?= mkdir ;\n",
688 "SHELLHEADER ?= \"#!/bin/sh\" ;\n",
689 "SHELLMODE ?= 755 ;\n",
691 "STDHDRS ?= /usr/include ;\n",
692 "SUFEXE ?= \"\" ;\n",
695 "UNDEFFLAG ?= \"-u _\" ;\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",
708 "DEPENDS $(<) : $(>) ;\n",
709 "ASFLAGS on $(<) += $(ASFLAGS) $(SUBDIRASFLAGS) ;\n",
716 "File $(i:D=$(<)) : $(i) ;\n",
722 "DEPENDS $(<) : $(>) ;\n",
723 "CCFLAGS on $(<) += $(CCFLAGS) $(SUBDIRCCFLAGS) ;\n",
726 "CcMv $(<) : $(>) ;\n",
728 "_h = $(SEARCH_SOURCE) $(HDRS) $(SUBDIRHDRS) ;\n",
729 "if $(VMS) && $(_h)\n",
731 "SLASHINC on $(<) = \"/inc=(\" $(_h[1]) ,$(_h[2-]) \")\" ;\n",
733 "else if $(MAC) && $(_h)\n",
737 "for _i in $(_h[2-])\n",
739 "_j = $(_j),$(_i) ;\n",
741 "MACINC on $(<) = \\\"$(_j)\\\" ;\n",
747 "DEPENDS $(<) : $(>) ;\n",
748 "C++FLAGS on $(<) += $(C++FLAGS) $(SUBDIRC++FLAGS) ;\n",
751 "CcMv $(<) : $(>) ;\n",
753 "_h = $(SEARCH_SOURCE) $(HDRS) $(SUBDIRHDRS) ;\n",
754 "if $(VMS) && $(_h)\n",
756 "SLASHINC on $(<) = \"/inc=(\" $(_h[1]) ,$(_h[2-]) \")\" ;\n",
758 "else if $(MAC) && $(_h)\n",
762 "for _i in $(_h[2-])\n",
764 "_j = $(_j),$(_i) ;\n",
766 "MACINC on $(<) = \\\"$(_j)\\\" ;\n",
771 "if $(CHMOD) { Chmod1 $(<) ; }\n",
775 "DEPENDS files : $(<) ;\n",
776 "DEPENDS $(<) : $(>) ;\n",
777 "SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
778 "MODE on $(<) = $(FILEMODE) ;\n",
783 "DEPENDS $(<) : $(>) ;\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",
795 "MakeLocate $(<) : $(LOCATE_SOURCE) ;\n",
796 "SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
800 "DEPENDS files : $(<) ;\n",
801 "DEPENDS $(<) : $(>) ;\n",
802 "SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
804 "rule HdrMacroFile\n",
813 "s = $(>:G=$(HDRGRIST)) ;\n",
817 "INCLUDES $(<) : $(s) ;\n",
818 "SEARCH on $(s) = $(HDRSEARCH) ;\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",
825 "rule InstallInto\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",
835 "local tt = $(i:G=$(INSTALLGRIST)) ;\n",
836 "Depends $(tt) : $(i) ;\n",
837 "Install $(tt) : $(i) ;\n",
839 "if $(OWNER) && $(CHOWN)\n",
842 "OWNER on $(tt) = $(OWNER) ;\n",
844 "if $(GROUP) && $(CHGRP)\n",
847 "GROUP on $(tt) = $(GROUP) ;\n",
853 "local _t = [ FAppendSuffix $(>) : $(SUFEXE) ] ;\n",
854 "InstallInto $(<) : $(_t) ;\n",
855 "MODE on $(_t:G=installed) = $(EXEMODE) ;\n",
857 "rule InstallFile\n",
859 "InstallInto $(<) : $(>) ;\n",
860 "MODE on $(>:G=installed) = $(FILEMODE) ;\n",
864 "InstallInto $(<) : $(>) ;\n",
865 "MODE on $(>:G=installed) = $(FILEMODE) ;\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",
880 "InstallInto $(d:R=$(<)) : $(i) ;\n",
882 "MODE on $(>:G=installed) = $(FILEMODE) ;\n",
884 "rule InstallShell\n",
886 "InstallInto $(<) : $(>) ;\n",
887 "MODE on $(>:G=installed) = $(SHELLMODE) ;\n",
891 "LexMv $(<) : $(>) ;\n",
892 "DEPENDS $(<) : $(>) ;\n",
893 "MakeLocate $(<) : $(LOCATE_SOURCE) ;\n",
894 "Clean clean : $(<) ;\n",
898 "LibraryFromObjects $(<) : $(>:S=$(SUFOBJ)) ;\n",
901 "rule LibraryFromObjects\n",
903 "local _i _l _s ;\n",
904 "_s = [ FGristFiles $(>) ] ;\n",
905 "_l = $(<:S=$(SUFLIB)) ;\n",
908 "DEPENDS obj : $(_s) ;\n",
912 "DEPENDS lib : $(_l) ;\n",
916 "MakeLocate $(_l) $(_l)($(_s:BS)) : $(LOCATE_TARGET) ;\n",
920 "DEPENDS $(_l) : $(_s) ;\n",
924 "DEPENDS $(_l) : $(_l)($(_s:BS)) ;\n",
927 "DEPENDS $(_l)($(_i:BS)) : $(_i) ;\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",
938 "MODE on $(<) = $(EXEMODE) ;\n",
941 "rule LinkLibraries\n",
943 "local _t = [ FAppendSuffix $(<) : $(SUFEXE) ] ;\n",
944 "DEPENDS $(_t) : $(>:S=$(SUFLIB)) ;\n",
945 "NEEDLIBS on $(_t) += $(>:S=$(SUFLIB)) ;\n",
949 "MainFromObjects $(<) : $(>:S=$(SUFOBJ)) ;\n",
952 "rule MainFromObjects\n",
955 "_s = [ FGristFiles $(>) ] ;\n",
956 "_t = [ FAppendSuffix $(<) : $(SUFEXE) ] ;\n",
957 "if $(_t) != $(<)\n",
959 "DEPENDS $(<) : $(_t) ;\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",
972 "LOCATE on $(<) = $(>) ;\n",
973 "Depends $(<) : $(>[1]) ;\n",
980 "if $(<) != $(DOT) && ! $($(<)-mkdir)\n",
983 "$(<)-mkdir = true ;\n",
985 "Depends dirs : $(<) ;\n",
992 "case *:\\\\ : s = ;\n",
995 "if $(s) && $(s) != $(<)\n",
997 "Depends $(<) : $(s) ;\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",
1015 "h = $(SEARCH_SOURCE) ;\n",
1021 "HDRRULE on $(>) = HdrRule ;\n",
1022 "HDRSCAN on $(>) = $(HDRPATTERN) ;\n",
1023 "HDRSEARCH on $(>) = $(HDRS) $(SUBDIRHDRS) $(h) $(STDHDRS) ;\n",
1024 "HDRGRIST on $(>) = $(HDRGRIST) ;\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",
1041 "rule ObjectCcFlags\n",
1043 "CCFLAGS on [ FGristFiles $(<:S=$(SUFOBJ)) ] += $(>) ;\n",
1045 "rule ObjectC++Flags\n",
1047 "C++FLAGS on [ FGristFiles $(<:S=$(SUFOBJ)) ] += $(>) ;\n",
1049 "rule ObjectHdrs\n",
1051 "HDRS on [ FGristFiles $(<:S=$(SUFOBJ)) ] += $(>) ;\n",
1056 "for _i in [ FGristFiles $(<) ]\n",
1058 "Object $(_i:S=$(SUFOBJ)) : $(_i) ;\n",
1059 "DEPENDS obj : $(_i:S=$(SUFOBJ)) ;\n",
1064 "TEMPORARY $(>) ;\n",
1068 "MODE on [ FAppendSuffix $(<) : $(SUFEXE) ] = 4711 ;\n",
1072 "DEPENDS shell : $(<) ;\n",
1073 "DEPENDS $(<) : $(>) ;\n",
1074 "SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
1075 "MODE on $(<) = $(SHELLMODE) ;\n",
1076 "Clean clean : $(<) ;\n",
1082 "if ! $($(<[1]))\n",
1086 "EXIT SubDir syntax error ;\n",
1088 "$(<[1]) = [ FSubDir $(<[2-]) ] ;\n",
1090 "if ! $($(<[1])-included)\n",
1092 "$(<[1])-included = TRUE ;\n",
1093 "_r = $($(<[1])RULES) ;\n",
1096 "_r = $(JAMRULES:R=$($(<[1]))) ;\n",
1098 "include $(_r) ;\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",
1111 "rule SubDirCcFlags\n",
1113 "SUBDIRCCFLAGS += $(<) ;\n",
1115 "rule SubDirC++Flags\n",
1117 "SUBDIRC++FLAGS += $(<) ;\n",
1119 "rule SubDirHdrs\n",
1121 "SUBDIRHDRS += $(<) ;\n",
1123 "rule SubInclude\n",
1126 "if ! $($(<[1]))\n",
1128 "EXIT Top level of source tree has not been set with $(<[1]) ;\n",
1130 "_s = [ FDirName $(<[2-]) ] ;\n",
1131 "include $(JAMFILE:D=$(_s):R=$($(<[1]))) ;\n",
1135 "UNDEFS on [ FAppendSuffix $(<) : $(SUFEXE) ] += $(UNDEFFLAG)$(>) ;\n",
1137 "rule UserObject\n",
1139 "EXIT \"Unknown suffix on\" $(>) \"- see UserObject rule in Jamfile(5).\" ;\n",
1144 "_h = $(<:BS=.h) ;\n",
1145 "MakeLocate $(<) $(_h) : $(LOCATE_SOURCE) ;\n",
1148 "DEPENDS $(<) $(_h) : $(>) ;\n",
1149 "Yacc1 $(<) $(_h) : $(>) ;\n",
1150 "YaccMv $(<) $(_h) : $(>) ;\n",
1151 "Clean clean : $(<) $(_h) ;\n",
1153 "INCLUDES $(<) : $(_h) ;\n",
1159 "for _i in $(<[2-])\n",
1161 "_g = $(_g)!$(_i) ;\n",
1165 "rule FGristFiles\n",
1167 "if ! $(SOURCE_GRIST)\n",
1173 "return $(<:G=$(SOURCE_GRIST)) ;\n",
1176 "rule FGristSourceFiles\n",
1178 "if ! $(SOURCE_GRIST)\n",
1189 "case *.h : _o += $(_i) ;\n",
1190 "case * : _o += $(_i:G=$(SOURCE_GRIST)) ;\n",
1199 "$(_r) = $(<[1]) ;\n",
1200 "for _t in $(<[2-])\n",
1202 "$(_r) = $(_r)$(_t) ;\n",
1215 "_d = $(DOTDOT) ;\n",
1216 "for _i in $(<[2-])\n",
1218 "_d = $(_d:R=$(DOTDOT)) ;\n",
1234 "case *:* : _s = $(<[1]) ;\n",
1235 "case \\\\[*\\\\] : _s = $(<[1]) ;\n",
1236 "case * : _s = [.$(<[1])] ;\n",
1238 "for _i in [.$(<[2-])]\n",
1240 "_s = $(_i:R=$(_s)) ;\n",
1248 "_s = $(_i:R=$(_s)) ;\n",
1254 "for _i in $(<[2-])\n",
1256 "_s = $(_i:R=$(_s)) ;\n",
1261 "rule _makeCommon\n",
1263 "if $($(<)[1]) && $($(<)[1]) = $($(>)[1])\n",
1265 "$(<) = $($(<)[2-]) ;\n",
1266 "$(>) = $($(>)[2-]) ;\n",
1267 "_makeCommon $(<) : $(>) ;\n",
1275 "_makeCommon _l : _r ;\n",
1276 "_l = [ FSubDir $(_l) ] ;\n",
1277 "_r = [ FDirName $(_r) ] ;\n",
1278 "if $(_r) = $(DOT) {\n",
1281 "return $(_r:R=$(_l)) ;\n",
1284 "rule FAppendSuffix\n",
1297 "_o += $(_i:S=$(>)) ;\n",
1309 "if $(>[1]:D) && $(>[1]:D) != $(>[1]) && $(>[1]:D) != \\\\\\\\\n",
1311 "unmakeDir $(<) : $(>[1]:D) $(>[1]:BS) $(>[2-]) ;\n",
1318 "rule FConvertToSlashes\n",
1320 "local _d, _s, _i ;\n",
1321 "unmakeDir _d : $(<) ;\n",
1322 "_s = $(_d[1]) ;\n",
1323 "for _i in $(_d[2-])\n",
1325 "_s = $(_s)/$(_i) ;\n",
1329 "actions updated together piecemeal Archive\n",
1331 "$(AR) $(<) $(>)\n",
1335 "$(AS) $(ASFLAGS) -I$(HDRS) -o $(<) $(>)\n",
1339 "$(C++) -c $(C++FLAGS) $(OPTIM) -I$(HDRS) -o $(<) $(>)\n",
1343 "$(CC) -c $(CCFLAGS) $(OPTIM) -I$(HDRS) -o $(<) $(>)\n",
1347 "$(CHGRP) $(GROUP) $(<)\n",
1351 "$(CHMOD) $(MODE) $(<)\n",
1355 "$(CHOWN) $(OWNER) $(<)\n",
1357 "actions piecemeal together existing Clean\n",
1363 "$(CP) $(>) $(<)\n",
1365 "actions GenFile1\n",
1367 "$(>[1]) $(<) $(>[2-])\n",
1369 "actions Fortran\n",
1371 "$(FORTRAN) $(FORTRANFLAGS) -o $(<) $(>)\n",
1373 "actions HardLink\n",
1375 "$(RM) $(<) && $(LN) $(>) $(<)\n",
1377 "actions Install\n",
1379 "$(CP) $(>) $(<)\n",
1387 "$(MV) lex.yy.c $(<)\n",
1389 "actions Link bind NEEDLIBS\n",
1391 "$(LINK) $(LINKFLAGS) -o $(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n",
1397 "actions together Ranlib\n",
1401 "actions quietly updated piecemeal together RmTemps\n",
1408 "NR == 1 { print \"$(SHELLHEADER)\" }\n",
1409 "NR == 1 && /^[#:]/ { next }\n",
1412 "' < $(>) > $(<)\n",
1416 "$(YACC) $(YACCFLAGS) $(>)\n",
1420 "$(MV) $(YACCFILES).c $(<[1])\n",
1421 "$(MV) $(YACCFILES).h $(<[2])\n",
1427 "$(C++) -c $(C++FLAGS) $(OPTIM) -I$(HDRS) $(>)\n",
1431 "$(CC) -c $(CCFLAGS) $(OPTIM) -I$(HDRS) $(>)\n",
1433 "actions ignore CcMv\n",
1435 "[ $(<) != $(>:BS=$(SUFOBJ)) ] && $(MV) $(>:BS=$(SUFOBJ)) $(<)\n",
1438 "if $(NOARUPDATE)\n",
1440 "actions Archive\n",
1442 "$(AR) $(<) $(>)\n",
1447 "if $(TOOLSET) = VISUALC || $(TOOLSET) = VC7 || $(TOOLSET) = INTELC\n",
1449 "actions updated together piecemeal Archive\n",
1451 "if exist $(<) set _$(<:B)_=$(<)\n",
1452 "$(AR) /out:$(<) %_$(<:B)_% $(>)\n",
1456 "$(AS) /Ml /p /v /w2 $(>) $(<) ,nul,nul;\n",
1460 "$(CC) /c $(CCFLAGS) $(OPTIM) /Fo$(<) /I$(HDRS) /I$(STDHDRS) $(>)\n",
1464 "$(C++) /c $(C++FLAGS) $(OPTIM) /Fo$(<) /I$(HDRS) /I$(STDHDRS) /Tp$(>)\n",
1466 "actions Link bind NEEDLIBS\n",
1468 "$(LINK) $(LINKFLAGS) /out:$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n",
1471 "else if $(TOOLSET) = VISUALC16\n",
1473 "actions updated together piecemeal Archive\n",
1475 "$(AR) $(<) -+$(>)\n",
1479 "$(CC) /c $(CCFLAGS) $(OPTIM) /Fo$(<) /I$(HDRS) $(>)\n",
1483 "$(C++) /c $(C++FLAGS) $(OPTIM) /Fo$(<) /I$(HDRS) /Tp$(>)\n",
1485 "actions Link bind NEEDLIBS\n",
1487 "$(LINK) $(LINKFLAGS) /out:$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n",
1490 "else if $(TOOLSET) = BORLANDC\n",
1492 "actions updated together piecemeal Archive\n",
1494 "$(AR) $(<) -+$(>)\n",
1496 "actions Link bind NEEDLIBS\n",
1498 "$(LINK) -e$(<) $(LINKFLAGS) $(UNDEFS) -L$(LINKLIBS) $(NEEDLIBS) $(>)\n",
1502 "$(C++) -c $(C++FLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)\n",
1506 "$(CC) -c $(CCFLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)\n",
1509 "else if $(TOOLSET) = MINGW\n",
1511 "actions together piecemeal Archive\n",
1513 "$(AR) $(<) $(>:T)\n",
1517 "$(CC) -c $(CCFLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)\n",
1521 "$(C++) -c $(C++FLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)\n",
1524 "else if $(TOOLSET) = WATCOM\n",
1526 "actions together piecemeal Archive\n",
1528 "$(AR) $(<) +-$(>)\n",
1532 "$(CC) $(CCFLAGS) $(OPTIM) /Fo=$(<) /I$(HDRS) $(>)\n",
1536 "$(C++) $(C++FLAGS) $(OPTIM) /Fo=$(<) /I$(HDRS) $(>)\n",
1538 "actions Link bind NEEDLIBS\n",
1540 "$(LINK) $(LINKFLAGS) /Fe=$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n",
1544 "$(CP) $(>) $(<)\n",
1547 "else if $(TOOLSET) = LCC\n",
1549 "actions together piecemeal Archive\n",
1551 "$(AR) /out:$(<) $(>)\n",
1555 "$(CC) $(CCFLAGS) $(OPTIM) -Fo$(<) -I$(HDRS) $(>)\n",
1557 "actions Link bind NEEDLIBS\n",
1559 "$(LINK) $(LINKFLAGS) -o $(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n",
1563 "$(CP) $(>) $(<)\n",
1569 "if $(TOOLSET) = WATCOM\n",
1571 "actions together piecemeal Archive\n",
1573 "$(AR) $(<) +-$(>)\n",
1577 "$(CC) $(CCFLAGS) $(OPTIM) /Fo=$(<) /I$(HDRS) $(>)\n",
1581 "$(C++) $(C++FLAGS) $(OPTIM) /Fo=$(<) /I$(HDRS) $(>)\n",
1583 "actions Link bind NEEDLIBS\n",
1585 "$(LINK) $(LINKFLAGS) /Fe=$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n",
1589 "$(CP) $(>) $(<)\n",
1592 "else if $(TOOLSET) = EMX\n",
1594 "actions together piecemeal Archive\n",
1596 "$(AR) $(<) $(>:T)\n",
1600 "$(CC) -c $(CCFLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)\n",
1604 "$(C++) -c $(C++FLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)\n",
1610 "actions updated together piecemeal Archive\n",
1612 "lib/replace $(<) $(>[1]) ,$(>[2-])\n",
1616 "$(CC)/obj=$(<) $(CCFLAGS) $(OPTIM) $(SLASHINC) $(>)\n",
1620 "$(C++)/obj=$(<) $(C++FLAGS) $(OPTIM) $(SLASHINC) $(>)\n",
1622 "actions piecemeal together existing Clean\n",
1624 "$(RM) $(>[1]);* ,$(>[2-]);*\n",
1626 "actions together quietly CreLib\n",
1628 "if f$search(\"$(<)\") .eqs. \"\" then lib/create $(<)\n",
1630 "actions GenFile1\n",
1632 "mcr $(>[1]) $(<) $(>[2-])\n",
1634 "actions Link bind NEEDLIBS\n",
1636 "$(LINK)/exe=$(<) $(LINKFLAGS) $(>[1]) ,$(>[2-]) ,$(NEEDLIBS)/lib ,$(LINKLIBS)\n",
1638 "actions quietly updated piecemeal together RmTemps\n",
1640 "$(RM) $(>[1]);* ,$(>[2-]);*\n",
1644 "$(CP) $(>) $(<)\n",
1649 "actions together Archive\n",
1651 "$(LINK) -library -o $(<) $(>)\n",
1655 "set -e MWCincludes $(MACINC)\n",
1656 "$(CC) -o $(<) $(CCFLAGS) $(OPTIM) $(>)\n",
1660 "set -e MWCincludes $(MACINC)\n",
1661 "$(CC) -o $(<) $(C++FLAGS) $(OPTIM) $(>)\n",
1663 "actions Link bind NEEDLIBS\n",
1665 "$(LINK) -o $(<) $(LINKFLAGS) $(>) $(NEEDLIBS) \"$(LINKLIBS)\"\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",
1688 "if $(JAMFILE) { include $(JAMFILE) ; }\n",