⛏️ index : buildtools.git

author Augustin Cavalier <waddlesplash@gmail.com> 2018-11-21 19:07:39.0 -05:00:00
committer Augustin Cavalier <waddlesplash@gmail.com> 2018-11-21 19:07:39.0 -05:00:00
commit
6ce894a91678b3ad81e436adc7d799fc32a6b373 [patch]
tree
3d07c6c43eaa80c4a9298ca03859f292faddfbe4
parent
2671c4b9592d87c7dfdabcd95c4b482538bbc366
download
6ce894a91678b3ad81e436adc7d799fc32a6b373.tar.gz

jam: Bump Jambase version, fix typo, and regenerate jambase.c.



Diff

 jam/Jambase   |   3 ++-
 jam/jambase.c | 571 ++++++++++++--------------------------------------------------------------------
 2 files changed, 82 insertions(+), 492 deletions(-)

diff --git a/jam/Jambase b/jam/Jambase
index 8f97641..9cee390 100644
--- a/jam/Jambase
+++ a/jam/Jambase
@@ -135,7 +135,7 @@

# for perforce use -- jambase version

JAMBASEDATE = 2002.05.09 ;
JAMBASEDATE = 2018.11.21 ;

# Initialize variables
#
@@ -287,6 +287,7 @@
	LINK		?= $(CC) ;
	LINKFLAGS	?= -Q ;	# quiet
	RANLIB		?= "" ;
	}

	# UNIX defaults

