From c07d0c2d2f6f7b0eb6e92cc6204bf05037957e82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Mon, 1 Sep 2014 15:43:52 +0200 Subject: Imported Upstream version 1.6.3 --- Jambase | 57 ++++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 44 insertions(+), 13 deletions(-) (limited to 'Jambase') diff --git a/Jambase b/Jambase index 6ee19eb..d96c40b 100644 --- a/Jambase +++ b/Jambase @@ -67,6 +67,8 @@ # make custom file, program dependent & args not # GenFileNND target : program args : extra_dependecies ; # make custom file, program & args not dependent +# GenFileNNDnc target : program args : extra_dependecies ; +# Same as GenFileNND but don't clean the target. # CatToFile dest : strings ; save the arguments to the file # GuiBin image ; Mark executable as GUI applications # (Needs to go before other declarations of image) @@ -510,7 +512,7 @@ if $(NT) } else if $(MSVCNT) || $(MSVCDIR) || $(MSVCDir) || $(VCINSTALLDIR) { - # Visual C++ 8.0/9.0 uses VCINSTALLDIR + # Visual C++ 8.0/9.0/10.0 uses VCINSTALLDIR # We assume VC++ Express + XP32 SDK has been setup # Visual C++ 6.0 uses MSVCDIR @@ -523,17 +525,20 @@ if $(NT) MSVCNT ?= $(MSVCDIR) ; } - if $(COMPILER) = MSVCPP10 { + if [ MATCH 11\\.(.*) : $(VisualStudioVersion) ] { + ECHO "Compiler is VC++11 32 bit" ; + MSVCVER = 11 ; + } else if [ MATCH (.*)VC\\+\\+10(.*) : $(MSVCNT) ] { ECHO "Compiler is VC++10 32 bit" ; MSVCVER = 10 ; - } else if $(COMPILER) = MSVCPP9 { + } else if [ MATCH (.*)VC\\+\\+9(.*) : $(MSVCNT) ] { ECHO "Compiler is VC++9 32 bit" ; MSVCVER = 9 ; - } else if $(COMPILER) = MSVCPP8 { + } else if [ MATCH (.*)VC\\+\\+8(.*) : $(MSVCNT) ] { ECHO "Compiler is VC++8 32 bit" ; MSVCVER = 8 ; } else { - ECHO "Compiler is VC++ 32 bit" ; + ECHO "Compiler is VC++6 32 bit" ; MSVCVER = 6 ; } @@ -2541,6 +2546,32 @@ rule GenFileNND1 MakeLocate $(<) ; } +# GenFileNNDnc target : program args : extra_dependecies ; +# Same as GenFileNND but don't clean the target. +# None of > is assumed to be a file. +# $(3) are optional extra dependecies +# SRCDIR and DSTDIR are ignored. +rule GenFileNNDnc +{ +#Echo "GenFileNNDnc got '$(<)' and '$(>)' and src targets '$(3)' " ; + # Normalize target names and set Grist LOCATE and SOURCE + local _t = [ NormIDstTargets $(<) ] ; + local _a = $(>) ; + _a = $(_a:J=" ") ; # Split up by space delimeter ? + local _d = [ NormSrcTargets $(3) ] ; + +#Echo "GenFileNNDnc normed '$(_t)' plus '$(_a)' and src targets '$(_d)'" ; + + Depends files : $(_t) ; + Depends $(_t) : $(_d) ; + + NotTargets $(_a) ; + NoCare $(_a) ; + NotFile $(_a) ; # Supresses "independent target", but may mark a directory wrongly + + GenFileNND1 $(_t) : $(_a) ; +} + # Concatenate all the argument to the file # Each argument to a separate line # If no arguments, create empty file @@ -3064,22 +3095,22 @@ rule ShLibraryFromObjects #Echo "ShLibraryFromObjects SHLINKOBJS = '" $(SHLINKOBJS) "' and P_SHLINKOBJS ='" $(P_SHLINKOBJS) "'" ; if $(SHLINKOBJS) || $(P_SHLINKOBJS) { local _o = [ NormSrcTargets $(SHLINKOBJS:S=$(SUFOBJ)) ] $(P_SHLINKOBJS:S=$(SUFOBJ)) ; - Depends $(_t) : $(_o) ; - SHLINKOBJS on $(_t) += $(_o) ; + Depends $(_sl) : $(_o) ; + SHLINKOBJS on $(_sl) += $(_o) ; } #Echo "ShLibraryFromObjects SHLINKLIBS = '" $(SHLINKLIBS) "' and P_SHLINKLIBS ='" $(P_SHLINKLIBS) "'" ; if $(SHLINKLIBS) || $(P_SHLINKLIBS) { local _l = [ NormSrcTargets $(SHLINKLIBS:S=$(SUFLIB)) ] $(P_SHLINKLIBS:S=$(SUFLIB)) ; - Depends $(_t) : $(_l) ; - SHLINKLIBS on $(_t) += $(_l) ; + Depends $(_sl) : $(_l) ; + SHLINKLIBS on $(_sl) += $(_l) ; } #Echo "ShLibraryFromObjects SHLINKSHLIBS = '" $(SHLINKSHLIBS) "' and P_SHLINKSHLIBS ='" $(P_SHLINKSHLIBS) "'" ; if $(SHLINKSHLIBS) || $(P_SHLINKSHLIBS) { local _l = [ NormSrcTargets $(SHLINKSHLIBS:S=$(SUFSHLIB)) ] $(P_SHLINKSHLIBS:S=$(SUFSHLIB)) ; - Depends $(_t) : $(_l) ; - SHLINKSHLIBS on $(_t) += $(_l) ; + Depends $(_sl) : $(_l) ; + SHLINKSHLIBS on $(_sl) += $(_l) ; } if $(SHLINKDEFFILE) { # Windows special option @@ -4098,7 +4129,7 @@ if $(OS) = MACOSX { # OS X version of ld # Link .o and .a into a .dylib # gcc -dynamiclib -Wl,-headerpad_max_install_names,-undefined,dynamic_lookup,-compatibility_version,1.0,-current_version,1.0,-install_name,/usr/local/lib/libfoo.1.dylib -o libfoo.1.dylib $(OBJ) # -Wl,-install_name,@executable_path ??? - actions ShLink_ + actions ShLink_ bind SHLINKOBJS SHLINKLIBS SHLINKSHLIBS { $(LINK) -dynamiclib -Wl,-undefined,dynamic_lookup,-install_name,$(SHLINKSEARCHEXEPATH)$(<[1]:BS) $(LINKOUTFLAG)$(<[1]) $(>) $(SHLINKOBJS) $(SHLINKLIBS) $(SHLINKSHLIBS) $(SHLINKFLAGS) $(SHSTDLIBS) } @@ -4111,7 +4142,7 @@ if $(OS) = MACOSX { # OS X version of ld # or set /etc/ld.so.conf.d/*.conf # To set .so search path (after flag): -Wl,-soname=$(<[1]:BS) # Old: $(LINK) -shared -Wl,-soname=$(SHLINKSEARCHEXEPATH)$(<[1]:BS) $(SHLINKFLAGS) $(LINKOUTFLAG)$(<[1]) $(>) $(SHLINKOBJS) $(SHLINKLIBS) $(SHLINKSHLIBS) $(SHSTDLIBS) - actions ShLink_ + actions ShLink_ bind SHLINKOBJS SHLINKLIBS SHLINKSHLIBS { $(LINK) -shared -Wl,-soname=$(SHLINKSEARCHEXEPATH)$(<[1]:BS) $(LINKOUTFLAG)$(<[1]) $(>) $(SHLINKOBJS) $(SHLINKLIBS) $(SHLINKSHLIBS) $(SHLINKFLAGS) $(SHSTDLIBS) } -- cgit v1.2.3