Skip to content
Snippets Groups Projects
Commit 1fdd97bf authored by Jeong Han Lee's avatar Jeong Han Lee
Browse files

update asyn to 4.32, and migrate to new E3

parent ba2505cf
No related branches found
No related tags found
No related merge requests found
Showing
with 455 additions and 174 deletions
[submodule "e3-env"]
path = e3-env
url = https://github.com/icshwi/e3-env
ignore = dirty
[submodule "asyn"]
path = asyn
url = https://github.com/epics-modules/asyn
......
#
# Copyright (c) 2017 - Present Jeong Han Lee
# Copyright (c) 2017 - Present European Spallation Source ERIC
#
# The program is free software: you can redistribute
......@@ -15,163 +16,15 @@
# this program. If not, see https://www.gnu.org/licenses/gpl-2.0.txt
#
#
# Author : jhlee
# email : @esss.se
# Date : generated by 2017Oct30-2331-18CET
# version : 0.0.0
#
# template file is generated by prepare_module.bash with c9f902bf415d19da874c9c23469a31915da59d34
#
# Author : Jeong Han Lee
# email : jeonghan.lee@gmail.com
# Date : 2018Jan29-1746-19CET
# version : 0.0.1
TOP:=$(CURDIR)
include $(TOP)/configure/CONFIG
-include $(TOP)/$(E3_ENV_NAME)/$(E3_ENV_NAME)
-include $(TOP)/$(E3_ENV_NAME)/epics-community-env
# Keep always the module up-to-date
define git_update =
@git submodule deinit -f $@/
git submodule deinit -f $@/
sed -i '/submodule/,$$d' $(TOP)/.git/config
rm -rf $(TOP)/.git/modules/$@
git submodule init $@/
git submodule update --init --recursive --recursive $@/.
git submodule update --remote --merge $@/
endef
ifndef VERBOSE
QUIET := @
endif
ifdef DEBUG_SHELL
SHELL = /bin/sh -x
endif
# Pass necessary driver.makefile variables through makefile options
#
M_OPTIONS := -C $(EPICS_MODULE_SRC_PATH)
M_OPTIONS += -f $(ESS_MODULE_MAKEFILE)
M_OPTIONS += LIBVERSION="$(LIBVERSION)"
M_OPTIONS += PROJECT="$(EPICS_MODULE_NAME)"
M_OPTIONS += EPICS_MODULES="$(EPICS_MODULES)"
M_OPTIONS += EPICS_LOCATION="$(EPICS_LOCATION)"
M_OPTIONS += DEFAULT_EPICS_VERSIONS="$(DEFAULT_EPICS_VERSIONS)"
M_OPTIONS += BUILDCLASSES="Linux"
M_OPTIONS += DRV_USBTMC="$(DRV_USBTMC)"
# # help is defined in
# # https://gist.github.com/rcmachado/af3db315e31383502660
help:
$(info --------------------------------------- )
$(info Available targets)
$(info --------------------------------------- )
$(QUIET) awk '/^[a-zA-Z\-\_0-9]+:/ { \
nb = sub( /^## /, "", helpMsg ); \
if(nb == 0) { \
helpMsg = $$0; \
nb = sub( /^[^:]*:.* ## /, "", helpMsg ); \
} \
if (nb) \
print $$1 "\t" helpMsg; \
} \
{ helpMsg = $$0 }' \
$(MAKEFILE_LIST) | column -ts:
default: help
install: uninstall
$(QUIET) sudo -E bash -c 'make $(M_OPTIONS) install'
## Uninstall "Require" Module in order not to use it
uninstall: conf
$(QUIET) sudo -E bash -c 'make $(M_OPTIONS) uninstall'
## Build the EPICS Module
build: conf
$(QUIET) make $(M_OPTIONS) build
## clean, build, and install again.
rebuild: clean build install
## Clean the EPICS Module
clean: conf
$(QUIET) make $(M_OPTIONS) clean
## Show driver.makefile help
help2:
$(QUIET) make $(M_OPTIONS) help
#
## Initialize EPICS BASE and E3 ENVIRONMENT Module
init: git-submodule-sync $(EPICS_MODULE_SRC_PATH) $(E3_ENV_NAME)
git-submodule-sync:
$(QUIET) git submodule sync
$(EPICS_MODULE_SRC_PATH):
$(QUIET) $(git_update)
cd $@ && git checkout $(EPICS_MODULE_TAG)
checkout:
cd $(EPICS_MODULE_SRC_PATH) && git checkout $(EPICS_MODULE_TAG)
$(E3_ENV_NAME):
$(QUIET) $(git_update)
## Print EPICS and ESS EPICS Environment variables
env:
$(QUIET) echo ""
$(QUIET) echo "EPICS_MODULE_SRC_PATH : "$(EPICS_MODULE_SRC_PATH)
$(QUIET) echo "ESS_MODULE_MAKEFILE : "$(ESS_MODULE_MAKEFILE)
$(QUIET) echo "EPICS_MODULE_TAG : "$(EPICS_MODULE_TAG)
$(QUIET) echo "LIBVERSION : "$(LIBVERSION)
$(QUIET) echo "PROJECT : "$(PROJECT)
$(QUIET) echo ""
$(QUIET) echo "----- >>>> EPICS BASE Information <<<< -----"
$(QUIET) echo ""
$(QUIET) echo "EPICS_BASE_TAG : "$(EPICS_BASE_TAG)
# $(QUIET) echo "CROSS_COMPILER_TARGET_ARCHS : "$(CROSS_COMPILER_TARGET_ARCHS)
$(QUIET) echo ""
$(QUIET) echo "----- >>>> ESS EPICS Environment <<<< -----"
$(QUIET) echo ""
$(QUIET) echo "EPICS_LOCATION : "$(EPICS_LOCATION)
$(QUIET) echo "EPICS_MODULES : "$(EPICS_MODULES)
$(QUIET) echo "DEFAULT_EPICS_VERSIONS : "$(DEFAULT_EPICS_VERSIONS)
$(QUIET) echo "BASE_INSTALL_LOCATIONS : "$(BASE_INSTALL_LOCATIONS)
$(QUIET) echo "REQUIRE_VERSION : "$(REQUIRE_VERSION)
$(QUIET) echo "REQUIRE_PATH : "$(REQUIRE_PATH)
$(QUIET) echo "REQUIRE_TOOLS : "$(REQUIRE_TOOLS)
$(QUIET) echo "REQUIRE_BIN : "$(REQUIRE_BIN)
$(QUIET) echo ""
conf:
$(QUIET) install -m 644 $(TOP)/$(ESS_MODULE_MAKEFILE) $(EPICS_MODULE_SRC_PATH)/
epics:
@echo "EPICS_BASE=$(COMMUNITY_EPICS_BASE)" > $(TOP)/$(EPICS_MODULE_SRC_PATH)/configure/RELEASE
@echo "INSTALL_LOCATION=$(M_ASYN)" > $(TOP)/$(EPICS_MODULE_SRC_PATH)/configure/CONFIG_SITE
@echo "LINUX_GPIB=NO" >> $(TOP)/$(EPICS_MODULE_SRC_PATH)/configure/CONFIG_SITE
sudo -E bash -c "$(MAKE) -C $(EPICS_MODULE_SRC_PATH)"
epics-clean:
sudo -E bash -c "$(MAKE) -C $(EPICS_MODULE_SRC_PATH) clean"
.PHONY: env $(E3_ENV_NAME) $(EPICS_MODULE_SRC_PATH) git-submodule-sync init help help2 build clean install uninstall conf rebuild epics epics-clean checkout
include $(TOP)/configure/RULES
......@@ -22,7 +22,7 @@
where_am_I := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
include $(REQUIRE_TOOLS)/driver.makefile
include $(E3_REQUIRE_TOOLS)/driver.makefile
USR_CFLAGS += -Wno-unused-variable
......@@ -302,3 +302,7 @@ $(DBDINC_DEPS): $(DBDINC_HDRS)
$(DBTORECORDTYPEH) $(USR_DBDFLAGS) -o $@ $<
# db rule is the default in RULES_E3, so add the empty one
db:
EPICS_MODULE_NAME:=asyn
export EPICS_MODULE_TAG:=tags/R4-32
export EPICS_MODULE_SRC_PATH:=$(EPICS_MODULE_NAME)
ESS_MODULE_MAKEFILE:=$(EPICS_MODULE_NAME).Makefile
export PROJECT:=$(EPICS_MODULE_NAME)
export LIBVERSION:=4.32.0
export E3_ENV_NAME:=e3-env
# One should install libusb-1.0.0
# Debian apt-get install libusb-1.0-0-dev libusb-1.0-0
# USR_INCLUDES
# $ pkg-config --cflags libusb-1.0
# -I/usr/include/libusb-1.0
# USR_LDFLAGS
# $ pkg-config --libs libusb-1.0
# $ -lusb-1.0
export DRV_USBTMC:=NO
VARS_EXCLUDES := $(.VARIABLES)
ifneq (,$(findstring dev,$(MAKECMDGOALS)))
include $(TOP)/configure/RELEASE_DEV
else
include $(TOP)/configure/RELEASE
endif
# CONFIG=$(EPICS_BASE)/configure
# include $(CONFIG)/CONFIG
ifneq (,$(findstring dev,$(MAKECMDGOALS)))
include $(TOP)/configure/CONFIG_MODULE_DEV
else
include $(TOP)/configure/CONFIG_MODULE
endif
-include $(TOP)/configure/CONFIG_OPTIONS
## It is not necessary to modify the following files in most case.
## Order is matter
include $(TOP)/configure/E3/CONFIG_REQUIRE
include $(TOP)/configure/E3/CONFIG_E3_PATH
include $(TOP)/configure/E3/CONFIG_E3_MAKEFILE
include $(TOP)/configure/E3/CONFIG_EPICS
include $(TOP)/configure/E3/CONFIG_SUDO
include $(TOP)/configure/E3/CONFIG_EXPORT
#
EPICS_MODULE_NAME:=asyn
EPICS_MODULE_TAG:=tags/R4-32
#
E3_MODULE_VERSION:=4.32.0
#
# In most case, we don't need to touch the following variables.
#
E3_MODULE_NAME:=$(EPICS_MODULE_NAME)
E3_MODULE_SRC_PATH:=$(EPICS_MODULE_NAME)
E3_MODULE_MAKEFILE:=$(EPICS_MODULE_NAME).Makefile
#
EPICS_MODULE_NAME:=asyn
EPICS_MODULE_TAG:=master
#
E3_MODULE_VERSION:=master
#
# In most case, we don't need to touch the following variables.
#
E3_MODULE_NAME:=$(EPICS_MODULE_NAME)
E3_MODULE_SRC_PATH:=$(EPICS_MODULE_NAME)-dev
E3_MODULE_MAKEFILE:=$(EPICS_MODULE_NAME).Makefile
#export DEV_GIT_URL:="https://where your git repo"
E3_MODULE_DEV_GITURL:="https://github.com/epics-modules/asyn"
# One should install libusb-1.0.0
# Debian apt-get install libusb-1.0-0-dev libusb-1.0-0
# USR_INCLUDES
# $ pkg-config --cflags libusb-1.0
# -I/usr/include/libusb-1.0
# USR_LDFLAGS
# $ pkg-config --libs libusb-1.0
# $ -lusb-1.0
export DRV_USBTMC:=NO
# Pass necessary driver.makefile variables through makefile options
#
E3_REQUIRE_MAKEFILE_INPUT_OPTIONS := -C $(E3_MODULE_SRC_PATH)
E3_REQUIRE_MAKEFILE_INPUT_OPTIONS += -f $(E3_MODULE_MAKEFILE)
E3_REQUIRE_MAKEFILE_INPUT_OPTIONS += LIBVERSION="$(E3_MODULE_VERSION)"
E3_REQUIRE_MAKEFILE_INPUT_OPTIONS += PROJECT="$(E3_MODULE_NAME)"
E3_REQUIRE_MAKEFILE_INPUT_OPTIONS += EPICS_MODULES="$(E3_MODULES_PATH)"
E3_REQUIRE_MAKEFILE_INPUT_OPTIONS += EPICS_LOCATION="$(EPICS_BASE)"
E3_REQUIRE_MAKEFILE_INPUT_OPTIONS += BUILDCLASSES="Linux"
E3_MODULE_MAKE_CMDS:=make $(E3_REQUIRE_MAKEFILE_INPUT_OPTIONS)
VARS_EXCLUDES+=E3_REQUIRE_MAKEFILE_INPUT_OPTIONS
E3_MODULES_PATH:=$(E3_REQUIRE_LOCATION)/siteMods
E3_SITEMODS_PATH:=$(E3_MODULES_PATH)
E3_SITELIBS_PATH:=$(E3_REQUIRE_LOCATION)/siteLibs
E3_SITEAPPS_PATH:=$(E3_REQUIRE_LOCATION)/siteApps
E3_MODULES_INSTALL_LOCATION:=$(E3_SITEMODS_PATH)/$(E3_MODULE_NAME)/$(E3_MODULE_VERSION)
E3_MODULES_INSTALL_LOCATION_INC:=$(E3_MODULES_INSTALL_LOCATION)/include
E3_MODULES_INSTALL_LOCATION_DB :=$(E3_MODULES_INSTALL_LOCATION)/db
E3_MODULES_INSTALL_LOCATION_BIN:=$(E3_MODULES_INSTALL_LOCATION)/bin
E3_MODULES_INSTALL_LOCATION_INC_LINK:=$(E3_SITELIBS_PATH)/$(E3_MODULE_NAME)_$(E3_MODULE_VERSION)_include
E3_MODULES_INSTALL_LOCATION_DB_LINK :=$(E3_SITELIBS_PATH)/$(E3_MODULE_NAME)_$(E3_MODULE_VERSION)_db
E3_MODULES_INSTALL_LOCATION_BIN_LINK:=$(E3_SITELIBS_PATH)/$(E3_MODULE_NAME)_$(E3_MODULE_VERSION)_bin
E3_MODULES_INSTALL_LOCATION_DBD:=$(E3_MODULES_INSTALL_LOCATION)/dbd/$(E3_MODULE_NAME).dbd
E3_MODULES_INSTALL_LOCATION_DBD_LINK:=$(E3_SITELIBS_PATH)/$(E3_MODULE_NAME).dbd.$(E3_MODULE_VERSION)
# It is a bit weird, it would be better to implement within driver.makefile later
# Assumption : we are using the same lib name from driver.makefile
E3_MODULES_LIBNAME:=lib$(E3_MODULE_NAME).so
INSTALLED_EPICS_BASE_ARCHS_PATHS=$(sort $(dir $(wildcard $(EPICS_BASE)/bin/*/)))
TEMP_INSTALLED_EPICS_BASE_ARCHS=$(INSTALLED_EPICS_BASE_ARCHS_PATHS:$(EPICS_BASE)/bin/%=%)
INSTALLED_EPICS_BASE_ARCHS=$(TEMP_INSTALLED_EPICS_BASE_ARCHS:/=)
### Exclude the following variables to display
VARS_EXCLUDES+=TEMP_INSTALLED_EPICS_BASE_ARCHS
VARS_EXCLUDES+=INSTALLED_EPICS_BASE_ARCHS_PATHS
COMMUNITY_EPICS_MODULES:=$(EPICS_BASE)/epics-modules
M_AUTOSAVE:=$(COMMUNITY_EPICS_MODULES)/autosave
M_DEVLIB2:=$(COMMUNITY_EPICS_MODULES)/devlib2
M_IOCSTATS:=$(COMMUNITY_EPICS_MODULES)/iocStats
M_ASYN:=$(COMMUNITY_EPICS_MODULES)/asyn
M_BUSY:=$(COMMUNITY_EPICS_MODULES)/busy
M_MODBUS:=$(COMMUNITY_EPICS_MODULES)/modbus
M_MRFIOC2:=$(COMMUNITY_EPICS_MODULES)/mrfioc2
M_LUA:=$(COMMUNITY_EPICS_MODULES)/lua
M_IPMICOMM:=$(COMMUNITY_EPICS_MODULES)/ipmiComm
M_STREAM:=$(COMMUNITY_EPICS_MODULES)/stream
M_CALC:=$(COMMUNITY_EPICS_MODULES)/calc
M_MOTOR:=$(COMMUNITY_EPICS_MODULES)/motor
M_SSCAN:=$(COMMUNITY_EPICS_MODULES)/sscan
M_SNCSEQ:=$(COMMUNITY_EPICS_MODULES)/seq
M_IP:=$(COMMUNITY_EPICS_MODULES)/ip
M_IPAC:=$(COMMUNITY_EPICS_MODULES)/ipac
M_ADSUPPORT:=$(COMMUNITY_EPICS_MODULES)/adsupport
M_ADCORE:=$(COMMUNITY_EPICS_MODULES)/adcore
export M_AUTOSAVE
export M_DEVLIB2
export M_IOCSTATS
export M_ASYN
export M_BUSY
export M_MODBUS
export M_MRFIOC2
export M_LUA
export M_IPMICOMM
export M_STREAM
export M_CALC
export M_MOTOR
export M_SSCAN
export M_SNCSEQ
export M_IP
export M_IPAC
export M_ADSUPPORT
export M_ADCORE
### Exclude the following variables to display
VARS_EXCLUDES+=COMMUNITY_EPICS_MODULES
VARS_EXCLUDES+=M_AUTOSAVE
VARS_EXCLUDES+=M_DEVLIB2
VARS_EXCLUDES+=M_IOCSTATS
VARS_EXCLUDES+=M_ASYN
VARS_EXCLUDES+=M_BUSY
VARS_EXCLUDES+=M_MODBUS
VARS_EXCLUDES+=M_MRFIOC2
VARS_EXCLUDES+=M_LUA
VARS_EXCLUDES+=M_IPMICOMM
VARS_EXCLUDES+=M_STREAM
VARS_EXCLUDES+=M_CALC
VARS_EXCLUDES+=M_MOTOR
VARS_EXCLUDES+=M_SSCAN
VARS_EXCLUDES+=M_SNCSEQ
VARS_EXCLUDES+=M_IP
VARS_EXCLUDES+=M_IPAC
VARS_EXCLUDES+=M_ADSUPPORT
VARS_EXCLUDES+=M_ADCORE
# Variables should be transferred to module_name.makefile
EPICS_HOST_ARCH:=$(shell $(EPICS_BASE)/startup/EpicsHostArch.pl)
export EPICS_BASE
export EPICS_HOST_ARCH
export E3_REQUIRE_TOOLS
export E3_MODULE_VERSION
E3_REQUIRE_LOCATION:=$(EPICS_BASE)/$(E3_REQUIRE_NAME)/$(E3_REQUIRE_VERSION)
E3_REQUIRE_BIN:=$(E3_REQUIRE_LOCATION)/bin
E3_REQUIRE_TOOLS:=$(E3_REQUIRE_LOCATION)/tools
E3_REQUIRE_LIB:=$(E3_REQUIRE_LOCATION)/lib
E3_REQUIRE_DB:=$(E3_REQUIRE_LOCATION)/db
E3_REQUIRE_DBD:=$(E3_REQUIRE_LOCATION)/dbd
E3_REQUIRE_INC:=$(E3_REQUIRE_LOCATION)/include
# IF EPICS_BASE is not WRITABLE, SUDO and SUDOBASH should be used
# SUDO_INFO 1 : SUDO is needed (NOT writable)
# SUDO_INFO 0 : SUDO is not needed
SUDO_INFO := $(shell test -w $(EPICS_BASE) 1>&2 2> /dev/null; echo $$?)
ifeq "$(SUDO_INFO)" "1"
SUDO := sudo
SUDOBASH = $(SUDO)
SUDOBASH += -E
SUDOBASH += bash -c
endif
# Valid for only Development Mode, because we clone/remove them
# See RULES_DEV
# E3_MODULE_SRC_PATH_INFO 1 : the directory is not there
# E3_MODULE_SRC_PATH_INFO 0 : the directory is there
E3_MODULE_SRC_PATH_INFO := $(shell test -d $(E3_MODULE_SRC_PATH) 1>&2 2> /dev/null; echo $$?)
ifeq "$(E3_MODULE_SRC_PATH_INFO)" "1"
INIT_E3_MODULE_SRC = 1
endif
# Keep always the module up-to-date
define git_update =
git submodule deinit -f $@/
sed -i '/submodule/,24465d' $(TOP)/.git/config
rm -rf $(TOP)/.git/modules/$@
git submodule init $@/
git submodule update --init --recursive $@/.
git submodule update --remote --merge $@/
endef
ifndef VERBOSE
QUIET := @
endif
ifdef DEBUG_SHELL
SHELL = /bin/sh -x
endif
### Exclude the following variables to display
VARS_EXCLUDES+=git_update
VARS_EXCLUDES+=QUIET
VARS_EXCLUDES+=SHELL
## This RULE should be used in case of inflating DB files
## In this case, one should add db: rule in $(EPICS_MODULE_NAME).makefile
## And add db in RULES_E3 also as follows:
## install_module: uninstall db
.PHONY: db
### .....
db: conf
#install -m 644 $(TOP)/template/cpci-evg230-ess.substitutions $(E3_MODULE_SRC_PATH)/evgMrmApp/Db/
$(QUIET) $(E3_MODULE_MAKE_CMDS) db
# -*- mode: Makefile;-*-
.PHONY: devvars devenv devinit devbuild devclean devinstall devrebuild devuninstall devdistclean
devvars: vars
devenv: devvars
devinit: git-submodule-sync
git clone $(E3_MODULE_DEV_GITURL) $(E3_MODULE_SRC_PATH)
cd $(E3_MODULE_SRC_PATH) && git checkout $(EPICS_MODULE_TAG)
ifeq "$(INIT_E3_MODULE_SRC)" "1"
devbuild: nonexists
devclean: nonexists
devinstall: nonexists
devrebuild: nonexists
devuninstall: nonexists
devdistclean: nonexists
nonexists:
$(QUIET)echo ""
$(QUIET)echo "------------------------------------------------------------"
$(QUIET)echo " Could not find $(E3_MODULE_SRC_PATH) "
$(QUIET)echo " Please make devinit first ! "
$(QUIET)echo "------------------------------------------------------------"
$(QUIET)echo ""
else
devbuild: build
devclean: clean
devinstall: install
devrebuild: rebuild
devuninstall: uninstall
devdistclean: clean
$(QUIET)echo "Removing $(E3_MODULE_SRC_PATH) ......... "
rm -rf $(E3_MODULE_SRC_PATH)
endif
.PHONY: help default install uninstall build rebuild clean conf
default: help
# # help is defined in
# # https://gist.github.com/rcmachado/af3db315e31383502660
help:
$(info --------------------------------------- )
$(info Available targets)
$(info --------------------------------------- )
$(QUIET) awk '/^[a-zA-Z\-\_0-9]+:/ { \
nb = sub( /^## /, "", helpMsg ); \
if(nb == 0) { \
helpMsg = $$0; \
nb = sub( /^[^:]*:.* ## /, "", helpMsg ); \
} \
if (nb) \
print $$1 "\t" helpMsg; \
} \
{ helpMsg = $$0 }' \
$(MAKEFILE_LIST) | column -ts:
## Install : $(E3_MODULE_NAME)
install: install_module install_links
#install_module: uninstall
install_module: uninstall db
$(QUIET) $(SUDOBASH) '$(E3_MODULE_MAKE_CMDS) install'
## Uninstall : $(E3_MODULE_NAME)
uninstall: conf
$(QUIET) $(SUDOBASH) '$(E3_MODULE_MAKE_CMDS) uninstall'
## Build the EPICS Module : $(E3_MODULE_NAME)
# Build always the Module with the EPICS_MODULES_TAG
build: conf checkout
$(QUIET) $(E3_MODULE_MAKE_CMDS) build
## Clean, build, and install the EPICS Module : $(E3_MODULE_NAME)
rebuild: clean build install
## Clean : $(E3_MODULE_NAME)
clean: conf
$(QUIET) $(E3_MODULE_MAKE_CMDS) clean
## Copy $(E3_MODULE_MAKEFILE) into $(E3_MODULE_SRC_PATH)
conf:
$(QUIET) install -m 644 $(TOP)/$(E3_MODULE_MAKEFILE) $(E3_MODULE_SRC_PATH)/
.PHONY: init git-submodule-sync $(E3_MODULE_SRC_PATH) checkout
## Initialize : $(E3_MODULE_SRC_PATH)
init: git-submodule-sync $(E3_MODULE_SRC_PATH) checkout
git-submodule-sync:
$(QUIET) git submodule sync
$(E3_MODULE_SRC_PATH):
$(QUIET) $(git_update)
checkout:
cd $(E3_MODULE_SRC_PATH) && git checkout $(EPICS_MODULE_TAG)
# Create symbolic links in siteLibs
.PHONY: install_links $(INSTALLED_EPICS_BASE_ARCHS)
install_links: $(INSTALLED_EPICS_BASE_ARCHS)
$(SUDO) ln -snf $(E3_MODULES_INSTALL_LOCATION_INC) $(E3_MODULES_INSTALL_LOCATION_INC_LINK)
$(SUDO) ln -snf $(E3_MODULES_INSTALL_LOCATION_DB) $(E3_MODULES_INSTALL_LOCATION_DB_LINK)
$(SUDO) ln -snf $(E3_MODULES_INSTALL_LOCATION_BIN) $(E3_MODULES_INSTALL_LOCATION_BIN_LINK)
$(SUDO) ln -sf $(E3_MODULES_INSTALL_LOCATION_DBD) $(E3_MODULES_INSTALL_LOCATION_DBD_LINK)
$(INSTALLED_EPICS_BASE_ARCHS):
$(SUDO) mkdir -p $(E3_SITELIBS_PATH)/$@
$(SUDO) ln -sf $(E3_MODULES_INSTALL_LOCATION)/lib/$@/$(E3_MODULES_LIBNAME) $(E3_SITELIBS_PATH)/$@/$(E3_MODULE_NAME).lib.$(E3_MODULE_VERSION)
# One should define the any dependency modules and EPICS base path
# in the following directory
.PHONY: epics epics-clean
epics:
$(QUIET)echo "EPICS_BASE=$(EPICS_BASE)" > $(TOP)/$(E3_MODULE_SRC_PATH)/configure/RELEASE
# $(QUIET)echo "INSTALL_LOCATION=$(M_DEVLIB2)" > $(TOP)/$(E3_MODULE_SRC_PATH)/configure/CONFIG_SITE
$(SUDOBASH) "$(MAKE) -C $(E3_MODULE_SRC_PATH)"
epics-clean:
$(SUDOBASH) "$(MAKE) -C $(E3_MODULE_SRC_PATH) clean"
E3_MODULES_VARIABLES:=$(sort $(filter-out $(VARS_EXCLUDES) VARS_EXCLUDES,$(.VARIABLES)))
.PHONY : env vars header
## Print interesting VARIABLES
env: vars
vars: header
$(foreach v, $(E3_MODULES_VARIABLES), $(info $(v) = $($(v)))) @#noop
header:
$(QUIET)echo ""
$(QUIET)echo "------------------------------------------------------------"
$(QUIET)echo ">>>> Current EPICS and E3 Envrionment Variables <<<<"
$(QUIET)echo "------------------------------------------------------------"
$(QUIET)echo ""
EPICS_BASE=/testing/epics/base-3.15.5
E3_REQUIRE_NAME:=require
E3_REQUIRE_VERSION:=0.0.0
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment