From aa2c2cc03288de0be47dc361598c29988ff4c0f9 Mon Sep 17 00:00:00 2001 From: ketmar Date: Fri, 27 Jan 2012 22:23:32 +0200 Subject: [PATCH] major fixes in SubDir and set-default-locations --- defaults/Jambase | 54 +++++++++++++++++++++++++----------------------------- 1 file changed, 25 insertions(+), 29 deletions(-) diff --git a/defaults/Jambase b/defaults/Jambase index b94ea3a..f03eebf 100644 --- a/defaults/Jambase +++ b/defaults/Jambase @@ -1512,7 +1512,7 @@ rule SubDir { local _top = $(<[1]) ; local _tokens = $(<[2-]) ; - local ktmp ; + local sdr ; # First time through sets up relative root and includes Jamrules. if ! $(_top) { Exit "SubDir syntax error" ; } @@ -1628,40 +1628,37 @@ rule SubDir { # subsequently be redefined. SEARCH_SOURCE = $(SUBDIR) ; - ktmp = $(ALL_LOCATE_TARGET) ; + if $(SUBDIR) = "." { sdr = "" ; } else { sdr = "$(PATH_SEPARATOR)$(SUBDIR)" ; } + if $(ALL_LOCATE_TARGET) { - LOCATE_TARGET = "$(ALL_LOCATE_TARGET)$(PATH_SEPARATOR)$(SUBDIR)" ; - LOCATE_SOURCE = "$(ALL_LOCATE_TARGET)$(PATH_SEPARATOR)$(SUBDIR)" ; + LOCATE_TARGET = "$(ALL_LOCATE_TARGET)$(sdr)" ; + LOCATE_SOURCE = "$(ALL_LOCATE_TARGET)$(sdr)" ; } else { LOCATE_TARGET = $(SUBDIR) ; LOCATE_SOURCE = $(SUBDIR) ; } - ktmp = $(ALL_LOCATE_BIN) ; - if ! $(ktmp) { ktmp = $(ALL_LOCATE_TARGET) ; } - if $(ktmp) { - LOCATE_BIN = "$(ktmp)$(PATH_SEPARATOR)$(SUBDIR)" ; + if $(ALL_LOCATE_BIN) { + LOCATE_BIN = $(ALL_LOCATE_BIN) ; } else { - LOCATE_BIN = $(SUBDIR) ; + LOCATE_BIN = $(LOCATE_TARGET) ; } - ktmp = $(ALL_LOCATE_LIB) ; - if ! $(ktmp) { ktmp = $(ALL_LOCATE_TARGET) ; } - if $(ktmp) { - LOCATE_LIB = "$(ktmp)$(PATH_SEPARATOR)$(SUBDIR)" ; + if $(ALL_LOCATE_LIB) { + LOCATE_LIB = $(ALL_LOCATE_LIB) ; } else { - LOCATE_LIB = $(SUBDIR) ; + LOCATE_LIB = $(LOCATE_TARGET) ; } - ktmp = $(ALL_LOCATE_LIBSO) ; - if ! $(ktmp) { ktmp = $(ALL_LOCATE_LIB) ; } - if ! $(ktmp) { ktmp = $(ALL_LOCATE_TARGET) ; } - if $(ktmp) { - LOCATE_LIBSO = "$(ktmp)$(PATH_SEPARATOR)$(SUBDIR)" ; + if $(ALL_LOCATE_LIBSO) { + LOCATE_LIBSO = $(ALL_LOCATE_LIBSO) ; } else { - LOCATE_LIBSO = $(SUBDIR) ; + LOCATE_LIBSO = $(LOCATE_LIB) ; } + #Echo "ALL_LOCATE_LIB = $(ALL_LOCATE_LIB)" ; + #Echo "LOCATE_LIB = $(LOCATE_LIB)" ; + SOURCE_GRIST = [ FGrist $(SUBDIR_TOKENS) ] ; #if ! $(LOCATE_BIN) { LOCATE_BIN = $(LOCATE_TARGET) ; } @@ -2510,19 +2507,18 @@ rule set-profile { # set default 'locate' vars -- _build/, etc rule set-default-subdir-locates { + local bdir ; local d = $(TOP) ; + if ! $(d) { d = "." ; } + if $(WINDOZE) { bdir = _wbuild ; } else { bdir = _build ; } + ALL_LOCATE_BIN = $(d) ; ALL_LOCATE_LIBSO = $(d) ; - if $(WINDOZE) { - ALL_LOCATE_TARGET = $(d)$(PATH_SEPARATOR)_wbuild ; - ALL_LOCATE_LIB = $(d)$(PATH_SEPARATOR)_wbuild$(PATH_SEPARATOR)lib ; - HCACHEFILE = $(d)$(PATH_SEPARATOR)_wbuild$(PATH_SEPARATOR).jamhdr.cache ; - } else { - ALL_LOCATE_TARGET = $(d)$(PATH_SEPARATOR)_build ; - ALL_LOCATE_LIB = $(d)$(PATH_SEPARATOR)_build$(PATH_SEPARATOR)lib ; - HCACHEFILE = $(d)$(PATH_SEPARATOR)_build$(PATH_SEPARATOR).jamhdr.cache ; - } + ALL_LOCATE_TARGET = "$(d)$(PATH_SEPARATOR)$(bdir)" ; + ALL_LOCATE_LIB = "$(d)$(PATH_SEPARATOR)$(bdir)$(PATH_SEPARATOR)_libs" ; + HCACHEFILE = "$(d)$(PATH_SEPARATOR)$(bdir)$(PATH_SEPARATOR).jamhdr.cache" ; + Clean clean : $(HCACHEFILE) ; } -- 2.11.4.GIT