Skip to content
This repository was archived by the owner on Jan 12, 2021. It is now read-only.

Commit 1fdd97b

Browse files
committed
update asyn to 4.32, and migrate to new E3
1 parent ba2505c commit 1fdd97b

23 files changed

+476
-175
lines changed

.gitmodules

-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
[submodule "e3-env"]
2-
path = e3-env
3-
url = https://github.com/icshwi/e3-env
4-
ignore = dirty
51
[submodule "asyn"]
62
path = asyn
73
url = https://github.com/epics-modules/asyn

Makefile

+6-153
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#
2+
# Copyright (c) 2017 - Present Jeong Han Lee
23
# Copyright (c) 2017 - Present European Spallation Source ERIC
34
#
45
# The program is free software: you can redistribute
@@ -15,163 +16,15 @@
1516
# this program. If not, see https://www.gnu.org/licenses/gpl-2.0.txt
1617
#
1718
#
18-
# Author : jhlee
19-
# email : @esss.se
20-
# Date : generated by 2017Oct30-2331-18CET
21-
# version : 0.0.0
22-
#
23-
# template file is generated by prepare_module.bash with c9f902bf415d19da874c9c23469a31915da59d34
24-
#
19+
# Author : Jeong Han Lee
20+
21+
# Date : 2018Jan29-1746-19CET
22+
# version : 0.0.1
2523

2624

2725
TOP:=$(CURDIR)
2826

2927
include $(TOP)/configure/CONFIG
3028

31-
-include $(TOP)/$(E3_ENV_NAME)/$(E3_ENV_NAME)
32-
-include $(TOP)/$(E3_ENV_NAME)/epics-community-env
33-
34-
# Keep always the module up-to-date
35-
define git_update =
36-
@git submodule deinit -f $@/
37-
git submodule deinit -f $@/
38-
sed -i '/submodule/,$$d' $(TOP)/.git/config
39-
rm -rf $(TOP)/.git/modules/$@
40-
git submodule init $@/
41-
git submodule update --init --recursive --recursive $@/.
42-
git submodule update --remote --merge $@/
43-
endef
44-
45-
ifndef VERBOSE
46-
QUIET := @
47-
endif
48-
49-
ifdef DEBUG_SHELL
50-
SHELL = /bin/sh -x
51-
endif
52-
53-
54-
# Pass necessary driver.makefile variables through makefile options
55-
#
56-
M_OPTIONS := -C $(EPICS_MODULE_SRC_PATH)
57-
M_OPTIONS += -f $(ESS_MODULE_MAKEFILE)
58-
M_OPTIONS += LIBVERSION="$(LIBVERSION)"
59-
M_OPTIONS += PROJECT="$(EPICS_MODULE_NAME)"
60-
M_OPTIONS += EPICS_MODULES="$(EPICS_MODULES)"
61-
M_OPTIONS += EPICS_LOCATION="$(EPICS_LOCATION)"
62-
M_OPTIONS += DEFAULT_EPICS_VERSIONS="$(DEFAULT_EPICS_VERSIONS)"
63-
M_OPTIONS += BUILDCLASSES="Linux"
64-
M_OPTIONS += DRV_USBTMC="$(DRV_USBTMC)"
65-
66-
67-
# # help is defined in
68-
# # https://gist.github.com/rcmachado/af3db315e31383502660
69-
help:
70-
$(info --------------------------------------- )
71-
$(info Available targets)
72-
$(info --------------------------------------- )
73-
$(QUIET) awk '/^[a-zA-Z\-\_0-9]+:/ { \
74-
nb = sub( /^## /, "", helpMsg ); \
75-
if(nb == 0) { \
76-
helpMsg = $$0; \
77-
nb = sub( /^[^:]*:.* ## /, "", helpMsg ); \
78-
} \
79-
if (nb) \
80-
print $$1 "\t" helpMsg; \
81-
} \
82-
{ helpMsg = $$0 }' \
83-
$(MAKEFILE_LIST) | column -ts:
84-
85-
86-
87-
default: help
88-
89-
90-
install: uninstall
91-
$(QUIET) sudo -E bash -c 'make $(M_OPTIONS) install'
92-
93-
## Uninstall "Require" Module in order not to use it
94-
uninstall: conf
95-
$(QUIET) sudo -E bash -c 'make $(M_OPTIONS) uninstall'
96-
97-
98-
## Build the EPICS Module
99-
build: conf
100-
$(QUIET) make $(M_OPTIONS) build
101-
102-
## clean, build, and install again.
103-
rebuild: clean build install
104-
105-
## Clean the EPICS Module
106-
clean: conf
107-
$(QUIET) make $(M_OPTIONS) clean
108-
109-
## Show driver.makefile help
110-
help2:
111-
$(QUIET) make $(M_OPTIONS) help
112-
113-
#
114-
## Initialize EPICS BASE and E3 ENVIRONMENT Module
115-
init: git-submodule-sync $(EPICS_MODULE_SRC_PATH) $(E3_ENV_NAME)
116-
117-
git-submodule-sync:
118-
$(QUIET) git submodule sync
119-
120-
$(EPICS_MODULE_SRC_PATH):
121-
$(QUIET) $(git_update)
122-
cd $@ && git checkout $(EPICS_MODULE_TAG)
123-
124-
checkout:
125-
cd $(EPICS_MODULE_SRC_PATH) && git checkout $(EPICS_MODULE_TAG)
126-
127-
128-
$(E3_ENV_NAME):
129-
$(QUIET) $(git_update)
130-
131-
132-
## Print EPICS and ESS EPICS Environment variables
133-
env:
134-
$(QUIET) echo ""
135-
136-
$(QUIET) echo "EPICS_MODULE_SRC_PATH : "$(EPICS_MODULE_SRC_PATH)
137-
$(QUIET) echo "ESS_MODULE_MAKEFILE : "$(ESS_MODULE_MAKEFILE)
138-
$(QUIET) echo "EPICS_MODULE_TAG : "$(EPICS_MODULE_TAG)
139-
$(QUIET) echo "LIBVERSION : "$(LIBVERSION)
140-
$(QUIET) echo "PROJECT : "$(PROJECT)
141-
142-
$(QUIET) echo ""
143-
$(QUIET) echo "----- >>>> EPICS BASE Information <<<< -----"
144-
$(QUIET) echo ""
145-
$(QUIET) echo "EPICS_BASE_TAG : "$(EPICS_BASE_TAG)
146-
# $(QUIET) echo "CROSS_COMPILER_TARGET_ARCHS : "$(CROSS_COMPILER_TARGET_ARCHS)
147-
$(QUIET) echo ""
148-
$(QUIET) echo "----- >>>> ESS EPICS Environment <<<< -----"
149-
$(QUIET) echo ""
150-
$(QUIET) echo "EPICS_LOCATION : "$(EPICS_LOCATION)
151-
$(QUIET) echo "EPICS_MODULES : "$(EPICS_MODULES)
152-
$(QUIET) echo "DEFAULT_EPICS_VERSIONS : "$(DEFAULT_EPICS_VERSIONS)
153-
$(QUIET) echo "BASE_INSTALL_LOCATIONS : "$(BASE_INSTALL_LOCATIONS)
154-
$(QUIET) echo "REQUIRE_VERSION : "$(REQUIRE_VERSION)
155-
$(QUIET) echo "REQUIRE_PATH : "$(REQUIRE_PATH)
156-
$(QUIET) echo "REQUIRE_TOOLS : "$(REQUIRE_TOOLS)
157-
$(QUIET) echo "REQUIRE_BIN : "$(REQUIRE_BIN)
158-
$(QUIET) echo ""
159-
160-
conf:
161-
$(QUIET) install -m 644 $(TOP)/$(ESS_MODULE_MAKEFILE) $(EPICS_MODULE_SRC_PATH)/
162-
163-
epics:
164-
@echo "EPICS_BASE=$(COMMUNITY_EPICS_BASE)" > $(TOP)/$(EPICS_MODULE_SRC_PATH)/configure/RELEASE
165-
@echo "INSTALL_LOCATION=$(M_ASYN)" > $(TOP)/$(EPICS_MODULE_SRC_PATH)/configure/CONFIG_SITE
166-
@echo "LINUX_GPIB=NO" >> $(TOP)/$(EPICS_MODULE_SRC_PATH)/configure/CONFIG_SITE
167-
sudo -E bash -c "$(MAKE) -C $(EPICS_MODULE_SRC_PATH)"
168-
169-
epics-clean:
170-
sudo -E bash -c "$(MAKE) -C $(EPICS_MODULE_SRC_PATH) clean"
171-
172-
173-
.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
174-
175-
176-
29+
include $(TOP)/configure/RULES
17730

asyn.Makefile

+5-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
where_am_I := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
2424

25-
include $(REQUIRE_TOOLS)/driver.makefile
25+
include $(E3_REQUIRE_TOOLS)/driver.makefile
2626

2727

2828
USR_CFLAGS += -Wno-unused-variable
@@ -302,3 +302,7 @@ $(DBDINC_DEPS): $(DBDINC_HDRS)
302302
$(DBTORECORDTYPEH) $(USR_DBDFLAGS) -o $@ $<
303303

304304

305+
306+
# db rule is the default in RULES_E3, so add the empty one
307+
308+
db:

configure/CONFIG

+31-16
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,31 @@
1-
EPICS_MODULE_NAME:=asyn
2-
export EPICS_MODULE_TAG:=tags/R4-32
3-
export EPICS_MODULE_SRC_PATH:=$(EPICS_MODULE_NAME)
4-
ESS_MODULE_MAKEFILE:=$(EPICS_MODULE_NAME).Makefile
5-
export PROJECT:=$(EPICS_MODULE_NAME)
6-
export LIBVERSION:=4.32.0
7-
export E3_ENV_NAME:=e3-env
8-
# One should install libusb-1.0.0
9-
# Debian apt-get install libusb-1.0-0-dev libusb-1.0-0
10-
# USR_INCLUDES
11-
# $ pkg-config --cflags libusb-1.0
12-
# -I/usr/include/libusb-1.0
13-
# USR_LDFLAGS
14-
# $ pkg-config --libs libusb-1.0
15-
# $ -lusb-1.0
16-
export DRV_USBTMC:=NO
1+
VARS_EXCLUDES := $(.VARIABLES)
2+
3+
4+
ifneq (,$(findstring dev,$(MAKECMDGOALS)))
5+
include $(TOP)/configure/RELEASE_DEV
6+
else
7+
include $(TOP)/configure/RELEASE
8+
endif
9+
10+
# CONFIG=$(EPICS_BASE)/configure
11+
# include $(CONFIG)/CONFIG
12+
13+
ifneq (,$(findstring dev,$(MAKECMDGOALS)))
14+
include $(TOP)/configure/CONFIG_MODULE_DEV
15+
else
16+
include $(TOP)/configure/CONFIG_MODULE
17+
endif
18+
19+
20+
-include $(TOP)/configure/CONFIG_OPTIONS
21+
22+
23+
## It is not necessary to modify the following files in most case.
24+
## Order is matter
25+
26+
include $(TOP)/configure/E3/CONFIG_REQUIRE
27+
include $(TOP)/configure/E3/CONFIG_E3_PATH
28+
include $(TOP)/configure/E3/CONFIG_E3_MAKEFILE
29+
include $(TOP)/configure/E3/CONFIG_EPICS
30+
include $(TOP)/configure/E3/CONFIG_SUDO
31+
include $(TOP)/configure/E3/CONFIG_EXPORT

configure/CONFIG_MODULE

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#
2+
EPICS_MODULE_NAME:=asyn
3+
EPICS_MODULE_TAG:=tags/R4-32
4+
#
5+
E3_MODULE_VERSION:=4.32.0
6+
7+
8+
#
9+
# In most case, we don't need to touch the following variables.
10+
#
11+
E3_MODULE_NAME:=$(EPICS_MODULE_NAME)
12+
E3_MODULE_SRC_PATH:=$(EPICS_MODULE_NAME)
13+
E3_MODULE_MAKEFILE:=$(EPICS_MODULE_NAME).Makefile
14+

configure/CONFIG_MODULE_DEV

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#
2+
EPICS_MODULE_NAME:=asyn
3+
EPICS_MODULE_TAG:=master
4+
#
5+
E3_MODULE_VERSION:=master
6+
7+
8+
#
9+
# In most case, we don't need to touch the following variables.
10+
#
11+
E3_MODULE_NAME:=$(EPICS_MODULE_NAME)
12+
E3_MODULE_SRC_PATH:=$(EPICS_MODULE_NAME)-dev
13+
E3_MODULE_MAKEFILE:=$(EPICS_MODULE_NAME).Makefile
14+
15+
#export DEV_GIT_URL:="https://where your git repo"
16+
E3_MODULE_DEV_GITURL:="https://github.com/epics-modules/asyn"
17+

configure/CONFIG_OPTIONS

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
2+
# One should install libusb-1.0.0
3+
# Debian apt-get install libusb-1.0-0-dev libusb-1.0-0
4+
# USR_INCLUDES
5+
# $ pkg-config --cflags libusb-1.0
6+
# -I/usr/include/libusb-1.0
7+
# USR_LDFLAGS
8+
# $ pkg-config --libs libusb-1.0
9+
# $ -lusb-1.0
10+
export DRV_USBTMC:=NO
11+

configure/E3/CONFIG_E3_MAKEFILE

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Pass necessary driver.makefile variables through makefile options
2+
#
3+
4+
E3_REQUIRE_MAKEFILE_INPUT_OPTIONS := -C $(E3_MODULE_SRC_PATH)
5+
E3_REQUIRE_MAKEFILE_INPUT_OPTIONS += -f $(E3_MODULE_MAKEFILE)
6+
E3_REQUIRE_MAKEFILE_INPUT_OPTIONS += LIBVERSION="$(E3_MODULE_VERSION)"
7+
E3_REQUIRE_MAKEFILE_INPUT_OPTIONS += PROJECT="$(E3_MODULE_NAME)"
8+
E3_REQUIRE_MAKEFILE_INPUT_OPTIONS += EPICS_MODULES="$(E3_MODULES_PATH)"
9+
E3_REQUIRE_MAKEFILE_INPUT_OPTIONS += EPICS_LOCATION="$(EPICS_BASE)"
10+
E3_REQUIRE_MAKEFILE_INPUT_OPTIONS += BUILDCLASSES="Linux"
11+
12+
13+
E3_MODULE_MAKE_CMDS:=make $(E3_REQUIRE_MAKEFILE_INPUT_OPTIONS)
14+
15+
16+
VARS_EXCLUDES+=E3_REQUIRE_MAKEFILE_INPUT_OPTIONS
17+

configure/E3/CONFIG_E3_PATH

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
E3_MODULES_PATH:=$(E3_REQUIRE_LOCATION)/siteMods
2+
E3_SITEMODS_PATH:=$(E3_MODULES_PATH)
3+
E3_SITELIBS_PATH:=$(E3_REQUIRE_LOCATION)/siteLibs
4+
E3_SITEAPPS_PATH:=$(E3_REQUIRE_LOCATION)/siteApps
5+
6+
7+
E3_MODULES_INSTALL_LOCATION:=$(E3_SITEMODS_PATH)/$(E3_MODULE_NAME)/$(E3_MODULE_VERSION)
8+
9+
10+
E3_MODULES_INSTALL_LOCATION_INC:=$(E3_MODULES_INSTALL_LOCATION)/include
11+
E3_MODULES_INSTALL_LOCATION_DB :=$(E3_MODULES_INSTALL_LOCATION)/db
12+
E3_MODULES_INSTALL_LOCATION_BIN:=$(E3_MODULES_INSTALL_LOCATION)/bin
13+
14+
15+
E3_MODULES_INSTALL_LOCATION_INC_LINK:=$(E3_SITELIBS_PATH)/$(E3_MODULE_NAME)_$(E3_MODULE_VERSION)_include
16+
E3_MODULES_INSTALL_LOCATION_DB_LINK :=$(E3_SITELIBS_PATH)/$(E3_MODULE_NAME)_$(E3_MODULE_VERSION)_db
17+
E3_MODULES_INSTALL_LOCATION_BIN_LINK:=$(E3_SITELIBS_PATH)/$(E3_MODULE_NAME)_$(E3_MODULE_VERSION)_bin
18+
19+
20+
E3_MODULES_INSTALL_LOCATION_DBD:=$(E3_MODULES_INSTALL_LOCATION)/dbd/$(E3_MODULE_NAME).dbd
21+
E3_MODULES_INSTALL_LOCATION_DBD_LINK:=$(E3_SITELIBS_PATH)/$(E3_MODULE_NAME).dbd.$(E3_MODULE_VERSION)
22+
23+
24+
25+
# It is a bit weird, it would be better to implement within driver.makefile later
26+
# Assumption : we are using the same lib name from driver.makefile
27+
E3_MODULES_LIBNAME:=lib$(E3_MODULE_NAME).so
28+
29+
INSTALLED_EPICS_BASE_ARCHS_PATHS=$(sort $(dir $(wildcard $(EPICS_BASE)/bin/*/)))
30+
TEMP_INSTALLED_EPICS_BASE_ARCHS=$(INSTALLED_EPICS_BASE_ARCHS_PATHS:$(EPICS_BASE)/bin/%=%)
31+
INSTALLED_EPICS_BASE_ARCHS=$(TEMP_INSTALLED_EPICS_BASE_ARCHS:/=)
32+
33+
34+
35+
### Exclude the following variables to display
36+
VARS_EXCLUDES+=TEMP_INSTALLED_EPICS_BASE_ARCHS
37+
VARS_EXCLUDES+=INSTALLED_EPICS_BASE_ARCHS_PATHS
38+

0 commit comments

Comments
 (0)