/* Generated by mkjambase from Jambase */ const char *jambase[] = { /* Jambase */ "JAMBASEDATE = 2002.05.09 ;\n", "if $(NT)\n", "{\n", "MV ?= move /y ;\n", "CP ?= copy ;\n", "RM ?= del /f/q ;\n", "RMDIR ?= rmdir /s/q ;\n", "SLASH ?= \\\\ ;\n", "SUFLIB ?= .lib ;\n", "SUFOBJ ?= .obj ;\n", "SUFEXE ?= .exe ;\n", "MSVCNT ?= \"C:\\\\Program Files\\\\Microsoft Visual Studio\\\\Vc98\" ;\n", "if $(BCCROOT)\n", "{\n", "AR ?= tlib /C /P64 ;\n", "CC ?= bcc32 ;\n", "CCFLAGS ?= -v -w- -q -DWIN -tWR -tWM -tWC ;\n", "C++ ?= $(CC) ;\n", "C++FLAGS ?= $(CCFLAGS) -P ;\n", "LINK ?= $(CC) ;\n", "LINKFLAGS ?= $(CCFLAGS) ;\n", "STDLIBPATH ?= $(BCCROOT)\\\\lib ;\n", "STDHDRS ?= $(BCCROOT)\\\\include ;\n", "NOARSCAN ?= true ;\n", "}\n", "else if $(MSVC)\n", "{\n", "AR ?= lib /nologo ;\n", "CC ?= cl /nologo ;\n", "CCFLAGS ?= /D \\\"WIN\\\" ;\n", "C++ ?= $(CC) ;\n", "C++FLAGS ?= $(CCFLAGS) ;\n", "LINK ?= $(CC) ;\n", "LINKFLAGS ?= $(CCFLAGS) ;\n", "LINKLIBS ?= \n", "$(MSVC)\\\\lib\\\\mlibce.lib\n", "$(MSVC)\\\\lib\\\\oldnames.lib\n", ";\n", "LINKLIBS ?= ;\n", "NOARSCAN ?= true ;\n", "OPTIM ?= ;\n", "STDHDRS ?= $(MSVC)\\\\include ;\n", "UNDEFFLAG ?= \"/u _\" ;\n", "}\n", "else if $(MSVCNT) || $(MSVCDIR)\n", "{\n", "MSVCNT ?= $(MSVCDIR) ; \n", "local I ; if $(OSPLAT) = IA64 { I = ia64\\\\ ; } else { I = \"\" ; }\n", "AR ?= lib ;\n", "AS ?= masm386 ;\n", "CC ?= cl /nologo ;\n", "CCFLAGS ?= \"\" ;\n", "C++ ?= $(CC) ;\n", "C++FLAGS ?= $(CCFLAGS) ;\n", "LINK ?= link /nologo ;\n", "LINKFLAGS ?= \"\" ;\n", "LINKLIBS ?= \n", "$(MSVCNT)\\\\lib\\\\$(I)libc.lib\n", "$(MSVCNT)\\\\lib\\\\$(I)oldnames.lib\n", "$(MSVCNT)\\\\lib\\\\$(I)kernel32.lib ;\n", "OPTIM ?= \"\" ;\n", "STDHDRS ?= $(MSVCNT)\\\\include ;\n", "UNDEFFLAG ?= \"/u _\" ;\n", "}\n", "else\n", "{\n", "EXIT On NT, set BCCROOT, MSVCDIR, MSVCNT, or MSVC to the root\n", "of the Borland or Microsoft directories. ;\n", "}\n", "}\n", "else if $(MINGW)\n", "{\n", "Echo \"MingW32\" ;\n", "CC ?= gcc ;\n", "C++ ?= g++ ;\n", "CCFLAGS += -DMINGW ;\n", "RANLIB ?= \"ranlib\" ;\n", "SUFEXE ?= .exe ;\n", "}\n", "else if $(OS2)\n", "{\n", "WATCOM ?= $(watcom) ;\n", "if ! $(WATCOM)\n", "{\n", "Exit On OS2, set WATCOM to the root of the Watcom directory. ;\n", "}\n", "AR ?= wlib ;\n", "BINDIR ?= \\\\os2\\\\apps ;\n", "CC ?= wcc386 ;\n", "CCFLAGS ?= /zq /DOS2 /I$(WATCOM)\\\\h ; # zq=quiet\n", "C++ ?= wpp386 ;\n", "C++FLAGS ?= $(CCFLAGS) ;\n", "CP ?= copy ;\n", "DOT ?= . ;\n", "DOTDOT ?= .. ;\n", "LINK ?= wcl386 ;\n", "LINKFLAGS ?= /zq ; # zq=quiet\n", "LINKLIBS ?= ;\n", "MV ?= move ;\n", "NOARSCAN ?= true ;\n", "OPTIM ?= ;\n", "RM ?= del /f ;\n", "SLASH ?= \\\\ ;\n", "STDHDRS ?= $(WATCOM)\\\\h ;\n", "SUFEXE ?= .exe ;\n", "SUFLIB ?= .lib ;\n", "SUFOBJ ?= .obj ;\n", "UNDEFFLAG ?= \"/u _\" ;\n", "}\n", "else if $(VMS)\n", "{\n", "C++ ?= cxx ;\n", "C++FLAGS ?= ;\n", "CC ?= cc ;\n", "CCFLAGS ?= ;\n", "CHMOD ?= set file/prot= ;\n", "CP ?= copy/replace ;\n", "CRELIB ?= true ;\n", "DOT ?= [] ;\n", "DOTDOT ?= [-] ;\n", "EXEMODE ?= (w:e) ;\n", "FILEMODE ?= (w:r) ;\n", "HDRS ?= ;\n", "LINK ?= link ;\n", "LINKFLAGS ?= \"\" ;\n", "LINKLIBS ?= ;\n", "MKDIR ?= create/dir ;\n", "MV ?= rename ;\n", "OPTIM ?= \"\" ;\n", "RM ?= delete ;\n", "RUNVMS ?= mcr ;\n", "SHELLMODE ?= (w:er) ;\n", "SLASH ?= . ;\n", "STDHDRS ?= decc$library_include ;\n", "SUFEXE ?= .exe ;\n", "SUFLIB ?= .olb ;\n", "SUFOBJ ?= .obj ;\n", "switch $(OS) \n", "{\n", "case OPENVMS : CCFLAGS ?= /stand=vaxc ;\n", "case VMS : LINKLIBS ?= sys$library:vaxcrtl.olb/lib ;\n", "}\n", "}\n", "else if $(MAC)\n", "{\n", "local OPT ;\n", "CW ?= \"{CW}\" ;\n", "MACHDRS ?=\n", "\"$(UMACHDRS):Universal:Interfaces:CIncludes\"\n", "\"$(CW):MSL:MSL_C:MSL_Common:Include\"\n", "\"$(CW):MSL:MSL_C:MSL_MacOS:Include\" ;\n", "MACLIBS ?=\n", "\"$(CW):MacOS Support:Universal:Libraries:StubLibraries:Interfacelib\"\n", "\"$(CW):MacOS Support:Universal:Libraries:StubLibraries:Mathlib\" ;\n", "MPWLIBS ?= \n", "\"$(CW):MacOS Support:Libraries:Runtime:Libs:MSL_MPWCRuntime_PPC.lib\"\n", "\"$(CW):MSL:MSL_C:MSL_MacOS:Lib:PPC:MSL_C_PPC_MPW.Lib\" ;\n", "MPWNLLIBS ?= \n", "\"$(CW):MacOS Support:Libraries:Runtime:Libs:MSL_MPWCRuntime_PPC.lib\"\n", "\"$(CW):MSL:MSL_C:MSL_MacOS:Lib:PPC:MSL_C_PPC_MPW(NL).Lib\" ;\n", "SIOUXHDRS ?= ;\n", "SIOUXLIBS ?= \n", "\"$(CW):MacOS Support:Libraries:Runtime:Libs:MSL_Runtime_PPC.lib\"\n", "\"$(CW):MSL:MSL_C:MSL_MacOS:Lib:PPC:MSL_SIOUX_PPC.Lib\" \n", "\"$(CW):MSL:MSL_C:MSL_MacOS:Lib:PPC:MSL_C_PPC.Lib\" ;\n", "C++ ?= mwcppc ;\n", "C++FLAGS ?= -w off ;\n", "CC ?= mwcppc ;\n", "CCFLAGS ?= -w off ;\n", "CP ?= duplicate -y ;\n", "DOT ?= \":\" ;\n", "DOTDOT ?= \"::\" ;\n", "HDRS ?= $(MACHDRS) $(MPWHDRS) ;\n", "LINK ?= mwlinkppc ;\n", "LINKFLAGS ?= -mpwtool -warn ; \n", "LINKLIBS ?= $(MACLIBS) $(MPWLIBS) ; \n", "MKDIR ?= newfolder ;\n", "MV ?= rename -y ;\n", "NOARSCAN ?= true ;\n", "OPTIM ?= ;\n", "RM ?= delete -y ;\n", "SLASH ?= \":\" ;\n", "STDHDRS ?= ; \n", "SUFLIB ?= .lib ;\n", "SUFOBJ ?= .o ;\n", "}\n", "else if $(OS) = BEOS && $(OSPLAT) = PPC\n", "{\n", "AR ?= mwld -xml -o ;\n", "BINDIR ?= /boot/home/config/bin ;\n", "CC ?= mwcc ;\n", "CCFLAGS ?= -nosyspath ;\n", "C++ ?= $(CC) ;\n", "C++FLAGS ?= -nosyspath ;\n", "CHMOD ?= chmod ;\n", "CHGRP ?= chgrp ;\n", "CHOWN ?= chown ;\n", "FORTRAN ?= \"\" ;\n", "LEX ?= flex ;\n", "LIBDIR ?= /boot/home/config/lib ;\n", "LINK ?= mwld ;\n", "LINKFLAGS ?= \"\" ;\n", "MANDIR ?= /boot/home/config/man ;\n", "NOARSCAN ?= true ;\n", "RANLIB ?= ranlib ;\n", "STDHDRS ?= /boot/develop/headers/posix ;\n", "YACC ?= bison -y ;\n", "YACCGEN ?= .c ;\n", "YACCFILES ?= y.tab ;\n", "YACCFLAGS ?= -d ;\n", "}\n", "else if $(OS) = BEOS \n", "{\n", "BINDIR ?= /boot/home/config/bin ;\n", "CC ?= gcc ;\n", "C++ ?= $(CC) ;\n", "CHMOD ?= chmod ;\n", "CHGRP ?= chgrp ;\n", "CHOWN ?= chown ;\n", "FORTRAN ?= \"\" ;\n", "LEX ?= flex ;\n", "LIBDIR ?= /boot/home/config/lib ;\n", "LINK ?= gcc ;\n", "MANDIR ?= /boot/home/config/man ;\n", "NOARSCAN ?= true ;\n", "RANLIB ?= ranlib ;\n", "STDHDRS ?= /boot/develop/headers/posix ;\n", "YACC ?= bison -y ;\n", "YACCGEN ?= .c ;\n", "YACCFILES ?= y.tab ;\n", "YACCFLAGS ?= -d ;\n", "}\n", "else if $(UNIX)\n", "{\n", "switch $(OS)\n", "{\n", "case AIX :\n", "LINKLIBS ?= -lbsd ;\n", "case AMIGA :\n", "CC ?= gcc ;\n", "YACC ?= bison -y ;\n", "case CYGWIN : \n", "CC ?= gcc ;\n", "CCFLAGS += -D__cygwin__ ;\n", "LEX ?= flex ;\n", "JAMSHELL ?= sh -c ;\n", "RANLIB ?= \"\" ;\n", "SUFEXE ?= .exe ;\n", "YACC ?= bison -y ;\n", "case DGUX :\n", "RANLIB ?= \"\" ;\n", "RELOCATE ?= true ;\n", "case HPUX :\n", "RANLIB ?= \"\" ;\n", "case INTERIX :\n", "CC ?= gcc ;\n", "JAMSHELL ?= sh -c ;\n", "RANLIB ?= \"\" ;\n", "case IRIX :\n", "RANLIB ?= \"\" ;\n", "case MPEIX :\n", "CC ?= gcc ;\n", "C++ ?= gcc ;\n", "CCFLAGS += -D_POSIX_SOURCE ;\n", "HDRS += /usr/include ;\n", "RANLIB ?= \"\" ; \n", "NOARSCAN ?= true ;\n", "NOARUPDATE ?= true ;\n", "case MVS :\n", "RANLIB ?= \"\" ; \n", "case NEXT :\n", "AR ?= libtool -o ;\n", "RANLIB ?= \"\" ;\n", "case MACOSX :\n", "C++ ?= c++ ;\n", "MANDIR ?= /usr/local/share/man ;\n", "case NCR :\n", "RANLIB ?= \"\" ;\n", "case PTX :\n", "RANLIB ?= \"\" ;\n", "case QNX :\n", "AR ?= wlib ;\n", "CC ?= cc ;\n", "CCFLAGS ?= -Q ; # quiet\n", "C++ ?= $(CC) ;\n", "C++FLAGS ?= -Q ; # quiet\n", "LINK ?= $(CC) ;\n", "LINKFLAGS ?= -Q ; # quiet\n", "NOARSCAN ?= true ;\n", "RANLIB ?= \"\" ;\n", "case SCO :\n", "RANLIB ?= \"\" ;\n", "RELOCATE ?= true ;\n", "case SINIX :\n", "RANLIB ?= \"\" ;\n", "case SOLARIS :\n", "RANLIB ?= \"\" ;\n", "AR ?= \"/usr/ccs/bin/ar ru\" ;\n", "case UNICOS :\n", "NOARSCAN ?= true ;\n", "OPTIM ?= -O0 ;\n", "case UNIXWARE :\n", "RANLIB ?= \"\" ;\n", "RELOCATE ?= true ;\n", "}\n", "CCFLAGS ?= ;\n", "C++FLAGS ?= $(CCFLAGS) ;\n", "CHMOD ?= chmod ;\n", "CHGRP ?= chgrp ;\n", "CHOWN ?= chown ;\n", "LEX ?= lex ;\n", "LINKFLAGS ?= $(CCFLAGS) ;\n", "LINKLIBS ?= ;\n", "OPTIM ?= -O ;\n", "RANLIB ?= ranlib ;\n", "YACC ?= yacc ;\n", "YACCGEN ?= .c ;\n", "YACCFILES ?= y.tab ;\n", "YACCFLAGS ?= -d ;\n", "}\n", "AR ?= ar ru ;\n", "AS ?= as ;\n", "ASFLAGS ?= ;\n", "AWK ?= awk ;\n", "BINDIR ?= /usr/local/bin ;\n", "C++ ?= cc ;\n", "C++FLAGS ?= ;\n", "CC ?= cc ;\n", "CCFLAGS ?= ;\n", "CP ?= cp -f ;\n", "CRELIB ?= ;\n", "DOT ?= . ;\n", "DOTDOT ?= .. ;\n", "EXEMODE ?= 711 ;\n", "FILEMODE ?= 644 ;\n", "FORTRAN ?= f77 ;\n", "FORTRANFLAGS ?= ;\n", "HDRS ?= ;\n", "INSTALLGRIST ?= installed ;\n", "JAMFILE ?= Jamfile ;\n", "JAMRULES ?= Jamrules ;\n", "LEX ?= ;\n", "LIBDIR ?= /usr/local/lib ;\n", "LINK ?= $(CC) ;\n", "LINKFLAGS ?= ;\n", "LINKLIBS ?= ;\n", "LN ?= ln ;\n", "MANDIR ?= /usr/local/man ;\n", "MKDIR ?= mkdir ;\n", "MV ?= mv -f ;\n", "OPTIM ?= ;\n", "RCP ?= rcp ;\n", "RM ?= rm -f ;\n", "RMDIR ?= $(RM) ;\n", "RSH ?= rsh ;\n", "SED ?= sed ;\n", "SHELLHEADER ?= \"#!/bin/sh\" ;\n", "SHELLMODE ?= 755 ;\n", "SLASH ?= / ;\n", "STDHDRS ?= /usr/include ;\n", "SUBDIRRULES ?= ;\n", "SUBDIRRESET ?= ASFLAGS HDRS C++FLAGS CCFLAGS ;\n", "SUFEXE ?= \"\" ;\n", "SUFLIB ?= .a ;\n", "SUFOBJ ?= .o ;\n", "UNDEFFLAG ?= \"-u _\" ;\n", "YACC ?= ;\n", "YACCGEN ?= ;\n", "YACCFILES ?= ;\n", "YACCFLAGS ?= ;\n", "HDRPATTERN = \n", "\"^[ ]*#[ ]*include[ ]*[<\\\"]([^\\\">]*)[\\\">].*$\" ;\n", "OSFULL = $(OS)$(OSVER)$(OSPLAT) $(OS)$(OSPLAT) $(OS)$(OSVER) $(OS) ;\n", "Depends all : shell files lib exe obj ;\n", "Depends all shell files lib exe obj : first ;\n", "NotFile all first shell files lib exe obj dirs clean uninstall ;\n", "Always clean uninstall ;\n", "rule As\n", "{\n", "Depends $(<) : $(>) ;\n", "ASFLAGS on $(<) += $(ASFLAGS) $(SUBDIRASFLAGS) ;\n", "ASHDRS on $(<) = [ FIncludes $(SEARCH_SOURCE) $(SUBDIRHDRS) $(HDRS) ] ;\n", "}\n", "rule Bulk\n", "{\n", "local i ;\n", "for i in $(>)\n", "{\n", "File $(i:D=$(<)) : $(i) ;\n", "}\n", "}\n", "rule Cc\n", "{\n", "Depends $(<) : $(>) ;\n", "if $(RELOCATE)\n", "{\n", "CcMv $(<) : $(>) ;\n", "}\n", "CCFLAGS on $(<) += $(CCFLAGS) $(SUBDIRCCFLAGS) $(OPTIM) ;\n", "CCHDRS on $(<) = [ on $(<) FIncludes $(HDRS) ] ;\n", "CCDEFS on $(<) = [ on $(<) FDefines $(DEFINES) ] ;\n", "}\n", "rule C++\n", "{\n", "Depends $(<) : $(>) ;\n", "if $(RELOCATE)\n", "{\n", "CcMv $(<) : $(>) ;\n", "}\n", "C++FLAGS on $(<) += $(C++FLAGS) $(SUBDIRC++FLAGS) $(OPTIM) ;\n", "CCHDRS on $(<) = [ on $(<) FIncludes $(HDRS) ] ;\n", "CCDEFS on $(<) = [ on $(<) FDefines $(DEFINES) ] ;\n", "}\n", "rule Chmod\n", "{\n", "if $(CHMOD) { Chmod1 $(<) ; }\n", "}\n", "rule File\n", "{\n", "Depends files : $(<) ;\n", "Depends $(<) : $(>) ;\n", "SEARCH on $(>) = $(SEARCH_SOURCE) ;\n", "MODE on $(<) = $(FILEMODE) ;\n", "Chmod $(<) ;\n", "}\n", "rule Fortran\n", "{\n", "Depends $(<) : $(>) ;\n", "}\n", "rule GenFile \n", "{\n", "local _t = [ FGristSourceFiles $(<) ] ;\n", "local _s = [ FAppendSuffix $(>[1]) : $(SUFEXE) ] ;\n", "Depends $(_t) : $(_s) $(>[2-]) ;\n", "GenFile1 $(_t) : $(_s) $(>[2-]) ;\n", "Clean clean : $(_t) ;\n", "}\n", "rule GenFile1\n", "{\n", "MakeLocate $(<) : $(LOCATE_SOURCE) ;\n", "SEARCH on $(>) = $(SEARCH_SOURCE) ;\n", "}\n", "rule HardLink\n", "{\n", "Depends files : $(<) ;\n", "Depends $(<) : $(>) ;\n", "SEARCH on $(>) = $(SEARCH_SOURCE) ;\n", "}\n", "rule HdrRule\n", "{\n", "local s = $(>:G=$(HDRGRIST:E)) ;\n", "Includes $(<) : $(s) ;\n", "SEARCH on $(s) = $(HDRSEARCH) ;\n", "NoCare $(s) ;\n", "HDRSEARCH on $(s) = $(HDRSEARCH) ;\n", "HDRSCAN on $(s) = $(HDRSCAN) ;\n", "HDRRULE on $(s) = $(HDRRULE) ;\n", "HDRGRIST on $(s) = $(HDRGRIST) ;\n", "}\n", "rule InstallInto\n", "{\n", "local i t ;\n", "t = $(>:G=$(INSTALLGRIST)) ;\n", "Depends install : $(t) ;\n", "Clean uninstall : $(t) ;\n", "SEARCH on $(>) = $(SEARCH_SOURCE) ;\n", "MakeLocate $(t) : $(<) ;\n", "for i in $(>)\n", "{\n", "local tt = $(i:G=$(INSTALLGRIST)) ;\n", "Depends $(tt) : $(i) ;\n", "Install $(tt) : $(i) ;\n", "Chmod $(tt) ;\n", "if $(OWNER) && $(CHOWN) \n", "{ \n", "Chown $(tt) ;\n", "OWNER on $(tt) = $(OWNER) ;\n", "}\n", "if $(GROUP) && $(CHGRP) \n", "{ \n", "Chgrp $(tt) ;\n", "GROUP on $(tt) = $(GROUP) ;\n", "}\n", "}\n", "}\n", "rule InstallBin\n", "{\n", "local _t = [ FAppendSuffix $(>) : $(SUFEXE) ] ;\n", "InstallInto $(<) : $(_t) ;\n", "MODE on $(_t:G=$(INSTALLGRIST)) = $(EXEMODE) ;\n", "}\n", "rule InstallFile\n", "{\n", "InstallInto $(<) : $(>) ;\n", "MODE on $(>:G=$(INSTALLGRIST)) = $(FILEMODE) ;\n", "}\n", "rule InstallLib\n", "{\n", "InstallInto $(<) : $(>) ;\n", "MODE on $(>:G=$(INSTALLGRIST)) = $(FILEMODE) ;\n", "}\n", "rule InstallMan\n", "{\n", "local i s d ;\n", "for i in $(>)\n", "{\n", "switch $(i:S)\n", "{\n", "case .1 : s = 1 ; case .2 : s = 2 ; case .3 : s = 3 ;\n", "case .4 : s = 4 ; case .5 : s = 5 ; case .6 : s = 6 ;\n", "case .7 : s = 7 ; case .8 : s = 8 ; case .l : s = l ;\n", "case .n : s = n ; case .man : s = 1 ;\n", "}\n", "d = man$(s) ;\n", "InstallInto $(d:R=$(<)) : $(i) ;\n", "}\n", "MODE on $(>:G=$(INSTALLGRIST)) = $(FILEMODE) ;\n", "}\n", "rule InstallShell\n", "{\n", "InstallInto $(<) : $(>) ;\n", "MODE on $(>:G=$(INSTALLGRIST)) = $(SHELLMODE) ;\n", "}\n", "rule Lex\n", "{\n", "LexMv $(<) : $(>) ;\n", "Depends $(<) : $(>) ;\n", "MakeLocate $(<) : $(LOCATE_SOURCE) ;\n", "Clean clean : $(<) ;\n", "}\n", "rule Library\n", "{\n", "LibraryFromObjects $(<) : $(>:S=$(SUFOBJ)) ;\n", "Objects $(>) ;\n", "}\n", "rule LibraryFromObjects\n", "{\n", "local _i _l _s ;\n", "_s = [ FGristFiles $(>) ] ;\n", "_l = $(<:S=$(SUFLIB)) ;\n", "if $(KEEPOBJS)\n", "{\n", "Depends obj : $(_s) ;\n", "}\n", "else\n", "{\n", "Depends lib : $(_l) ;\n", "}\n", "if ! $(_l:D)\n", "{\n", "MakeLocate $(_l) $(_l)($(_s:BS)) : $(LOCATE_TARGET) ;\n", "}\n", "if $(NOARSCAN) \n", "{ \n", "Depends $(_l) : $(_s) ;\n", "}\n", "else\n", "{\n", "Depends $(_l) : $(_l)($(_s:BS)) ;\n", "for _i in $(_s)\n", "{\n", "Depends $(_l)($(_i:BS)) : $(_i) ;\n", "}\n", "}\n", "Clean clean : $(_l) ;\n", "if $(CRELIB) { CreLib $(_l) : $(_s[1]) ; }\n", "Archive $(_l) : $(_s) ;\n", "if $(RANLIB) { Ranlib $(_l) ; }\n", "if ! ( $(NOARSCAN) || $(NOARUPDATE) ) { RmTemps $(_l) : $(_s) ; }\n", "}\n", "rule Link\n", "{\n", "MODE on $(<) = $(EXEMODE) ;\n", "Chmod $(<) ;\n", "}\n", "rule LinkLibraries\n", "{\n", "local _t = [ FAppendSuffix $(<) : $(SUFEXE) ] ;\n", "Depends $(_t) : $(>:S=$(SUFLIB)) ;\n", "NEEDLIBS on $(_t) += $(>:S=$(SUFLIB)) ;\n", "}\n", "rule Main\n", "{\n", "MainFromObjects $(<) : $(>:S=$(SUFOBJ)) ;\n", "Objects $(>) ;\n", "}\n", "rule MainFromObjects\n", "{\n", "local _s _t ;\n", "_s = [ FGristFiles $(>) ] ;\n", "_t = [ FAppendSuffix $(<) : $(SUFEXE) ] ;\n", "if $(_t) != $(<)\n", "{\n", "Depends $(<) : $(_t) ;\n", "NotFile $(<) ;\n", "}\n", "Depends exe : $(_t) ;\n", "Depends $(_t) : $(_s) ;\n", "MakeLocate $(_t) : $(LOCATE_TARGET) ;\n", "Clean clean : $(_t) ;\n", "Link $(_t) : $(_s) ;\n", "}\n", "rule MakeLocate\n", "{\n", "if $(>)\n", "{\n", "LOCATE on $(<) = $(>) ;\n", "Depends $(<) : $(>[1]:G=dir) ;\n", "MkDir $(>[1]:G=dir) ;\n", "}\n", "}\n", "rule MkDir\n", "{\n", "NoUpdate $(<) ;\n", "if $(<:G=) != $(DOT) && ! $($(<)-mkdir) \n", "{\n", "$(<)-mkdir = true ;\n", "Depends dirs : $(<) ;\n", "MkDir1 $(<) ;\n", "local s = $(<:P) ;\n", "if $(NT)\n", "{\n", "switch $(s)\n", "{\n", "case *: : s = ;\n", "case *:\\\\ : s = ;\n", "}\n", "}\n", "if $(s) = $(<)\n", "{\n", "NotFile $(s) ;\n", "}\n", "else if $(s:G=)\n", "{\n", "Depends $(<) : $(s) ;\n", "MkDir $(s) ;\n", "}\n", "}\n", "}\n", "rule Object\n", "{\n", "Clean clean : $(<) ;\n", "MakeLocate $(<) : $(LOCATE_TARGET) ;\n", "SEARCH on $(>) = $(SEARCH_SOURCE) ;\n", "HDRS on $(<) = $(SEARCH_SOURCE) $(SUBDIRHDRS) $(HDRS) ;\n", "HDRRULE on $(>) = HdrRule ;\n", "HDRSCAN on $(>) = $(HDRPATTERN) ;\n", "HDRSEARCH on $(>) = \n", "$(SEARCH_SOURCE:E) $(SUBDIRHDRS) $(HDRS) $(STDHDRS) ;\n", "HDRGRIST on $(>) = $(HDRGRIST) ;\n", "DEFINES on $(<) += $(DEFINES) ;\n", "switch $(>:S)\n", "{\n", "case .asm : As $(<) : $(>) ;\n", "case .c : Cc $(<) : $(>) ;\n", "case .C : C++ $(<) : $(>) ;\n", "case .cc : C++ $(<) : $(>) ;\n", "case .cpp : C++ $(<) : $(>) ;\n", "case .f : Fortran $(<) : $(>) ;\n", "case .l : Cc $(<) : $(<:S=.c) ;\n", "Lex $(<:S=.c) : $(>) ;\n", "case .s : As $(<) : $(>) ;\n", "case .y : Cc $(<) : $(<:S=$(YACCGEN)) ;\n", "Yacc $(<:S=$(YACCGEN)) : $(>) ;\n", "case * : UserObject $(<) : $(>) ;\n", "}\n", "}\n", "rule ObjectCcFlags\n", "{\n", "CCFLAGS on [ FGristFiles $(<:S=$(SUFOBJ)) ] += $(>) ;\n", "}\n", "rule ObjectC++Flags\n", "{\n", "C++FLAGS on [ FGristFiles $(<:S=$(SUFOBJ)) ] += $(>) ;\n", "}\n", "rule ObjectDefines\n", "{\n", "local s = [ FGristFiles $(<:S=$(SUFOBJ)) ] ;\n", "DEFINES on $(s) += $(>) ;\n", "CCDEFS on $(s) = [ on $(s) FDefines $(DEFINES) ] ;\n", "}\n", "rule ObjectHdrs\n", "{\n", "local s = [ FGristFiles $(<:S=$(SUFOBJ)) ] ;\n", "HDRS on $(s) += $(>) ;\n", "CCHDRS on $(s) = [ on $(s) FIncludes $(HDRS) ] ;\n", "}\n", "rule Objects\n", "{\n", "local _i ;\n", "for _i in [ FGristFiles $(<) ]\n", "{\n", "Object $(_i:S=$(SUFOBJ)) : $(_i) ;\n", "Depends obj : $(_i:S=$(SUFOBJ)) ;\n", "}\n", "}\n", "rule RmTemps\n", "{\n", "Temporary $(>) ;\n", "}\n", "rule Setuid\n", "{\n", "MODE on [ FAppendSuffix $(<) : $(SUFEXE) ] = 4711 ;\n", "}\n", "rule Shell\n", "{\n", "Depends shell : $(<) ;\n", "Depends $(<) : $(>) ;\n", "SEARCH on $(>) = $(SEARCH_SOURCE) ;\n", "MODE on $(<) = $(SHELLMODE) ;\n", "Clean clean : $(<) ;\n", "Chmod $(<) ;\n", "}\n", "rule SoftLink\n", "{\n", "Depends files : $(<) ;\n", "Depends $(<) : $(>) ;\n", "SEARCH on $(>) = $(SEARCH_SOURCE) ;\n", "Clean clean : $(<) ;\n", "}\n", "rule SubDir\n", "{\n", "local _top = $(<[1]) ;\n", "local _tokens = $(<[2-]) ;\n", "if ! $(_top)\n", "{\n", "Exit SubDir syntax error ;\n", "}\n", "if ! $($(_top)-SET)\n", "{\n", "$(_top)-SET = true ;\n", "if $($(_top))\n", "{\n", "$(_top)-UP = ;\n", "$(_top)-DOWN = ;\n", "$(_top)-ROOT = $($(_top)) ;\n", "}\n", "else\n", "{\n", "_tokens = [ FReverse $(_tokens) ] ;\n", "SUBDIR_DOWN = [ FReverse $(SUBDIR_DOWN) ] ;\n", "FStripCommon _tokens : SUBDIR_DOWN ;\n", "SUBDIR_DOWN = [ FReverse $(SUBDIR_DOWN) ] ;\n", "_tokens = [ FReverse $(_tokens) ] ;\n", "if $(SUBDIR_DOWN) && $(_tokens) \n", "{ \n", "Echo Warning: SubDir $(<) misplaced! ; \n", "}\n", "$(_top)-UP = $(SUBDIR_UP) $(_tokens) ;\n", "$(_top)-DOWN = $(SUBDIR_DOWN) ;\n", "$(_top)-ROOT = $(SUBDIR_ROOT:E=\"\") ;\n", "$(_top) = [ FSubDirPath $(_top) ] ;\n", "}\n", "SUBDIR_UP = $($(_top)-UP) ;\n", "SUBDIR_DOWN = ;\n", "SUBDIR_ROOT = $($(_top)-ROOT) ;\n", "if $($(_top)RULES) { \n", "include $($(_top)RULES) ;\n", "} else { \n", "NoCare $(JAMRULES:R=$($(_top)):G=$(_top)) ;\n", "include $(JAMRULES:R=$($(_top)):G=$(_top)) ;\n", "}\n", "}\n", "SUBDIR_UP = $($(_top)-UP) ;\n", "SUBDIR_DOWN = $($(_top)-DOWN) $(_tokens) ;\n", "SUBDIR_ROOT = $($(_top)-ROOT) ;\n", "SUBDIR_TOKENS = $(SUBDIR_DOWN) ;\n", "SUBDIR = [ FSubDirPath $(<) ] ;\n", "SEARCH_SOURCE = $(SUBDIR) ;\n", "LOCATE_SOURCE = $(ALL_LOCATE_TARGET) $(SUBDIR) ;\n", "LOCATE_TARGET = $(ALL_LOCATE_TARGET) $(SUBDIR) ;\n", "SOURCE_GRIST = [ FGrist $(SUBDIR_TOKENS) ] ;\n", "SUBDIR$(SUBDIRRESET) = ;\n", "$(SUBDIRRULES) $(<) ;\n", "}\n", "rule FSubDirPath\n", "{\n", "local _r = [ FRelPath $($(<[1])-UP) : $($(<[1])-DOWN) $(<[2-]) ] ;\n", "return $(_r:R=$($(<[1])-ROOT)) ;\n", "}\n", "rule SubDirCcFlags\n", "{\n", "SUBDIRCCFLAGS += $(<) ;\n", "}\n", "rule SubDirC++Flags\n", "{\n", "SUBDIRC++FLAGS += $(<) ;\n", "}\n", "rule SubDirHdrs\n", "{\n", "SUBDIRHDRS += [ FDirName $(<) ] ;\n", "}\n", "rule SubInclude\n", "{\n", "if ! $($(<[1]))\n", "{\n", "Exit SubInclude $(<[1]) without prior SubDir $(<[1]) ;\n", "}\n", "SubDir $(<) ;\n", "include $(JAMFILE:D=$(SUBDIR)) ;\n", "}\n", "rule SubRules\n", "{\n", "if ! $($(<[1]))\n", "{\n", "Exit SubRules $(<[1]) without prior SubDir $(<[1]) ;\n", "}\n", "SubDir $(<) ;\n", "SubDir $(>) ;\n", "}\n", "rule Undefines\n", "{\n", "UNDEFS on [ FAppendSuffix $(<) : $(SUFEXE) ] += $(UNDEFFLAG)$(>) ;\n", "}\n", "rule UserObject\n", "{\n", "Exit \"Unknown suffix on\" $(>) \"- see UserObject rule in Jamfile(5).\" ;\n", "}\n", "rule Yacc\n", "{\n", "local _h ;\n", "_h = $(<:BS=.h) ;\n", "MakeLocate $(<) $(_h) : $(LOCATE_SOURCE) ;\n", "if $(YACC)\n", "{\n", "Depends $(<) $(_h) : $(>) ;\n", "Yacc1 $(<) $(_h) : $(>) ;\n", "YaccMv $(<) $(_h) : $(>) ;\n", "Clean clean : $(<) $(_h) ;\n", "}\n", "Includes $(<) : $(_h) ;\n", "}\n", "rule FGrist\n", "{\n", "return $(<:J=!) ;\n", "}\n", "rule FGristFiles \n", "{\n", "return $(<:G=$(SOURCE_GRIST:E)) ;\n", "}\n", "rule FGristSourceFiles\n", "{\n", "if ! $(SOURCE_GRIST)\n", "{\n", "return $(<) ;\n", "}\n", "else \n", "{\n", "local _i _o ;\n", "for _i in $(<)\n", "{\n", "switch $(_i)\n", "{\n", "case *.h : _o += $(_i) ;\n", "case * : _o += $(_i:G=$(SOURCE_GRIST)) ;\n", "}\n", "}\n", "return $(_o) ;\n", "}\n", "}\n", "rule FReverse \n", "{\n", "if $(1) { return [ FReverse $(1[2-]) ] $(1[1]) ; }\n", "}\n", "rule FSubDir\n", "{\n", "if ! $(<[1]) \n", "{\n", "return $(DOT) ;\n", "} \n", "else\n", "{\n", "local _i _d ;\n", "_d = $(DOTDOT) ;\n", "for _i in $(<[2-])\n", "{\n", "_d = $(_d:R=$(DOTDOT)) ;\n", "}\n", "return $(_d) ;\n", "}\n", "}\n", "rule FStripCommon\n", "{\n", "if $($(<)[1]) && $($(<)[1]) = $($(>)[1])\n", "{\n", "$(<) = $($(<)[2-]) ;\n", "$(>) = $($(>)[2-]) ;\n", "FStripCommon $(<) : $(>) ;\n", "}\n", "}\n", "rule FRelPath\n", "{\n", "local _l _r ;\n", "_l = $(<) ;\n", "_r = $(>) ;\n", "FStripCommon _l : _r ;\n", "_l = [ FSubDir $(_l) ] ;\n", "_r = [ FDirName $(_r) ] ;\n", "if $(_r) = $(DOT) {\n", "return $(_l) ;\n", "} else {\n", "return $(_r:R=$(_l)) ;\n", "}\n", "}\n", "rule FAppendSuffix\n", "{\n", "if $(>)\n", "{\n", "local _i _o ;\n", "for _i in $(<)\n", "{\n", "if $(_i:S)\n", "{\n", "_o += $(_i) ;\n", "}\n", "else\n", "{\n", "_o += $(_i:S=$(>)) ;\n", "}\n", "}\n", "return $(_o) ;\n", "}\n", "else\n", "{\n", "return $(<) ;\n", "}\n", "}\n", "rule FQuote { return \\\\\\\"$(<)\\\\\\\" ; }\n", "rule FDefines { return -D$(<) ; }\n", "rule FIncludes { return -I$(<) ; }\n", "rule FDirName\n", "{\n", "local _i ;\n", "local _s = $(DOT) ;\n", "for _i in $(<)\n", "{\n", "_s = $(_i:R=$(_s)) ;\n", "}\n", "return $(_s) ;\n", "}\n", "if $(OS2)\n", "{\n", "rule FQuote { return \\\"$(<)\\\" ; }\n", "rule FIncludes { return /I$(<) ; }\n", "}\n", "else if $(NT)\n", "{\n", "rule FDefines { return /D$(<) ; }\n", "rule FIncludes { return /I\"$(<)\" ; }\n", "}\n", "else if $(MAC)\n", "{\n", "rule FQuote { return \\\"$(<)\\\" ; }\n", "rule FDefines { return \"-define '$(<)'\" ; }\n", "rule FIncludes { return \\\"$(<:J=,)\\\" ; }\n", "}\n", "else if $(VMS)\n", "{\n", "rule FQuote { return \\\"\\\"\\\"$(<)\\\"\\\"\\\" ; }\n", "rule FDefines { return \"/define=( $(<:J=,) )\" ; }\n", "rule FIncludes { return \"/inc=( $(<:J=,) )\" ; }\n", "rule FDirName\n", "{\n", "local _s _i ;\n", "if ! $(<)\n", "{\n", "_s = $(DOT) ;\n", "}\n", "else \n", "{\n", "switch $(<[1])\n", "{\n", "case *:* : _s = $(<[1]) ;\n", "case \\\\[*\\\\] : _s = $(<[1]) ;\n", "case * : _s = [.$(<[1])] ;\n", "}\n", "for _i in [.$(<[2-])]\n", "{\n", "_s = $(_i:R=$(_s)) ;\n", "}\n", "}\n", "return $(_s) ;\n", "}\n", "}\n", "actions updated together piecemeal Archive\n", "{\n", "$(AR) $(<) $(>)\n", "}\n", "actions As\n", "{\n", "$(AS) $(ASFLAGS) $(ASHDRS) -o $(<) $(>)\n", "}\n", "actions C++\n", "{\n", "$(C++) -c -o $(<) $(C++FLAGS) $(CCDEFS) $(CCHDRS) $(>)\n", "}\n", "actions Cc\n", "{\n", "$(CC) -c -o $(<) $(CCFLAGS) $(CCDEFS) $(CCHDRS) $(>)\n", "}\n", "actions Chgrp\n", "{\n", "$(CHGRP) $(GROUP) $(<)\n", "}\n", "actions Chmod1\n", "{\n", "$(CHMOD) $(MODE) $(<)\n", "}\n", "actions Chown\n", "{\n", "$(CHOWN) $(OWNER) $(<)\n", "}\n", "actions piecemeal together existing Clean\n", "{\n", "$(RM) $(>)\n", "}\n", "actions File\n", "{\n", "$(CP) $(>) $(<)\n", "}\n", "actions GenFile1\n", "{\n", "$(>[1]) $(<) $(>[2-])\n", "}\n", "actions Fortran\n", "{\n", "$(FORTRAN) $(FORTRANFLAGS) -o $(<) $(>)\n", "}\n", "actions HardLink\n", "{\n", "$(RM) $(<) && $(LN) $(>) $(<)\n", "}\n", "actions Install\n", "{\n", "$(CP) $(>) $(<) \n", "}\n", "actions Lex\n", "{\n", "$(LEX) $(>)\n", "}\n", "actions LexMv\n", "{\n", "$(MV) lex.yy.c $(<)\n", "}\n", "actions Link bind NEEDLIBS\n", "{\n", "$(LINK) $(LINKFLAGS) -o $(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS) \n", "}\n", "actions MkDir1\n", "{\n", "$(MKDIR) $(<)\n", "}\n", "actions together Ranlib\n", "{\n", "$(RANLIB) $(<)\n", "}\n", "actions quietly updated piecemeal together RmTemps\n", "{\n", "$(RM) $(>)\n", "}\n", "actions Shell\n", "{\n", "$(AWK) '\n", "NR == 1 { print \"$(SHELLHEADER)\" }\n", "NR == 1 && /^[#:]/ { next }\n", "/^##/ { next }\n", "{ print }\n", "' < $(>) > $(<)\n", "}\n", "actions SoftLink\n", "{\n", "$(RM) $(<) && $(LN) -s $(>) $(<)\n", "}\n", "actions Yacc1\n", "{\n", "$(YACC) $(YACCFLAGS) $(>)\n", "}\n", "actions YaccMv\n", "{\n", "$(MV) $(YACCFILES).c $(<[1])\n", "$(MV) $(YACCFILES).h $(<[2])\n", "}\n", "if $(RELOCATE)\n", "{\n", "actions C++\n", "{\n", "$(C++) -c $(C++FLAGS) $(CCDEFS) $(CCHDRS) $(>)\n", "}\n", "actions Cc\n", "{\n", "$(CC) -c $(CCFLAGS) $(CCDEFS) $(CCHDRS) $(>)\n", "}\n", "actions ignore CcMv\n", "{\n", "[ $(<) != $(>:BS=$(SUFOBJ)) ] && $(MV) $(>:BS=$(SUFOBJ)) $(<)\n", "}\n", "}\n", "if $(NOARUPDATE)\n", "{\n", "actions Archive\n", "{\n", "$(AR) $(<) $(>)\n", "}\n", "}\n", "if $(UNIX)\n", "{\n", "actions GenFile1\n", "{\n", "PATH=\"$PATH:.\"\n", "$(>[1]) $(<) $(>[2-])\n", "}\n", "}\n", "if $(NT) && $(MSVCNT)\n", "{\n", "actions updated together piecemeal Archive\n", "{\n", "if exist $(<) set _$(<:B)_=$(<)\n", "$(AR) /out:$(<) %_$(<:B)_% $(>)\n", "}\n", "actions As\n", "{\n", "$(AS) /Ml /p /v /w2 $(>) $(<) ,nul,nul;\n", "}\n", "actions Cc\n", "{\n", "$(CC) /c /Fo$(<) $(CCFLAGS) $(CCDEFS) $(CCHDRS) /I\"$(STDHDRS)\" $(>)\n", "}\n", "actions C++\n", "{\n", "$(C++) /c /Fo$(<) $(C++FLAGS) $(CCDEFS) $(CCHDRS) /I\"$(STDHDRS)\" /Tp$(>)\n", "}\n", "actions Link bind NEEDLIBS\n", "{\n", "$(LINK) $(LINKFLAGS) /out:$(<) $(UNDEFS) $(>) \"$(NEEDLIBS)\" \"$(LINKLIBS)\"\n", "}\n", "}\n", "else if $(NT) && $(MSVC)\n", "{\n", "actions updated together piecemeal Archive\n", "{\n", "$(AR) $(<) -+$(>)\n", "}\n", "actions Cc\n", "{\n", "$(CC) /c /Fo$(<) $(CCFLAGS) $(CCDEFS) $(CCHDRS) $(>)\n", "}\n", "actions C++\n", "{\n", "$(C++) /c /Fo$(<) $(C++FLAGS) $(CCDEFS) $(CCHDRS) /Tp$(>)\n", "}\n", "actions Link bind NEEDLIBS\n", "{\n", "$(LINK) $(LINKFLAGS) /out:$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n", "}\n", "}\n", "else if $(NT) && $(BCCROOT)\n", "{\n", "actions updated together piecemeal Archive\n", "{\n", "$(AR) $(<) -+$(>)\n", "}\n", "actions Link bind NEEDLIBS\n", "{\n", "$(LINK) -e$(<) $(LINKFLAGS) $(UNDEFS) -L$(LINKLIBS) $(NEEDLIBS) $(>)\n", "}\n", "actions C++\n", "{\n", "$(C++) -c -o$(<) $(C++FLAGS) $(CCDEFS) $(CCHDRS) $(>)\n", "}\n", "actions Cc\n", "{\n", "$(CC) -c -o$(<) $(CCFLAGS) $(CCDEFS) $(CCHDRS) $(>)\n", "}\n", "}\n", "else if $(OS2) && $(WATCOM)\n", "{\n", "actions together piecemeal Archive\n", "{\n", "$(AR) $(<) +-$(>) \n", "}\n", "actions Cc\n", "{\n", "$(CC) /Fo=$(<) $(CCFLAGS) $(CCDEFS) $(CCHDRS) $(>)\n", "}\n", "actions C++\n", "{\n", "$(C++) /Fo=$(<) $(C++FLAGS) $(CCDEFS) $(CCHDRS) $(>)\n", "}\n", "actions Link bind NEEDLIBS\n", "{\n", "$(LINK) $(LINKFLAGS) /Fe=$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n", "}\n", "actions Shell\n", "{\n", "$(CP) $(>) $(<)\n", "}\n", "}\n", "else if $(VMS)\n", "{\n", "actions updated together piecemeal Archive \n", "{\n", "lib/replace $(<) $(>[1]) ,$(>[2-])\n", "}\n", "actions Cc\n", "{ \n", "$(CC)/obj=$(<) $(CCFLAGS) $(CCDEFS) $(CCHDRS) $(>) \n", "}\n", "actions C++\n", "{ \n", "$(C++)/obj=$(<) $(C++FLAGS) $(CCDEFS) $(CCHDRS) $(>) \n", "}\n", "actions piecemeal together existing Clean\n", "{\n", "$(RM) $(>[1]);* ,$(>[2-]);*\n", "}\n", "actions together quietly CreLib\n", "{\n", "if f$search(\"$(<)\") .eqs. \"\" then lib/create $(<)\n", "}\n", "actions GenFile1\n", "{\n", "mcr $(>[1]) $(<) $(>[2-])\n", "}\n", "actions Link bind NEEDLIBS\n", "{\n", "$(LINK)/exe=$(<) $(LINKFLAGS) $(>:J=,) ,$(NEEDLIBS)/lib ,$(LINKLIBS)\n", "}\n", "actions quietly updated piecemeal together RmTemps\n", "{\n", "$(RM) $(>[1]);* ,$(>[2-]);*\n", "}\n", "actions Shell\n", "{\n", "$(CP) $(>) $(<)\n", "}\n", "}\n", "else if $(MAC)\n", "{\n", "actions together Archive \n", "{\n", "$(LINK) -library -o $(<) $(>)\n", "}\n", "actions Cc\n", "{\n", "set -e MWCincludes $(CCHDRS)\n", "$(CC) -o $(<) $(CCFLAGS) $(CCDEFS) $(>) \n", "}\n", "actions C++\n", "{\n", "set -e MWCincludes $(CCHDRS)\n", "$(CC) -o $(<) $(C++FLAGS) $(CCDEFS) $(>) \n", "}\n", "actions Link bind NEEDLIBS\n", "{\n", "$(LINK) -o $(<) $(LINKFLAGS) $(>) $(NEEDLIBS) \"$(LINKLIBS)\"\n", "}\n", "}\n", "if $(WIN98)\n", "{\n", "actions existing Clean\n", "{\n", "del $(>)\n", "}\n", "}\n", "rule BULK { Bulk $(<) : $(>) ; }\n", "rule FILE { File $(<) : $(>) ; }\n", "rule HDRRULE { HdrRule $(<) : $(>) ; }\n", "rule INSTALL { Install $(<) : $(>) ; }\n", "rule LIBRARY { Library $(<) : $(>) ; }\n", "rule LIBS { LinkLibraries $(<) : $(>) ; }\n", "rule LINK { Link $(<) : $(>) ; }\n", "rule MAIN { Main $(<) : $(>) ; }\n", "rule SETUID { Setuid $(<) ; }\n", "rule SHELL { Shell $(<) : $(>) ; }\n", "rule UNDEFINES { Undefines $(<) : $(>) ; }\n", "rule INSTALLBIN { InstallBin $(BINDIR) : $(<) ; }\n", "rule INSTALLLIB { InstallLib $(LIBDIR) : $(<) ; }\n", "rule INSTALLMAN { InstallMan $(MANDIR) : $(<) ; }\n", "rule addDirName { $(<) += [ FDirName $(>) ] ; }\n", "rule makeCommon { FStripCommon $(<) : $(>) ; }\n", "rule _makeCommon { FStripCommon $(<) : $(>) ; }\n", "rule makeDirName { $(<) = [ FDirName $(>) ] ; }\n", "rule makeGrist { $(<) = [ FGrist $(>) ] ; }\n", "rule makeGristedName { $(<) = [ FGristSourceFiles $(>) ] ; }\n", "rule makeRelPath { $(<[1]) = [ FRelPath $(<[2-]) : $(>) ] ; }\n", "rule makeString { $(<) = $(>:J) ; }\n", "rule makeSubDir { $(<) = [ FSubDir $(>) ] ; }\n", "rule makeSuffixed { $(<[1]) = [ FAppendSuffix $(>) : $(<[2]) ] ; }\n", "include $(JAMFILE) ;\n", 0 };
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#7 | 3183 | Craig Mcpheeters | Integration of my jam mainline branch into my work branch. | ||
#6 | 1606 | Craig Mcpheeters |
Integration from my modified jam mainline. This is all the mainline changes into my work branch. |
||
#5 | 1477 | Craig Mcpheeters |
Integration from my main jam branch. This is 2.4-dev with my extensions. |
||
#4 | 1085 | Craig Mcpheeters |
Returned some changes to bring this copy in line with our internal version * Added some double quotes in the Jambase so we can compile files with spaces in the names * Updated our Jambase.aw from the Jambase * Added some debug/optim code to the Jamfile * Fixed a bug in command.c In my dynamic command size extension, it no longer took into account if a target was marked as piecemeal. Now it does * Fixed a bug in execunix.c In jam 2.3 the logic for when to invoke the interpreter directly, and when to go through an intermediate .bat file was changed. This was failing for us, as on NT, cmd.exe does not handle large lines. rc.exe was failing when it went through a .bat file. Reverted it to the 2.2 logic |
||
#3 | 785 | Craig Mcpheeters |
Integration from //guest/craig_mcpheeters/jam/src/... This work area now contains both the Alias|Wavefront changes, and the latest integrations from the mainline. There are some changes in this area which shouldn't be merged back into the mainline. As I merge this branch back into my jam/src/... branch, I'll leave out a few of the changes. |
||
#2 | 782 | Craig Mcpheeters |
Initial return of the Alias|Wavefront mods to jam 2.2. I made a stab at a configuration system - see the file Jamfile.config. Most of the mods are now enclosed within #ifdef blocks, which kind of pollutes the code, but may make it easier to accept or reject some of these changes. Some of these #ifdefs could disappear completely if they are accepted into the mainline This return implements the following extensions: * header cache * dynamic command block size, allowing for *large* commands * slightly improved warnings and errors * serial output from jam - nice when working with multiple jobs * an extension to variable modifiers: $(>:/) and $(>:\\) * ability to ignore header dependencies for a build (jam -p) * new debug level, -d+10, which outputs the dependency graph * added no-care support to internal nodes. if they fail, dependents are built anyway * time stamps on output * a few minor output modifications * a fix for nt batch file names conflicing when more than one jam runs at a time Each of the above can be enabled/disabled on the command line. For example, to turn on the HeaderCache code: jam -sHeaderCache=1 that is, build jam first, then use that jam to build a new one with the options you want. Some of these changes may have been made in the mainline already, my next step will be to integrate the mainline changes into these ones This return isn't yet ready for prime-time |
||
#1 | 777 | Craig Mcpheeters |
Branch of my jam/src/... area. This new area establishes the integration base for the copy of Jam which has all the changes. |
||
//guest/craig_mcpheeters/jam/src/jambase.c | |||||
#2 | 617 | Craig Mcpheeters | Integration from mainline as of @3 | ||
#1 | 616 | Craig Mcpheeters | Integration from Jam mainline, as of @2 |