diff --git a/configure/CONFIG_COMMON b/configure/CONFIG_COMMON index 316f971d7..123f3b145 100644 --- a/configure/CONFIG_COMMON +++ b/configure/CONFIG_COMMON @@ -56,6 +56,7 @@ GNU_DIR = /usr # Directories INSTALL_LOCATION = $(TOP) +INSTALL_ABSOLUTE = $(abspath $(INSTALL_LOCATION)) INSTALL_LOCATION_LIB = $(INSTALL_LOCATION)/lib INSTALL_LOCATION_BIN = $(INSTALL_LOCATION)/bin @@ -71,13 +72,14 @@ INSTALL_DBD = $(INSTALL_LOCATION)/dbd INSTALL_DB = $(INSTALL_LOCATION)/db INSTALL_CONFIG = $(INSTALL_LOCATION)/configure -FINAL_LOCATION = $(shell $(PERL) $(TOOLS)/fullPathName.pl $(INSTALL_LOCATION)) +#------------------------------------------------------- +# These are default settings that may be overridden later -# Directory for OS independant build created files -COMMON_DIR = ../O.Common +# Eventual install path (to be compiled into binaries) +FINAL_LOCATION = $(INSTALL_ABSOLUTE) -# IOC's absolute path to $(TOP), may be overridden inside the application -IOCS_APPL_TOP = $(shell $(FULLPATHNAME) $(INSTALL_LOCATION)) +# IOC's view of install path +IOCS_APPL_TOP = $(INSTALL_ABSOLUTE) #------------------------------------------------------- # Silencing the build - suppress messages during 'make -s' @@ -153,6 +155,9 @@ CMPLR_SRC_DIRS += . $(foreach dir, .. $(SRC_DIRS), \ ALL_SRC_DIRS = $(CMPLR_SRC_DIRS) $(OS_SRC_DIRS) $(GENERIC_SRC_DIRS) #-------------------------------------------------- +# Directory for OS independant build created files +COMMON_DIR = ../O.Common + # compile line include directories INSTALL_INCLUDES += \ -I$(INSTALL_INCLUDE)/compiler/$(CMPLR_CLASS) \ diff --git a/configure/RULES_MODULES b/configure/RULES_MODULES index a0886bdf3..bed21da38 100644 --- a/configure/RULES_MODULES +++ b/configure/RULES_MODULES @@ -28,7 +28,6 @@ DIRS += $(LIVE_SUBMODULES) include $(CONFIG)/RULES_DIRS -INSTALL_LOCATION_ABS := $(abspath $(INSTALL_LOCATION)) RELEASE_LOCAL := RELEASE.$(EPICS_HOST_ARCH).local # Ensure that RELEASE..local exists before doing anything else @@ -40,8 +39,8 @@ RELEASE.host: $(RELEASE_LOCAL) $(RELEASE_LOCAL): Makefile CONFIG_SITE.local $(ECHO) Creating $@ with - $(ECHO) " $(PARENT_MODULE) = $(INSTALL_LOCATION_ABS)" - @echo $(PARENT_MODULE) = $(INSTALL_LOCATION_ABS)> $@ + $(ECHO) " $(PARENT_MODULE) = $(INSTALL_ABSOLUTE)" + @echo $(PARENT_MODULE) = $(INSTALL_ABSOLUTE)> $@ realclean: $(RM) $(wildcard RELEASE.*.local) diff --git a/configure/os/CONFIG.Common.UnixCommon b/configure/os/CONFIG.Common.UnixCommon index 1151dce3f..6163b7975 100644 --- a/configure/os/CONFIG.Common.UnixCommon +++ b/configure/os/CONFIG.Common.UnixCommon @@ -56,7 +56,7 @@ SHRLIB_LDLIBS = $(addprefix -l, $($*_LDLIBS) $(LIB_LIBS) $(USR_LIBS)) \ SHRLIB_DEPLIB_DIRS = $(foreach word, \ $(sort $(INSTALL_LIB)/ $(dir $($*_DEPLIBS) $(SHRLIB_DEPLIBS))), \ - $(shell $(FULLPATHNAME) $(word))) + $(abspath $(word))) SHRLIBDIR_LDFLAGS += $(SHRLIB_DEPLIB_DIRS:%=-L%) @@ -85,7 +85,7 @@ PROD_LDLIBS += $($(firstword $(LDLIBS_STATIC_$(STATIC_BUILD)) \ PROD_DEPLIB_DIRS = $(foreach word, \ $(sort $(INSTALL_LIB)/ $(dir $($*_DEPLIBS) $(PROD_DEPLIBS))), \ - $(shell $(FULLPATHNAME) $(word))) + $(abspath $(word))) PRODDIR_LDFLAGS += $(PROD_DEPLIB_DIRS:%=-L%) diff --git a/configure/os/CONFIG.Common.iosCommon b/configure/os/CONFIG.Common.iosCommon index f9e5750e3..5c248f38a 100644 --- a/configure/os/CONFIG.Common.iosCommon +++ b/configure/os/CONFIG.Common.iosCommon @@ -77,7 +77,7 @@ OP_SYS_LDFLAGS += -dynamic -Z -L$(SDK_DIR)/usr/lib -L$(SDK_DIR)/usr/lib/system # Shared libraries SHRLIB_VERSION = $(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION) SHRLIB_LDFLAGS = -dynamiclib -flat_namespace -undefined suppress \ - -install_name $(shell $(FULLPATHNAME) $(INSTALL_LIB))/$@ \ + -install_name $(abspath $(INSTALL_LIB))/$@ \ -compatibility_version $(EPICS_VERSION).$(EPICS_REVISION) \ -current_version $(SHRLIB_VERSION) SHRLIB_SUFFIX_BASE = .dylib diff --git a/configure/os/CONFIG.darwinCommon.darwinCommon b/configure/os/CONFIG.darwinCommon.darwinCommon index 3ee6fd5f9..0624b0063 100644 --- a/configure/os/CONFIG.darwinCommon.darwinCommon +++ b/configure/os/CONFIG.darwinCommon.darwinCommon @@ -67,7 +67,7 @@ GNU = NO # Darwin shared libraries # SHRLIB_LDFLAGS = -dynamiclib -flat_namespace -undefined dynamic_lookup \ - -install_name $(shell $(FULLPATHNAME) $(INSTALL_LIB))/$@ \ + -install_name $(abspath $(INSTALL_LIB))/$@ \ $(addprefix -compatibility_version , $(SHRLIB_VERSION)) \ $(addprefix -current_version , $(SHRLIB_VERSION)) SHRLIB_SUFFIX_BASE = .dylib