diff --git a/configure/CONFIG_COMMON b/configure/CONFIG_COMMON index 653c52bee..d465532ac 100644 --- a/configure/CONFIG_COMMON +++ b/configure/CONFIG_COMMON @@ -79,8 +79,8 @@ INSTALL_JAVA = $(INSTALL_LOCATION)/javalib # Directory for OS independant build created files COMMON_DIR = ../O.Common -# The IOC's path to $(TOP), may be overridden inside the application -IOCS_APPL_TOP = $(INSTALL_LOCATION) +# IOC's absolute path to $(TOP), may be overridden inside the application +IOCS_APPL_TOP = $(shell $(FULLPATHNAME) $(INSTALL_LOCATION)) #------------------------------------------------------- # Make echo output - suppress echoing if make's '-s' flag is set diff --git a/configure/RULES.Db b/configure/RULES.Db index c697f675c..9b8a7751c 100644 --- a/configure/RULES.Db +++ b/configure/RULES.Db @@ -368,16 +368,14 @@ $(foreach file, $(DB_INSTALLS), $(eval $(call DB_INSTALLS_template, $(file)))) ##################################################### register record,device,driver support -IOC_INST_TOP := $(shell $(PERL) $(TOOLS)/fullPathName.pl $(IOCS_APPL_TOP) ) - %_registerRecordDeviceDriver.cpp: $(COMMON_DIR)/%.dbd @$(RM) $@ $*.tmp - $(REGISTERRECORDDEVICEDRIVER) $< $(basename $@) $(IOC_INST_TOP) > $*.tmp + $(REGISTERRECORDDEVICEDRIVER) $< $(basename $@) $(IOCS_APPL_TOP) > $*.tmp $(MV) $*.tmp $@ %_registerRecordDeviceDriver.cpp: %.dbd @$(RM) $@ $*.tmp - $(REGISTERRECORDDEVICEDRIVER) $< $(basename $@) $(IOC_INST_TOP) > $*.tmp + $(REGISTERRECORDDEVICEDRIVER) $< $(basename $@) $(IOCS_APPL_TOP) > $*.tmp $(MV) $*.tmp $@ .PRECIOUS: %_registerRecordDeviceDriver.cpp diff --git a/configure/RULES.ioc b/configure/RULES.ioc index cf74343b2..6b2150fcb 100644 --- a/configure/RULES.ioc +++ b/configure/RULES.ioc @@ -26,7 +26,7 @@ endif cdCommands envPaths dllPath.bat: $(wildcard $(TOP)/configure/RELEASE*) \ $(wildcard $(TOP)/configure/CONFIG_SITE*) $(INSTALL_BIN) - $(PERL) $(TOOLS)/convertRelease.pl -a $(ARCH) -t $(IOCS_APPL_TOP) $@ + $(CONVERTRELEASE) -a $(ARCH) -t $(IOCS_APPL_TOP) $@ realclean: $(RM) cdCommands envPaths dllPath.bat diff --git a/src/makeBaseApp/top/configure/CONFIG_SITE b/src/makeBaseApp/top/configure/CONFIG_SITE index 72b399d43..92156d971 100644 --- a/src/makeBaseApp/top/configure/CONFIG_SITE +++ b/src/makeBaseApp/top/configure/CONFIG_SITE @@ -13,21 +13,19 @@ # Normally CHECK_RELEASE should be set to YES. # Set CHECK_RELEASE to NO to disable checking completely. # Set CHECK_RELEASE to WARN to perform consistency checking but -# continue building anyway if conflicts are found. +# continue building even if conflicts are found. CHECK_RELEASE = YES # Set this when you only want to compile this application # for a subset of the cross-compiled target architectures # that Base is built for. -#CROSS_COMPILER_TARGET_ARCHS = vxWorks-68040 +#CROSS_COMPILER_TARGET_ARCHS = vxWorks-ppc32 # To install files into a location other than $(TOP) define # INSTALL_LOCATION here. -#INSTALL_LOCATION= +#INSTALL_LOCATION= -# Set this when your IOC and the host use different paths -# to access the application. This will be needed to boot -# from a Microsoft FTP server or with some NFS mounts. -# You must rebuild in the iocBoot directory for this to -# take effect. -#IOCS_APPL_TOP = +# Set this when the IOC and build host use different paths +# to the install location. This may be needed to boot from +# a Microsoft FTP server say, or on some NFS configurations. +#IOCS_APPL_TOP = diff --git a/src/tools/convertRelease.pl b/src/tools/convertRelease.pl index 586e5ee35..5b0890425 100644 --- a/src/tools/convertRelease.pl +++ b/src/tools/convertRelease.pl @@ -52,9 +52,14 @@ if ($opt_T) { if ($opt_t) { $iocroot = $opt_t; $root = $top; - while (substr($iocroot, -1, 1) eq substr($root, -1, 1)) { - chop $iocroot; - chop $root; + if ($iocroot eq $root) { + # Identical paths, -t not needed + undef $opt_t; + } else { + while (substr($iocroot, -1, 1) eq substr($root, -1, 1)) { + chop $iocroot; + chop $root; + } } }