Commit cfe56715 authored by kpetersn's avatar kpetersn
Browse files

Applied patch to update Makefiles, RELEASE and CONFIG_SITE files

parent 74e0b9d8
......@@ -9,6 +9,10 @@ DIRS += $(wildcard *App)
DIRS += $(wildcard *Top)
DIRS += $(wildcard iocBoot)
ifeq ($(BUILD_IOCS), YES)
DIRS += $(wildcard iocs)
endif
# The build order is controlled by these dependency rules:
# All dirs except configure depend on configure
......@@ -28,4 +32,13 @@ iocBoot_DEPEND_DIRS += $(filter %App,$(DIRS))
# Add any additional dependency rules here:
include $(TOP)/configure/RULES_TOP
# iocs depend on all *Sup and *App dirs
$(foreach dir, $(filter %iocs, $(DIRS)), \
$(eval $(dir)_DEPEND_DIRS += $(filter %Sup %App, $(DIRS))))
# Only support top-level targets when submodule is built stand-alone
ifeq ($(INSTALL_LOCATION),$(MOTOR))
include $(TOP)/configure/RULES_DIRS
else
include $(TOP)/configure/RULES_TOP
endif
# Use settings from motor's CONFIG_SITE unless they are overridden below
-include $(MOTOR)/configure/CONFIG_SITE
#
CHECK_RELEASE = WARN
#
#BUILD_IOCS = YES
MOTOR=
-include $(MOTOR)/configure/RELEASE
# path to motorPhytron is needed to build the IOC inside motorPhytron, but outside motor
MOTOR_PHYTRON=
......@@ -2,7 +2,11 @@ TOP=..
include $(TOP)/configure/CONFIG
ifeq ($(INSTALL_CONFIG),$(MOTOR)/configure)
# Don't overwrite Motor's configure files
INSTALL_CONFIG =
endif
TARGETS = $(CONFIG_TARGETS)
CONFIGS += $(subst ../,,$(wildcard $(CONFIG_INSTALLS)))
include $(TOP)/configure/RULES
# 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.
#
# 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.
#
# Host- or target-specific settings can be given in files named
# RELEASE.$(EPICS_HOST_ARCH).Common
# RELEASE.Common.$(T_A)
# 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
# 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.
# Build variables that are NOT used in paths should be set in
# the CONFIG_SITE file.
# Variables and paths to dependent modules:
#MODULES = /path/to/modules
#MYMODULE = $(MODULES)/my-module
# If using the sequencer, point SNCSEQ at its top directory:
#SNCSEQ = $(MODULES)/seq-ver
# EPICS_BASE should appear last so earlier modules can override stuff:
EPICS_BASE = /APSshare/epics/base-3.15.6
# Set RULES here if you want to use build rules from somewhere
# 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.
-include $(TOP)/../RELEASE.local
# Use motor/module's generated release file when buidling inside motor
-include $(TOP)/../RELEASE.$(EPICS_HOST_ARCH).local
# Use motorPhytron's RELEASE.local when building outside motor
-include $(TOP)/configure/RELEASE.local
TOP = ..
include $(TOP)/configure/CONFIG
DIRS += phytronIOC
include $(TOP)/configure/RULES_TOP
uninstallTargets = $(foreach dir, $(DIRS), $(dir)$(DIVIDER)uninstall)
uninstall: $(uninstallTargets)
define UNINSTALL_template
$(1)$(DIVIDER)uninstall:
$(MAKE) -C $(1) uninstall
endef
$(foreach dir, $(DIRS), $(eval $(call UNINSTALL_template,$(dir))))
.PHONY: uninstall $(uninstallTargets)
realuninstallTargets = $(foreach dir, $(DIRS), $(dir)$(DIVIDER)realuninstall)
realuninstall: $(realuninstallTargets)
define REALUNINSTALL_template
$(1)$(DIVIDER)realuninstall:
$(MAKE) -C $(1) realuninstall
endef
$(foreach dir, $(DIRS), $(eval $(call REALUNINSTALL_template,$(dir))))
.PHONY: realuninstall $(realuninstallTargets)
......@@ -35,9 +35,10 @@ CHECK_RELEASE = YES
#HOST_OPT = NO
#CROSS_OPT = NO
# These allow developers to override the CONFIG_SITE variable
# settings without having to modify the configure/CONFIG_SITE
# file itself.
-include $(TOP)/../CONFIG_SITE.local
# Include motor's CONFIG_SITE.local when building inside motor
-include $(TOP)/../../../../configure/CONFIG_SITE.local
# Include motorPhytron's CONFIG_SITE.local when building inside motorPhytron
-include $(TOP)/../../configure/CONFIG_SITE.local
# Use phytronIOC's CONFIG_SITE.local
-include $(TOP)/configure/CONFIG_SITE.local
# Use settings from motor's CONFIG_SITE unless they are overridden below
-include $(MOTOR)/configure/CONFIG_SITE
#
CHECK_RELEASE = WARN
# Use the following lines if motorPhytron was built inside motor
MOTOR=
-include $(MOTOR)/configure/RELEASE
# Use the following lines if motorPhytron was built outside motor
#!MOTOR_PHYTRON=
#!-include $(MOTOR_PHYTRON)/configure/RELEASE.local
# 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.
#
# 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.
#
# Host- or target-specific settings can be given in files named
# RELEASE.$(EPICS_HOST_ARCH).Common
# RELEASE.Common.$(T_A)
# 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
# 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.
# Build variables that are NOT used in paths should be set in
# the CONFIG_SITE file.
# Variables and paths to dependent modules:
#MODULES = /path/to/modules
#MYMODULE = $(MODULES)/my-module
# If using the sequencer, point SNCSEQ at its top directory:
#SNCSEQ = $(MODULES)/seq-ver
# EPICS_BASE should appear last so earlier modules can override stuff:
EPICS_BASE = /APSshare/epics/base-3.15.6
# Set RULES here if you want to use build rules from somewhere
# 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.
-include $(TOP)/../RELEASE.local
# Use motor/module's generated release file when buidling inside motor
-include $(TOP)/../../../RELEASE.$(EPICS_HOST_ARCH).local
# Use motorPhytron's release file when building inside motorPhytron, but outside motor
-include $(TOP)/../../configure/RELEASE.local
# Use phytronIOC's RELEASE.local when building outside motorPhytron
-include $(TOP)/configure/RELEASE.local
......@@ -5,6 +5,9 @@ include $(TOP)/configure/CONFIG
# ADD MACRO DEFINITIONS AFTER THIS LINE
#=============================
# The following are used for debugging messages.
#!USR_CXXFLAGS += -DDEBUG
#=============================
# Build the IOC application
......@@ -16,10 +19,21 @@ DBD += phytron.dbd
phytron_DBD += base.dbd
# Include dbd files from all support applications:
#phytron_DBD += xxx.dbd
#ifdef ASYN
phytron_DBD += asyn.dbd
#endif
phytron_DBD += motorSupport.dbd
phytron_DBD += devPhytron.dbd
# Add all the support libraries needed by this IOC
#phytron_LIBS += xxx
phytron_LIBS += phytron
phytron_LIBS += motor
#ifdef ASYN
phytron_LIBS += asyn
#endif
#ifdef SNCSEQ
phytron_LIBS += seq pv
#endif
# phytron_registerRecordDeviceDriver.cpp derives from phytron.dbd
phytron_SRCS += phytron_registerRecordDeviceDriver.cpp
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment