Fixes for sharing a build tree between Windows + Unix

Rename modules/RELEASE.local to RELEASE.<host>.local
Modify all submodule configure/RELEASE files to include that, and
update the template configure/RELEASE file to match.

Install Perl *ModuleDirs.pm files into bin/<host> since they contain
absolute paths which may be different on different host arch's.
Scripts that need a ModuleDirs module have been adjusted to look in
their bin/<host> directory for it.

Some additional submodule updates were also incorporated.
This commit is contained in:
Andrew Johnson
2017-12-06 23:27:38 -06:00
parent 0867af4654
commit 008ac76313
12 changed files with 25 additions and 25 deletions

2
.gitignore vendored
View File

@@ -7,7 +7,7 @@
/include/
/templates/
/configure/*.local
/modules/RELEASE.local
/modules/RELEASE.*.local
/modules/Makefile.local
O.*/
/QtC-*

View File

@@ -44,11 +44,12 @@ DIRS += $(subst /Makefile,,$(wildcard $(addsuffix /Makefile, $(SUBMODULES))))
include $(TOP)/configure/RULES_DIRS
# Ensure that RELEASE.local exists before doing anything else
# Ensure that RELEASE.<host>.local exists before doing anything else
all host $(DIRS) $(ARCHS) $(ACTIONS) $(dirActionTargets) $(dirArchTargets) \
$(dirActionArchTargets) $(actionArchTargets): | RELEASE.local
$(dirActionArchTargets) $(actionArchTargets): \
| RELEASE.$(EPICS_HOST_ARCH).local
RELEASE.local:
RELEASE.$(EPICS_HOST_ARCH).local:
@echo EPICS_BASE = $(abspath $(INSTALL_LOCATION))> $@
realclean:
$(RM) RELEASE.local
$(RM) RELEASE.$(EPICS_HOST_ARCH).local

View File

@@ -1,13 +1,12 @@
# RELEASE - Location of external support modules
#
# IF YOU MAKE ANY CHANGES to this file you must subsequently
# do a "gnumake rebuild" in this application's top level
# directory.
# IF YOU CHANGE ANY PATHS in this file or make API changes to
# any modules it refers to, you should do a "make rebuild" in
# this application's top level directory.
#
# The build process does not check dependencies against files
# that are outside this application, thus you should do a
# "gnumake rebuild" in the top level directory after EPICS_BASE
# or any other external module pointed to below is rebuilt.
# The EPICS build process does not check dependencies against
# any files from outside the application, so it is safest to
# rebuild it completely if any modules it depends on change.
#
# Host- or target-specific settings can be given in files named
# RELEASE.$(EPICS_HOST_ARCH).Common
@@ -15,7 +14,7 @@
# RELEASE.$(EPICS_HOST_ARCH).$(T_A)
#
# This file is parsed by both GNUmake and an EPICS Perl script,
# so it can ONLY contain definititions of paths to other support
# so it may ONLY contain definititions of paths to other support
# modules, variable definitions that are used in module paths,
# and include statements that pull in other RELEASE files.
# Variables may be used before their values have been set.
@@ -36,8 +35,8 @@ EPICS_BASE = _EPICS_BASE_
# other than EPICS_BASE:
#RULES = $(MODULES)/build-rules
# These allow developers to override the RELEASE variable settings
# without having to modify the configure/RELEASE file itself.
# These lines allow developers to override these RELEASE settings
# without having to modify this file directly.
-include $(TOP)/../RELEASE.local
-include $(TOP)/../RELEASE.$(EPICS_HOST_ARCH).local
-include $(TOP)/configure/RELEASE.local