diff --git a/jam/jambase.c b/jam/jambase.c
index fcff064..72b2f23 100644
--- a/jam/jambase.c
+++ a/jam/jambase.c
@@ -1,9 +1,8 @@
/* Generated by mkjambase from Jambase */
const char *jambase[] = {
/* Jambase */
"JAMBASEDATE = 2002.05.09 ;\n",
"if $(NT)\n",
"{\n",
"JAMBASEDATE = 2018.11.21 ;\n",
"if $(NT) {\n",
"MV		?= move /y ;\n",
"CP		?= copy ;\n",
"RM		?= del /f/q ;\n",
@@ -12,21 +11,7 @@
"SUFLIB		?= .lib ;\n",
"SUFOBJ		?= .obj ;\n",
"SUFEXE		?= .exe ;\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",
"if $(MSVC) {\n",
"AR		?= lib /nologo ;\n",
"CC		?= cl /nologo ;\n",
"CCFLAGS		?= /D \\\"WIN\\\" ;\n",
@@ -34,19 +19,16 @@
"C++FLAGS	?= $(CCFLAGS) ;\n",
"LINK		?= $(CC) ;\n",
"LINKFLAGS	?= $(CCFLAGS) ;\n",
"LINKLIBS	?= \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",
"} else if $(MSVCNT) || $(MSVCDIR) {\n",
"MSVCNT		?= $(MSVCDIR) ;\n",
"local I ; if $(OSPLAT) = IA64 { I = ia64\\\\ ; } else { I = \"\" ; }\n",
"AR		?= lib ;\n",
"AS		?= masm386 ;\n",
@@ -56,138 +38,24 @@
"C++FLAGS	?= $(CCFLAGS) ;\n",
"LINK		?= link /nologo ;\n",
"LINKFLAGS	?= \"\" ;\n",
"LINKLIBS	?= \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",
"} else {\n",
"EXIT On NT, set 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",
"} else if $(MINGW) {\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",
"} else if $(OS) = BEOS && $(OSPLAT) = PPC {\n",
"AR		?= mwld -xml -o ;\n",
"BINDIR		?= /boot/home/config/bin ;\n",
"CC		?= mwcc ;\n",
@@ -203,16 +71,13 @@
"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",
"} else if $(OS) = BEOS {\n",
"BINDIR		?= /boot/home/config/bin ;\n",
"CC		?= gcc ;\n",
"C++		?= $(CC) ;\n",
@@ -224,16 +89,13 @@
"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 $(OS) = HAIKU\n",
"{\n",
"} else if $(OS) = HAIKU {\n",
"BINDIR		?= /boot/common/bin ;\n",
"CC		?= gcc ;\n",
"C++		?= $(CC) ;\n",
@@ -245,24 +107,16 @@
"LIBDIR		?= /boot/common/lib ;\n",
"LINK		?= gcc ;\n",
"MANDIR		?= /boot/common/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",
"} else if $(UNIX) {\n",
"switch $(OS)\n",
"{\n",
"case AIX :\n",
"LINKLIBS	?= -lbsd ;\n",
"case AMIGA :\n",
"CC		?= gcc ;\n",
"YACC		?= bison -y ;\n",
"case CYGWIN :	\n",
"case CYGWIN :\n",
"CC		?= gcc ;\n",
"CCFLAGS 	+= -D__cygwin__ ;\n",
"LEX		?= flex ;\n",
@@ -270,37 +124,9 @@
"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",
@@ -309,22 +135,7 @@
"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",
@@ -334,14 +145,14 @@
"LEX		?= lex ;\n",
"LINKFLAGS	?= $(CCFLAGS) ;\n",
"LINKLIBS	?= ;\n",
"OPTIM		?= -O ;\n",
"OPTIM		?= ;\n",
"RANLIB		?= ranlib ;\n",
"YACC		?= yacc ;\n",
"YACCGEN		?= .c ;\n",
"YACCFILES	?= y.tab ;\n",
"YACCFLAGS	?= -d ;\n",
"}\n",
"AR		?= ar ru ;\n",
"AR		?= ar rD ;\n",
"AS		?= as ;\n",
"ASFLAGS		?= ;\n",
"AWK		?= awk ;\n",
@@ -351,7 +162,6 @@
"CC		?= cc ;\n",
"CCFLAGS		?= ;\n",
"CP		?= cp -f ;\n",
"CRELIB		?= ;\n",
"DOT		?= . ;\n",
"DOTDOT		?= .. ;\n",
"EXEMODE		?= 711 ;\n",
@@ -362,21 +172,22 @@
"INSTALLGRIST	?= installed ;\n",
"JAMFILE		?= Jamfile ;\n",
"JAMRULES	?= Jamrules ;\n",
"LEX		?= ;\n",
"LEX			?= ;\n",
"LIBDIR		?= /usr/local/lib ;\n",
"LINK		?= $(CC) ;\n",
"LINKFLAGS	?= ;\n",
"LINKLIBS	?= ;\n",
"LN		?= ln ;\n",
"LN			?= ln ;\n",
"NOARSCAN	?= true ;\n",
"MANDIR		?= /usr/local/man ;\n",
"MKDIR		?= mkdir ;\n",
"MV		?= mv -f ;\n",
"MV			?= mv -f ;\n",
"OPTIM		?= ;\n",
"RCP		?= rcp ;\n",
"RM		?= rm -f ;\n",
"RCP			?= rcp ;\n",
"RM			?= rm -f ;\n",
"RMDIR		?= $(RM) ;\n",
"RSH		?= rsh ;\n",
"SED		?= sed ;\n",
"RSH			?= rsh ;\n",
"SED			?= sed ;\n",
"SHELLHEADER	?= \"#!/bin/sh\" ;\n",
"SHELLMODE	?= 755 ;\n",
"SLASH		?= / ;\n",
@@ -391,7 +202,7 @@
"YACCGEN		?= ;\n",
"YACCFILES	?= ;\n",
"YACCFLAGS	?= ;\n",
"HDRPATTERN = \n",
"HDRPATTERN =\n",
"\"^[ 	]*#[ 	]*include[ 	]*[<\\\"]([^\\\">]*)[\\\">].*$\" ;\n",
"OSFULL = $(OS)$(OSVER)$(OSPLAT) $(OS)$(OSPLAT) $(OS)$(OSVER) $(OS) ;\n",
"Depends all : shell files lib exe obj ;\n",
@@ -407,18 +218,13 @@
"rule Bulk\n",
"{\n",
"local i ;\n",
"for i in $(>)\n",
"{\n",
"for i in $(>) {\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",
@@ -426,10 +232,6 @@
"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",
@@ -450,7 +252,7 @@
"{\n",
"Depends $(<) : $(>) ;\n",
"}\n",
"rule GenFile \n",
"rule GenFile\n",
"{\n",
"local _t = [ FGristSourceFiles $(<) ] ;\n",
"local _s = [ FAppendSuffix $(>[1]) : $(SUFEXE) ] ;\n",
@@ -488,19 +290,16 @@
"LocalClean uninstall : $(t) ;\n",
"SEARCH on $(>) = $(SEARCH_SOURCE) ;\n",
"MakeLocate $(t) : $(<) ;\n",
"for i in $(>)\n",
"{\n",
"for i in $(>) {\n",
"local tt = $(i:G=$(INSTALLGRIST)) ;\n",
"Depends $(tt) : $(i) ;\n",
"Install $(tt) : $(i) ;\n",
"Chmod $(tt) ;\n",
"if $(OWNER) && $(CHOWN) \n",
"{ \n",
"if $(OWNER) && $(CHOWN) {\n",
"Chown $(tt) ;\n",
"OWNER on $(tt) = $(OWNER) ;\n",
"}\n",
"if $(GROUP) && $(CHGRP) \n",
"{ \n",
"if $(GROUP) && $(CHGRP) {\n",
"Chgrp $(tt) ;\n",
"GROUP on $(tt) = $(GROUP) ;\n",
"}\n",
@@ -525,8 +324,7 @@
"rule InstallMan\n",
"{\n",
"local i s d ;\n",
"for i in $(>)\n",
"{\n",
"for i in $(>) {\n",
"switch $(i:S)\n",
"{\n",
"case .1 : s = 1 ; case .2 : s = 2 ; case .3 : s = 3 ;\n",
@@ -561,32 +359,23 @@
"local _i _l _s ;\n",
"_s = [ FGristFiles $(>) ] ;\n",
"_l = $(<:S=$(SUFLIB)) ;\n",
"if $(KEEPOBJS)\n",
"{\n",
"if $(KEEPOBJS) {\n",
"LocalDepends obj : $(_s) ;\n",
"}\n",
"else\n",
"{\n",
"} else {\n",
"LocalDepends lib : $(_l) ;\n",
"}\n",
"if ! $(_l:D)\n",
"{\n",
"if ! $(_l:D) {\n",
"MakeLocate $(_l) $(_l)($(_s:BS)) : $(LOCATE_TARGET) ;\n",
"}\n",
"if $(NOARSCAN) \n",
"{ \n",
"if $(NOARSCAN) {\n",
"Depends $(_l) : $(_s) ;\n",
"}\n",
"else\n",
"{\n",
"} else {\n",
"Depends $(_l) : $(_l)($(_s:BS)) ;\n",
"for _i in $(_s)\n",
"{\n",
"for _i in $(_s) {\n",
"Depends $(_l)($(_i:BS)) : $(_i) ;\n",
"}\n",
"}\n",
"LocalClean 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",
@@ -624,8 +413,7 @@
"local _s _t ;\n",
"_s = [ FGristFiles $(>) ] ;\n",
"_t = [ FAppendSuffix $(<) : $(SUFEXE) ] ;\n",
"if $(_t) != $(<)\n",
"{\n",
"if $(_t) != $(<) {\n",
"Depends $(<) : $(_t) ;\n",
"NotFile $(<) ;\n",
"}\n",
@@ -637,8 +425,7 @@
"}\n",
"rule MakeLocate\n",
"{\n",
"if $(>)\n",
"{\n",
"if $(>) {\n",
"LOCATE on $(<) = $(>) ;\n",
"Depends $(<) : $(>[1]:G=dir) ;\n",
"MkDir $(>[1]:G=dir) ;\n",
@@ -647,26 +434,20 @@
"rule MkDir\n",
"{\n",
"NoUpdate $(<) ;\n",
"if $(<:G=) != $(DOT) && ! $($(<)-mkdir) \n",
"{\n",
"if $(<:G=) != $(DOT) && ! $($(<)-mkdir) {\n",
"$(<)-mkdir = true ;\n",
"LocalDepends dirs : $(<) ;\n",
"MkDir1 $(<) ;\n",
"local s = $(<:P) ;\n",
"if $(NT)\n",
"{\n",
"switch $(s)\n",
"{\n",
"if $(NT) {\n",
"switch $(s) {\n",
"case *:   : s = ;\n",
"case *:\\\\ : s = ;\n",
"}\n",
"}\n",
"if $(s) = $(<)\n",
"{\n",
"if $(s) = $(<) {\n",
"NotFile $(s) ;\n",
"}\n",
"else if $(s:G=)\n",
"{\n",
"} else if $(s:G=) {\n",
"Depends $(<) : $(s) ;\n",
"MkDir $(s) ;\n",
"}\n",
@@ -680,7 +461,7 @@
"HDRS on $(<) = $(SEARCH_SOURCE) $(SUBDIRHDRS) $(HDRS) ;\n",
"HDRRULE on $(>) = HdrRule ;\n",
"HDRSCAN on $(>) = $(HDRPATTERN) ;\n",
"HDRSEARCH on $(>) = \n",
"HDRSEARCH on $(>) =\n",
"$(SEARCH_SOURCE:E) $(SUBDIRHDRS) $(HDRS) $(STDHDRS) ;\n",
"HDRGRIST on $(>) = $(HDRGRIST) ;\n",
"DEFINES on $(<) += $(DEFINES) ;\n",
@@ -757,30 +538,24 @@
"{\n",
"local _top = $(<[1]) ;\n",
"local _tokens = $(<[2-]) ;\n",
"if ! $(_top)\n",
"{\n",
"if ! $(_top) {\n",
"Exit SubDir syntax error ;\n",
"}\n",
"if ! $($(_top)-SET)\n",
"{\n",
"if ! $($(_top)-SET) {\n",
"$(_top)-SET = true ;\n",
"local _originalTop = $($(_top)) ;\n",
"if $($(_top))\n",
"{\n",
"if $($(_top)) {\n",
"$(_top)-UP = ;\n",
"$(_top)-DOWN = ;\n",
"$(_top)-ROOT = $($(_top)) ;\n",
"}\n",
"else\n",
"{\n",
"} else {\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",
"if $(SUBDIR_DOWN) && $(_tokens) {\n",
"Echo Warning: SubDir $(<) misplaced! ;\n",
"}\n",
"$(_top)-UP = $(SUBDIR_UP) $(_tokens) ;\n",
"$(_top)-DOWN = $(SUBDIR_DOWN) ;\n",
@@ -790,22 +565,20 @@
"SUBDIR_UP = $($(_top)-UP) ;\n",
"SUBDIR_DOWN = ;\n",
"SUBDIR_ROOT = $($(_top)-ROOT) ;\n",
"if ! $(INVOCATION_SUBDIR_SET)\n",
"{\n",
"if ! $(INVOCATION_SUBDIR_SET) {\n",
"INVOCATION_SUBDIR_SET = true ;\n",
"INVOCATION_SUBDIR_TOP = $($(_top)) ;\n",
"INVOCATION_SUBDIR = $(_tokens) ;\n",
"if $(INVOCATION_SUBDIR)\n",
"{\n",
"if $(INVOCATION_SUBDIR) {\n",
"$(_top)-SET = ;\n",
"$(_top) = $(_originalTop) ;\n",
"include $(JAMFILE:D=$(INVOCATION_SUBDIR_TOP)) ;\n",
"jumptoeof ;\n",
"}\n",
"}\n",
"if $($(_top)RULES) { \n",
"if $($(_top)RULES) {\n",
"include $($(_top)RULES) ;\n",
"} else { \n",
"} else {\n",
"NoCare $(JAMRULES:R=$($(_top)):G=$(_top)) ;\n",
"include $(JAMRULES:R=$($(_top)):G=$(_top)) ;\n",
"}\n",
@@ -842,17 +615,15 @@
"}\n",
"rule SubInclude\n",
"{\n",
"if ! $($(<[1]))\n",
"{\n",
"if ! $($(<[1])) {\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",
"if ! $($(<[1])) {\n",
"Exit SubRules $(<[1]) without prior SubDir $(<[1]) ;\n",
"}\n",
"SubDir $(<) ;\n",
@@ -871,8 +642,7 @@
"local _h ;\n",
"_h = $(<:S=.h) ;\n",
"MakeLocate $(<) $(_h) : $(LOCATE_SOURCE) ;\n",
"if $(YACC)\n",
"{\n",
"if $(YACC) {\n",
"Depends $(<) $(_h) : $(>) ;\n",
"Yacc1 $(<) $(_h) : $(>) ;\n",
"YaccMv $(<) $(_h) : $(>) ;\n",
@@ -884,7 +654,7 @@
"{\n",
"return $(<:J=!) ;\n",
"}\n",
"rule FGristFiles \n",
"rule FGristFiles\n",
"{\n",
"return $(<:G=$(SOURCE_GRIST:E)) ;\n",
"}\n",
@@ -906,31 +676,26 @@
"return true ;\n",
"}\n",
"}\n",
"rule FReverse \n",
"rule FReverse\n",
"{\n",
"if $(1) { return [ FReverse $(1[2-]) ] $(1[1]) ; }\n",
"}\n",
"rule FSubDir\n",
"{\n",
"if ! $(<[1]) \n",
"{\n",
"if ! $(<[1]) {\n",
"return $(DOT) ;\n",
"} \n",
"else\n",
"{\n",
"} else {\n",
"local _i _d ;\n",
"_d = $(DOTDOT) ;\n",
"for _i in $(<[2-])\n",
"{\n",
"for _i in $(<[2-]) {\n",
"_d = $(_d:R=$(DOTDOT)) ;\n",
"}\n",
"return $(_d) ;\n",
"}\n",
"}\n",
"rule FStripCommon\n",
"{\n",
"if $($(<)[1]) && $($(<)[1]) = $($(>)[1])\n",
"{\n",
"if $($(<)[1]) && $($(<)[1]) = $($(>)[1]) {\n",
"$(<) = $($(<)[2-]) ;\n",
"$(>) = $($(>)[2-]) ;\n",
"FStripCommon $(<) : $(>) ;\n",
@@ -952,24 +717,17 @@
"}\n",
"rule FAppendSuffix\n",
"{\n",
"if $(>)\n",
"{\n",
"if $(>) {\n",
"local _i _o ;\n",
"for _i in $(<)\n",
"{\n",
"if $(_i:S)\n",
"{\n",
"for _i in $(<) {\n",
"if $(_i:S) {\n",
"_o += $(_i) ;\n",
"}\n",
"else\n",
"{\n",
"} else {\n",
"_o += $(_i:S=$(>)) ;\n",
"}\n",
"}\n",
"return $(_o) ;\n",
"}\n",
"else\n",
"{\n",
"} else {\n",
"return $(<) ;\n",
"}\n",
"}\n",
@@ -980,56 +738,15 @@
"{\n",
"local _i ;\n",
"local _s = $(DOT) ;\n",
"for _i in $(<)\n",
"{\n",
"for _i in $(<) {\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",
"if $(NT) {\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",
@@ -1052,7 +769,7 @@
"}\n",
"actions Chmod1\n",
"{\n",
"$(CHMOD) $(MODE) $(<)\n",
"$(CHMOD) \"$(MODE)\" \"$(1)\"\n",
"}\n",
"actions Chown\n",
"{\n",
@@ -1060,11 +777,11 @@
"}\n",
"actions piecemeal together existing Clean\n",
"{\n",
"$(RM) $(>)\n",
"$(RM) \"$(>)\"\n",
"}\n",
"actions File\n",
"{\n",
"$(CP) $(>) $(<)\n",
"$(CP) \"$(>)\" \"$(<)\"\n",
"}\n",
"actions GenFile1\n",
"{\n",
@@ -1080,7 +797,7 @@
"}\n",
"actions Install\n",
"{\n",
"$(CP) $(>) $(<) \n",
"$(CP) $(>) $(<)\n",
"}\n",
"actions Lex\n",
"{\n",
@@ -1092,7 +809,7 @@
"}\n",
"actions Link bind NEEDLIBS\n",
"{\n",
"$(LINK) $(LINKFLAGS) -o $(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS) \n",
"$(LINK) $(LINKFLAGS) -o $(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n",
"}\n",
"actions MkDir1\n",
"{\n",
@@ -1127,22 +844,7 @@
"{\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",
@@ -1150,16 +852,14 @@
"$(AR) $(<) $(>)\n",
"}\n",
"}\n",
"if $(UNIX)\n",
"{\n",
"if $(UNIX) {\n",
"actions GenFile1\n",
"{\n",
"PATH=\"$PATH:.\"\n",
"$(>[1]) $(<) $(>[2-])\n",
"}\n",
"}\n",
"if $(NT) && $(MSVCNT)\n",
"{\n",
"if $(NT) && $(MSVCNT) {\n",
"actions updated together piecemeal Archive\n",
"{\n",
"if exist $(<) set _$(<:B)_=$(<)\n",
@@ -1180,10 +880,8 @@
"actions Link bind NEEDLIBS\n",
"{\n",
"$(LINK) $(LINKFLAGS) /out:$(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)\n",
"}\n",
"}\n",
"else if $(NT) && $(MSVC)\n",
"{\n",
"} else if $(NT) && $(MSVC) {\n",
"actions updated together piecemeal Archive\n",
"{\n",
"$(AR) $(<) -+$(>)\n",
@@ -1199,115 +897,6 @@
"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",