/* Generated by mkjambase from Jambase */ char *jambase[] = { /* Jambase */ "OSFULL = $(OS)$(OSPLAT)$(OSVER) $(OS)$(OSPLAT) $(OS)$(OSVER) $(OS) ;\n", "switch $(OS)\n", "{\n", "case AIX : LINKLIBS default = -lbsd ;\n", "case DGUX : RANLIB default = \"\" ; RELOCATE = true ;\n", "case HPUX : RANLIB default = \"\" ;\n", "INSTALL default = \"\" ;\n", "case IRIX : RANLIB default = \"\" ;\n", "INSTALL default = \"\" ;\n", "case MVS : RANLIB default = \"\" ; RELOCATE = true ;\n", "case NEXT : AR default = libtool -o ;\n", "RANLIB default = \"\" ;\n", "case NCR : RANLIB default = \"\" ;\n", "INSTALL default = \"\" ;\n", "case PTX : RANLIB default = \"\" ;\n", "case QNX : INSTALL default = \"\" ;\n", "case SCO : RANLIB default = \"\" ;\n", "INSTALL default = \"\" ; RELOCATE = true ;\n", "case SINIX : RANLIB default = \"\" ; RELOCATE = true ;\n", "case SOLARIS : RANLIB default = \"\" ;\n", "INSTALL default = \"install\" ;\n", "AR default = \"/usr/ccs/bin/ar ru\" ;\n", "case UNIXWARE : RANLIB default = \"\" ; RELOCATE = true ;\n", "}\n", "if $(UNIX)\n", "{\n", "if $(OS) = QNX \n", "{\n", "AR default = wlib ;\n", "CC default = cc ;\n", "CCFLAGS default = -Q ; # quiet\n", "C++ default = $(CC) ;\n", "C++FLAGS default = -Q ; # quiet\n", "LINK default = $(CC) ;\n", "LINKFLAGS default = -Q ; # quiet\n", "NOARSCAN default = true ;\n", "RANLIB default = \"\" ;\n", "}\n", "else if $(OS) = BEOS \n", "{\n", "AR default = mwld -xml -o ;\n", "BINDIR default = /boot/bin ;\n", "CC default = mwcc ;\n", "CCFLAGS default = -nosyspath ;\n", "C++ default = $(CC) ;\n", "C++FLAGS default = -nosyspath ;\n", "FORTRAN default = \"\" ;\n", "LIBDIR default = /boot/develop/libraries ;\n", "LINK default = $(CC) ;\n", "LEX default = \"\" ;\n", "MANDIR default = /boot/documentation/\"Shell Tools\"/HTML ;\n", "NOARSCAN default = true ;\n", "RANLIB default = \"\" ; \n", "STDHDRS default = /boot/develop/headers/posix ;\n", "YACC default = \"\" ;\n", "YACCFLAGS default = \"\" ;\n", "YACCFILES default = \"\" ;\n", "}\n", "AR default = ar ru ;\n", "AS default = as ;\n", "AWK default = awk ;\n", "ASFLAGS default = ;\n", "BINDIR default = /usr/local/bin ;\n", "C++ default = gcc ;\n", "C++FLAGS default = ;\n", "CC default = cc ;\n", "CCFLAGS default = ;\n", "CP default = cp ;\n", "CHMOD default = chmod ;\n", "DOT default = . ;\n", "DOTDOT default = .. ;\n", "EXEMODE default = 711 ;\n", "FILEMODE default = 644 ;\n", "FORTRAN default = f77 ;\n", "FORTRANFLAGS default = ;\n", "HDRS default = ;\n", "INSTALL default = install -c ;\n", "LEX default = lex ;\n", "LIBDIR default = /usr/local/lib ;\n", "LINK default = $(CC) ;\n", "LINKFLAGS default = $(CCFLAGS) ;\n", "LINKLIBS default = ;\n", "LN default = ln ;\n", "MANDIR default = /usr/local/man ;\n", "MKDIR default = mkdir ;\n", "MV default = mv -f ;\n", "OPTIM default = -O ;\n", "RANLIB default = ranlib ;\n", "RCP default = rcp ;\n", "RSH default = rsh ;\n", "RM default = rm -f ;\n", "SED default = sed ;\n", "SHELLHEADER default = \"#!/bin/sh\" ;\n", "SHELLMODE default = 755 ;\n", "SLASH default = / ;\n", "STDHDRS default = /usr/include ;\n", "SUFLIB default = .a ;\n", "SUFOBJ default = .o ;\n", "SUFEXE default = \"\" ;\n", "UNDEFFLAG default = \"-u _\" ;\n", "YACC default = yacc ;\n", "YACCFLAGS default = -d ;\n", "YACCFILES default = y.tab ;\n", "}\n", "else if $(NT)\n", "{\n", "AWK default = awk ;\n", "CHMOD default = chmod ;\n", "CP default = copy ;\n", "DOT default = . ;\n", "DOTDOT default = .. ;\n", "EXEMODE default = 711 ;\n", "FILEMODE default = 644 ;\n", "MKDIR default = mkdir ;\n", "MV default = mv -f ;\n", "OS = NT ; # replace Windows_NT\n", "RCP default = rcp ;\n", "RSH default = rsh ;\n", "RM default = del /f/q ;\n", "SED default = sed ;\n", "SLASH default = \\\\ ;\n", "SUFLIB default = .lib ;\n", "SUFOBJ default = .obj ;\n", "SUFEXE default = .exe ;\n", "MSVCNT default = \"C:\\\\Program Files\\\\Microsoft Visual Studio\\\\Vc98\" ;\n", "if $(BCCROOT)\n", "{\n", "ECHO \"Compiler is Borland C++\" ;\n", "AR default = tlib ;\n", "ARFLAGS default = /C /P64 ;\n", "CC default = bcc32 ;\n", "CCFLAGS default = -v -w- -DNT ;\n", "C++ default = bcc32 ;\n", "C++FLAGS default = -v -w- ;\n", "LINK default = $(CC) ;\n", "LINKFLAGS default = $(CCFLAGS) ;\n", "STDLIBPATH default = $(BCCROOT)\\\\lib ;\n", "STDHDRS default = $(BCCROOT)\\\\include ;\n", "NOARSCAN default = true ;\n", "}\n", "else if $(MSVC)\n", "{\n", "ECHO \"Compiler is Microsoft Visual C++ 16 bit\" ;\n", "AR default = lib /nologo ;\n", "CC default = cl /nologo ;\n", "CCFLAGS default = /D \\\"WIN\\\" ;\n", "C++ default = $(CC) ;\n", "C++FLAGS default = $(CCFLAGS) ;\n", "LINK default = $(CC) ;\n", "LINKFLAGS default = $(CCFLAGS) ;\n", "LINKLIBS default = \n", "$(MSVC)\\\\lib\\\\mlibce.lib\n", "$(MSVC)\\\\lib\\\\oldnames.lib\n", ";\n", "LINKLIBS default = ;\n", "NOARSCAN default = true ;\n", "OPTIM default = ;\n", "STDHDRS default = $(MSVC)\\\\include ;\n", "UNDEFFLAG default = \"/u _\" ;\n", "}\n", "else # if $(MSVCNT)\n", "{\n", "ECHO \"Compiler is Microsoft Visual C++\" ;\n", "AR default = lib ;\n", "AS default = masm386 ;\n", "CC default = cl /nologo ;\n", "CCFLAGS default = ;\n", "C++ default = $(CC) ;\n", "C++FLAGS default = $(CCFLAGS) ;\n", "LINK default = link ;\n", "LINKFLAGS default = ;\n", "LINKLIBS default = $(MSVCNT)\\\\lib\\\\advapi32.lib\n", "$(MSVCNT)\\\\lib\\\\libc.lib\n", "$(MSVCNT)\\\\lib\\\\oldnames.lib\n", "$(MSVCNT)\\\\lib\\\\kernel32.lib ;\n", "OPTIM default = ;\n", "STDHDRS default = $(MSVCNT)\\\\include ;\n", "UNDEFFLAG default = \"/u _\" ;\n", "}\n", "}\n", "else if $(OS2)\n", "{\n", "WATCOM default = $(watcom) ;\n", "CP default = copy ;\n", "DOT default = . ;\n", "DOTDOT default = .. ;\n", "MKDIR default = mkdir ;\n", "MV default = move ;\n", "RM default = del /f ;\n", "SED default = sed ;\n", "SLASH default = \\\\ ;\n", "SUFLIB default = .lib ;\n", "SUFOBJ default = .obj ;\n", "SUFEXE default = .exe ;\n", "if ! $(WATCOM)\n", "{\n", "EXIT On OS2, set WATCOM to the root of the Watcom directory. ;\n", "}\n", "ECHO \"OS2 compiler is Watcom.\" ;\n", "AR default = wlib ;\n", "CC default = wcc386 ;\n", "CCFLAGS default = /zq /DOS2 /I$(WATCOM)\\\\h ; # zq=quiet\n", "C++ default = wpp386 ;\n", "C++FLAGS default = $(CCFLAGS) ;\n", "LINK default = wcl386 ;\n", "LINKFLAGS default = /zq ; # zq=quiet\n", "LINKLIBS default = ;\n", "NOARSCAN default = true ;\n", "OPTIM default = ;\n", "STDHDRS default = $(WATCOM)\\\\h ;\n", "UNDEFFLAG default = \"/u _\" ;\n", "}\n", "else if $(VMS)\n", "{\n", "AS default = as ;\n", "CC default = cc ;\n", "CCFLAGS default = ;\n", "CP default = copy/replace ;\n", "CRELIB default = true ;\n", "DOT default = [] ;\n", "DOTDOT default = [-] ;\n", "EXEMODE default = (w:e) ;\n", "FILEMODE default = (w:r) ;\n", "HDRS default = ;\n", "LEX default = lex ;\n", "LINK default = link ;\n", "LINKFLAGS default = ;\n", "LINKLIBS default = ;\n", "MV default = rename ;\n", "OPTIM default = ;\n", "RM default = delete ;\n", "RUNVMS default = mcr ;\n", "SED default = sed ;\n", "SHELLMODE default = (w:er) ;\n", "SLASH default = . ;\n", "STDHDRS default = decc$library_include ;\n", "SUFLIB default = .olb ;\n", "SUFOBJ default = .obj ;\n", "SUFEXE default = .exe ;\n", "switch $(OS) \n", "{\n", "case OPENVMS : CCFLAGS default = /stand=vaxc ;\n", "case VMS : LINKLIBS default = sys$library:vaxcrtl.olb/lib ;\n", "}\n", "}\n", "else if $(MAC)\n", "{\n", "CWGUSI default = \"{CWGUSI}\" ;\n", "CWMAC default = \"{CWMAC}\" ;\n", "CWGUSIHDR default = $(CWGUSI):include ;\n", "CWGUSILIB default = $(CWGUSI):Lib ;\n", "CWMACLIB default = $(CWMAC):Libraries ;\n", "CWMACHDR default = $(CWMAC):Headers ;\n", "CC default = mwcppc ;\n", "CCFLAGS default = -w off ;\n", "CP default = copy ;\n", "DOT default = \":\" ;\n", "DOTDOT default = \"::\" ;\n", "HDRS default = $(CWGUSIHDR) \n", "$(CWMACHDR):\"ANSI Headers\" \n", "$(CWMACHDR):\"Universal Headers\" ;\n", "LINK default = mwlinkppc ;\n", "LINKFLAGS default = -mpwtool -warn ;\n", "LINKLIBS default = \"$(CWGUSILIB):GUSIMPW.Lib.PPC\" \n", "\"$(CWGUSILIB):GUSI.Lib.PPC\" \n", "\"$(CWMACLIB):MacOS Common:Interfacelib\" \n", "\"$(CWMACLIB):MacOS Common:PLStringFuncs Glue:PLStringFuncsPPC.lib\" \n", "\"$(CWMACLIB):Runtime:Runtime PPC:MWMPWCRuntime.lib\" \n", "\"$(CWMACLIB):ANSI PPC:MPW ANSI.C.PPC.Lib\" \n", "\"$(CWMACLIB):MacOS PPC:PPCToolLibs.o\" \n", "\"$(CWMACLIB):MacOS PPC:Mathlib\" ;\n", "MKDIR default = newfolder ;\n", "MV default = rename ;\n", "NOARSCAN default = true ;\n", "OPTIM default = ;\n", "RM default = delete ;\n", "SLASH default = \":\" ;\n", "STDHDRS default = ; #$(MWCIncludes) ;\n", "SUFLIB default = .lib ;\n", "SUFOBJ default = .o ;\n", "SUFEXE default = \"\" ;\n", "NOARSCAN default = true ;\n", "}\n", "if $(NT) || $(OS2)\n", "{\n", "MSLIB default = lib ;\n", "MSLINK default = link ;\n", "MSIMPLIB default = implib ;\n", "MSRC default = rc ;\n", "}\n", "JAMFILE default = Jamfile ;\n", "JAMRULES default = Jamrules ;\n", "HDRPATTERN = \"^#[ ]*include[ ]*[<\\\"](.*)[\\\">].*$\" ;\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", "}\n", "rule Bulk\n", "{\n", "local i ;\n", "for i in $(>)\n", "{\n", "File $(i:D=$(<)) : $(i) ;\n", "}\n", "}\n", "rule Cc\n", "{\n", "local _h ;\n", "DEPENDS $(<) : $(>) ;\n", "CCFLAGS on $(<) += $(CCFLAGS) $(SUBDIRCCFLAGS) ;\n", "if $(RELOCATE)\n", "{\n", "CcMv $(<) : $(>) ;\n", "}\n", "_h = $(SEARCH_SOURCE) $(HDRS) $(SUBDIRHDRS) ;\n", "if $(VMS) && $(_h)\n", "{\n", "SLASHINC on $(<) = \"/inc=(\" $(_h[1]) ,$(_h[2-]) \")\" ;\n", "}\n", "else if $(MAC) && $(_h)\n", "{\n", "local _i _j ;\n", "_j = $(_h[1]) ;\n", "for _i in $(_h[2-])\n", "{\n", "_j = $(_j),$(_i) ;\n", "}\n", "MACINC on $(<) = \\\"$(_j)\\\" ;\n", "}\n", "}\n", "rule C++\n", "{\n", "local _h ;\n", "DEPENDS $(<) : $(>) ;\n", "C++FLAGS on $(<) += $(C++FLAGS) $(SUBDIRC++FLAGS) ;\n", "if $(RELOCATE)\n", "{\n", "CcMv $(<) : $(>) ;\n", "}\n", "_h = $(SEARCH_SOURCE) $(HDRS) $(SUBDIRHDRS) ;\n", "if $(VMS) && $(_h)\n", "{\n", "SLASHINC on $(<) = \"/inc=(\" $(_h[1]) ,$(_h[2-]) \")\" ;\n", "}\n", "else if $(MAC) && $(_h)\n", "{\n", "local _i _j ;\n", "_j = $(_h[1]) ;\n", "for _i in $(_h[2-])\n", "{\n", "_j = $(_j),$(_i) ;\n", "}\n", "MACINC on $(<) = \\\"$(_j)\\\" ;\n", "}\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 s ;\n", "makeGristedName s : $(<) ;\n", "Depends $(s) : $(>[1]:S=$(SUFEXE)) $(>[2-]) ;\n", "GenFile1 $(s) : $(>[1]:S=$(SUFEXE)) $(>[2-]) ;\n", "Clean clean : $(s) ;\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 ;\n", "if $(HDRGRIST) \n", "{ \n", "s = $(>:G=$(HDRGRIST)) ;\n", "} else { \n", "s = $(>) ; \n", "}\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=installed) ;\n", "DEPENDS install : $(t) ;\n", "DEPENDS $(t) : $(>) ;\n", "SEARCH on $(>) = $(SEARCH_SOURCE) ;\n", "MakeLocate $(t) : $(<) ;\n", "Clean uninstall : $(t) ;\n", "for i in $(>)\n", "{\n", "Install $(i:G=installed) : $(i) ;\n", "}\n", "if ! $(INSTALL)\n", "{\n", "Chmod $(t) ;\n", "if $(OWNER) { Chown $(t) ; OWNER on $(t) = $(OWNER) ; }\n", "if $(GROUP) { Chgrp $(t) ; GROUP on $(t) = $(GROUP) ; }\n", "}\n", "}\n", "rule InstallBin\n", "{\n", "InstallInto $(<) : $(>) ;\n", "MODE on $(>:G=installed) = $(EXEMODE) ;\n", "}\n", "rule InstallFile\n", "{\n", "InstallInto $(<) : $(>) ;\n", "MODE on $(>:G=installed) = $(FILEMODE) ;\n", "}\n", "rule InstallLib\n", "{\n", "InstallInto $(<) : $(>) ;\n", "MODE on $(>:G=installed) = $(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=installed) = $(FILEMODE) ;\n", "}\n", "rule InstallShell\n", "{\n", "InstallInto $(<) : $(>) ;\n", "MODE on $(>:G=installed) = $(SHELLMODE) ;\n", "}\n", "rule Lex\n", "{\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", "makeGristedName s : $(>) ;\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) || $(KEEPOBJS) ) { RmTemps $(l) : $(s) ; }\n", "}\n", "rule Link\n", "{\n", "MODE on $(<) = $(EXEMODE) ;\n", "Chmod $(<) ;\n", "}\n", "rule LinkLibraries\n", "{\n", "local t ;\n", "if $(<:S)\n", "{\n", "t = $(<) ;\n", "} else {\n", "t = $(<:S=$(SUFEXE)) ;\n", "}\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", "makeGristedName s : $(>) ;\n", "makeSuffixed t $(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]) ;\n", "MkDir $(>[1]) ;\n", "}\n", "}\n", "rule MkDir\n", "{\n", "if $(<) != $(DOT) && ! $($(<)-mkdir) \n", "{\n", "local s ;\n", "$(<)-mkdir = true ;\n", "MkDir1 $(<) ;\n", "NOUPDATE $(<) ;\n", "Depends dirs : $(<) ;\n", "s = $(<:P) ;\n", "if $(NT)\n", "{\n", "switch $(s)\n", "{\n", "case *: : s = ;\n", "case *:\\\\ : s = ;\n", "}\n", "}\n", "if $(s) && $(s) != $(<)\n", "{\n", "Depends $(<) : $(s) ;\n", "MkDir $(s) ;\n", "}\n", "else if $(s)\n", "{\n", "NOTFILE $(s) ;\n", "}\n", "}\n", "}\n", "rule Object\n", "{\n", "local h ;\n", "Clean clean : $(<) ;\n", "MakeLocate $(<) : $(LOCATE_TARGET) ;\n", "SEARCH on $(>) = $(SEARCH_SOURCE) ;\n", "HDRS on $(<) = $(SEARCH_SOURCE) $(HDRS) $(SUBDIRHDRS) ;\n", "if $(SEARCH_SOURCE)\n", "{\n", "h = $(SEARCH_SOURCE) ;\n", "}\n", "else\n", "{\n", "h = \"\" ;\n", "}\n", "HDRRULE on $(>) = HdrRule ;\n", "HDRSCAN on $(>) = $(HDRPATTERN) ;\n", "HDRSEARCH on $(>) = $(HDRS) $(SUBDIRHDRS) $(h) $(STDHDRS) ;\n", "HDRGRIST on $(>) = $(HDRGRIST) ;\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=.c) ;\n", "Yacc $(<:S=.c) : $(>) ;\n", "case * : UserObject $(<) : $(>) ;\n", "}\n", "}\n", "rule ObjectCcFlags\n", "{\n", "local s ;\n", "makeGristedName s : $(<:S=$(SUFOBJ)) ;\n", "CCFLAGS on $(s) += $(>) ;\n", "}\n", "rule ObjectC++Flags\n", "{\n", "local s ;\n", "makeGristedName s : $(<:S=$(SUFOBJ)) ;\n", "C++FLAGS on $(s) += $(>) ;\n", "}\n", "rule ObjectHdrs\n", "{\n", "local s ;\n", "makeGristedName s : $(<:S=$(SUFOBJ)) ;\n", "HDRS on $(s) += $(>) ;\n", "}\n", "rule Objects\n", "{\n", "local i s ;\n", "makeGristedName s : $(<) ;\n", "for i in $(s)\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", "local t ;\n", "if $(<:S)\n", "{\n", "t = $(<) ;\n", "} else {\n", "t = $(<:S=$(SUFEXE)) ;\n", "}\n", "MODE on $(t) = 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 SubDir\n", "{\n", "local r s ;\n", "if ! $($(<[1]))\n", "{\n", "if ! $(<[1])\n", "{\n", "EXIT SubDir syntax error ;\n", "}\n", "makeSubDir $(<[1]) : $(<[2-]) ;\n", "}\n", "if ! $($(<[1])-included)\n", "{\n", "$(<[1])-included = TRUE ;\n", "r = $($(<[1])RULES) ;\n", "if ! $(r)\n", "{\n", "r = $(JAMRULES:R=$($(<[1]))) ;\n", "}\n", "include $(r) ;\n", "}\n", "makeDirName s : $(<[2-]) ;\n", "SUBDIR = $(s:R=$($(<[1]))) ;\n", "SUBDIR_TOKENS = $(<[2-]) ;\n", "SEARCH_SOURCE = $(SUBDIR) ;\n", "LOCATE_SOURCE = $(ALL_LOCATE_TARGET) $(SUBDIR) ;\n", "LOCATE_TARGET = $(ALL_LOCATE_TARGET) $(SUBDIR) ;\n", "makeGrist SOURCE_GRIST : $(<[2-]) ;\n", "SUBDIRCCFLAGS = ;\n", "SUBDIRC++FLAGS = ;\n", "SUBDIRHDRS = ;\n", "}\n", "rule SubDirCcFlags\n", "{\n", "SUBDIRCCFLAGS += $(<) ;\n", "}\n", "rule SubDirC++Flags\n", "{\n", "SUBDIRC++FLAGS += $(<) ;\n", "}\n", "rule SubDirHdrs\n", "{\n", "SUBDIRHDRS += $(<) ;\n", "}\n", "rule SubInclude\n", "{\n", "local s ;\n", "if ! $($(<[1]))\n", "{\n", "EXIT Top level of source tree has not been set with $(<[1]) ;\n", "}\n", "makeDirName s : $(<[2-]) ;\n", "include $(JAMFILE:D=$(s):R=$($(<[1]))) ;\n", "}\n", "rule Undefines\n", "{\n", "local t ;\n", "if $(<:S)\n", "{\n", "t = $(<) ;\n", "} else {\n", "t = $(<:S=$(SUFEXE)) ;\n", "}\n", "UNDEFS on $(t) += $(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", "Clean clean : $(<) $(h) ;\n", "}\n", "INCLUDES $(<) : $(h) ;\n", "}\n", "rule makeString\n", "{\n", "local _t ;\n", "$(<) = $(>[1]) ;\n", "for _t in $(>[2-])\n", "{\n", "$(<) = $($(<))$(_t) ;\n", "}\n", "}\n", "rule makeSubDir\n", "{\n", "local _i _d ;\n", "if ! $(>[1]) \n", "{\n", "_d = $(DOT) ;\n", "} \n", "else\n", "{\n", "_d = $(DOTDOT) ;\n", "for _i in $(>[2-])\n", "{\n", "_d = $(_d:R=$(DOTDOT)) ;\n", "}\n", "}\n", "$(<) = $(_d) ;\n", "}\n", "rule addDirName\n", "{\n", "local _s _i ;\n", "if ! $(>)\n", "{\n", "_s = $(DOT) ;\n", "}\n", "else if $(VMS)\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", "else if $(MAC)\n", "{\n", "_s = $(DOT) ;\n", "for _i in $(>)\n", "{\n", "_s = $(_i:R=$(_s)) ;\n", "}\n", "}\n", "else\n", "{\n", "_s = $(>[1]) ; \n", "for _i in $(>[2-])\n", "{\n", "_s = $(_i:R=$(_s)) ;\n", "}\n", "}\n", "$(<) += $(_s) ;\n", "}\n", "rule makeDirName\n", "{\n", "$(<) = ; addDirName $(<) : $(>) ;\n", "}\n", "rule makeGrist\n", "{\n", "local _g _i ;\n", "_g = $(>[1]) ;\n", "for _i in $(>[2-])\n", "{\n", "_g = $(_g)!$(_i) ;\n", "}\n", "$(<) = $(_g) ;\n", "}\n", "rule makeGristedName\n", "{\n", "local _i _o ;\n", "if ! $(SOURCE_GRIST)\n", "{\n", "$(<) = $(>) ;\n", "}\n", "else \n", "{\n", "_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", "$(<) = $(_o) ;\n", "}\n", "}\n", "rule makeCommon\n", "{\n", "if $($(<)[1]) && $($(<)[1]) = $($(>)[1])\n", "{\n", "$(<) = $($(<)[2-]) ;\n", "$(>) = $($(>)[2-]) ;\n", "makeCommon $(<) : $(>) ;\n", "}\n", "}\n", "rule makeRelPath \n", "{\n", "local _l _r ;\n", "_l = $(<[2-]) ;\n", "_r = $(>) ;\n", "makeCommon _l : _r ;\n", "makeSubDir _l : $(_l) ;\n", "makeDirName _r : $(_r) ;\n", "if $(_r) = $(DOT) {\n", "$(<[1]) = $(_l) ;\n", "} else {\n", "$(<[1]) = $(_r:R=$(_l)) ;\n", "}\n", "}\n", "rule makeSuffixed\n", "{\n", "if $(<[2])\n", "{\n", "local _i ;\n", "$(<[1]) = ;\n", "for _i in $(>)\n", "{\n", "if $(_i:S)\n", "{\n", "$(<[1]) += $(_i) ;\n", "}\n", "else\n", "{\n", "$(<[1]) += $(_i:S=$(<[2])) ;\n", "}\n", "}\n", "}\n", "else\n", "{\n", "$(<[1]) = $(>) ;\n", "}\n", "}\n", "rule unmakeDir\n", "{\n", "if $(>[1]:D) && $(>[1]:D) != $(>[1]) && $(>[1]:D) != \\\\\\\\ \n", "{\n", "unmakeDir $(<) : $(>[1]:D) $(>[1]:BS) $(>[2-]) ;\n", "}\n", "else\n", "{\n", "$(<) = $(>) ;\n", "}\n", "}\n", "if $(UNIX)\n", "{\n", "if $(OS) = QNX \n", "{\n", "actions together piecemeal Archive\n", "{\n", "$(AR) $(<) +-$(>) \n", "}\n", "}\n", "else if $(OS) = BEOS\n", "{\n", "actions together Archive\n", "{\n", "$(AR) $(<) $(>)\n", "}\n", "}\n", "else\n", "{\n", "actions updated together piecemeal Archive\n", "{\n", "$(AR) $(<) $(>)\n", "}\n", "}\n", "actions As\n", "{\n", "$(AS) $(ASFLAGS) -I$(HDRS) -o $(<) $(>)\n", "}\n", "if $(OS) = SINIX\n", "{\n", "actions C++\n", "{\n", "[ $(>:S) != .C ] && $(CP) $(>) $(>:S=.C) && trap \"rm -f $(>:S=.C)\" 0\n", "$(C++) -c $(C++FLAGS) $(OPTIM) -I$(HDRS) $(>:S=.C)\n", "}\n", "} \n", "else if $(RELOCATE)\n", "{\n", "actions C++\n", "{\n", "$(C++) -c $(C++FLAGS) $(OPTIM) -I$(HDRS) $(>)\n", "}\n", "}\n", "else\n", "{\n", "actions C++\n", "{\n", "$(C++) -c $(C++FLAGS) $(OPTIM) -I$(HDRS) -o $(<) $(>)\n", "}\n", "}\n", "actions Cc\n", "{\n", "$(CC) -c $(CCFLAGS) $(OPTIM) -I$(HDRS) -o $(<) $(>)\n", "}\n", "if $(RELOCATE)\n", "{\n", "actions Cc\n", "{\n", "$(CC) -c $(CCFLAGS) $(OPTIM) -I$(HDRS) $(>)\n", "}\n", "}\n", "actions ignore CcMv\n", "{\n", "[ $(<) != $(>:BS=$(SUFOBJ)) ] && $(MV) $(>:BS=$(SUFOBJ)) $(<)\n", "}\n", "actions Chgrp\n", "{\n", "chgrp $(GROUP) $(<)\n", "}\n", "actions Chmod\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", "$(RM) $(<)\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", "if $(INSTALL)\n", "{\n", "actions Install\n", "{\n", "$(INSTALL) -m$(MODE) -o$(OWNER) -g$(GROUP) $(>) $(<)\n", "}\n", "}\n", "else\n", "{\n", "actions Install\n", "{\n", "$(CP) $(>) $(<) \n", "}\n", "}\n", "actions Lex\n", "{\n", "$(LEX) $(>) && $(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 Yacc1\n", "{\n", "$(YACC) $(YACCFLAGS) $(>) &&\n", "{\n", "$(MV) $(YACCFILES).c $(<[1])\n", "$(MV) $(YACCFILES).h $(<[2])\n", "}\n", "}\n", "}\n", "else if $(NT) || $(OS2)\n", "{\n", "if $(BCCROOT)\n", "{\n", "actions C++\n", "{\n", "$(C++) -c $(C++FLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)\n", "}\n", "actions Link bind NEEDLIBS\n", "{\n", "$(LINK) -e$(<) $(LINKFLAGS) $(UNDEFS) -L$(LINKLIBS) $(NEEDLIBS) $(>)\n", "}\n", "actions updated together piecemeal Archive\n", "{\n", "$(AR) $(ARFLAGS) $(<) -+$(>)\n", "}\n", "actions Cc\n", "{\n", "$(CC) -c $(CCFLAGS) $(OPTIM) -I$(HDRS) -o$(<) $(>)\n", "}\n", "}\n", "else if $(MSVC) \n", "{\n", "actions updated together piecemeal Archive\n", "{\n", "$(AR) $(<) -+$(>) ;\n", "}\n", "actions Cc\n", "{\n", "$(CC) /c $(CCFLAGS) $(OPTIM) /Fo$(<) /I$(HDRS) $(>)\n", "}\n", "actions C++\n", "{\n", "$(C++) /c $(C++FLAGS) $(OPTIM) /Fo$(<) /I$(HDRS) /Tp$(>)\n", "}\n", "actions Link bind NEEDLIBS\n", "{\n", "$(LINK) $(LINKFLAGS) /out:$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n", "}\n", "}\n", "else if $(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 $(CCFLAGS) $(OPTIM) /Fo$(<) /I\"$(HDRS)\" /I\"$(STDHDRS)\" $(>)\n", "}\n", "actions C++\n", "{\n", "$(C++) /c $(C++FLAGS) $(OPTIM) /Fo$(<) /I\"$(HDRS)\" /I\"$(STDHDRS)\" /Tp$(>)\n", "}\n", "actions Link bind NEEDLIBS\n", "{\n", "$(LINK) $(LINKFLAGS) /out:$(<) $(UNDEFS) $(>) \"$(NEEDLIBS)\" \"$(LINKLIBS)\"\n", "}\n", "}\n", "else if $(WATCOM)\n", "{\n", "actions together piecemeal Archive\n", "{\n", "$(AR) $(<) +-$(>) \n", "}\n", "actions Cc\n", "{\n", "$(CC) $(CCFLAGS) $(OPTIM) /Fo=$(<) /I$(HDRS) $(>)\n", "}\n", "actions C++\n", "{\n", "$(C++) $(C++FLAGS) $(OPTIM) /Fo=$(<) /I$(HDRS) $(>)\n", "}\n", "actions Link bind NEEDLIBS\n", "{\n", "$(LINK) $(LINKFLAGS) /Fe=$(<) $(UNDEFS) $(>) $(NEEDLIBS) \"$(LINKLIBS)\"\n", "}\n", "}\n", "actions Chmod\n", "{\n", "}\n", "actions piecemeal together existing Clean\n", "{\n", "$(RM) $(>)\n", "}\n", "actions File\n", "{\n", "copy $(>) $(<)\n", "}\n", "actions GenFile1\n", "{\n", "$(>[1]) $(<) $(>[2-])\n", "}\n", "actions Install\n", "{\n", "copy $(>) $(<)\n", "}\n", "actions MkDir1\n", "{\n", "$(MKDIR) $(<)\n", "}\n", "actions quietly updated piecemeal together RmTemps\n", "{\n", "$(RM) $(>)\n", "}\n", "actions Shell\n", "{\n", "copy $(>) $(<)\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) $(OPTIM) $(SLASHINC) $(>) \n", "}\n", "actions C++\n", "{ \n", "cxx/obj=$(<) $(C++FLAGS) $(OPTIM) $(SLASHINC) $(>) \n", "}\n", "actions Chmod\n", "{\n", "set file/prot=$(MODE) $(<)\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 File\n", "{\n", "copy $(>) $(<)\n", "}\n", "actions GenFile1\n", "{\n", "mcr $(>[1]) $(<) $(>[2-])\n", "}\n", "actions Install\n", "{\n", "copy $(>) $(<)\n", "}\n", "actions Lex\n", "{\n", "$(LEX) $(>) \n", "$(MV) lex.yy.c $(<)\n", "}\n", "actions Link bind NEEDLIBS\n", "{\n", "$(LINK)/exe=$(<) $(LINKFLAGS) $(>[1]) ,$(>[2-]) ,$(NEEDLIBS)/lib ,$(LINKLIBS)\n", "}\n", "actions MkDir1\n", "{\n", "create/dir $(<)\n", "}\n", "actions quietly updated piecemeal together RmTemps\n", "{\n", "$(RM) $(>[1]);* ,$(>[2-]);*\n", "}\n", "actions Shell\n", "{\n", "copy $(>) $(<)\n", "}\n", "actions Yacc1\n", "{\n", "$(YACC) $(YACCFLAGS) $(>)\n", "$(MV) $(YACCFILES).c $(<[1])\n", "$(MV) $(YACCFILES).h $(<[2])\n", "}\n", "}\n", "else if $(MAC)\n", "{\n", "SP = \" \" ;\n", "actions together piecemeal Archive \n", "{\n", "$(LINK) -library -o $(<) $(>)\n", "}\n", "actions Cc\n", "{\n", "set MWCincludes $(MACINC)\n", "$(CC) -o $(<) $(CCFLAGS) $(OPTIM) $(>) \n", "}\n", "actions C++\n", "{ \n", "set MWCincludes $(MACINC)\n", "$(CC) -o $(<) $(C++FLAGS) $(OPTIM) $(>) \n", "}\n", "rule Chmod\n", "{\n", "}\n", "actions piecemeal together existing Clean\n", "{\n", "$(RM) $(>)\n", "}\n", "actions File\n", "{\n", "copy $(>) $(<)\n", "}\n", "actions GenFile1\n", "{\n", "$(>[1]) $(<) $(>[2-])\n", "}\n", "actions Install\n", "{\n", "copy $(>) $(<)\n", "}\n", "actions Link bind NEEDLIBS\n", "{\n", "$(LINK) -o $(<) $(LINKFLAGS) $(>) $(NEEDLIBS) \"$(LINKLIBS)\"\n", "}\n", "actions MkDir1\n", "{\n", "$(MKDIR) $(<)\n", "}\n", "actions quietly updated piecemeal together RmTemps\n", "{\n", "$(RM) $(>)\n", "}\n", "actions Shell\n", "{\n", "copy $(>) $(<)\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", "{\n", "if $(JAMFILE) { include $(JAMFILE) ; }\n", "}\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 |