diff --git a/.gitmodules b/.gitmodules index 106ef3c8c5cdb5296751fe7f91fd08a4bc691a27..e3ae9eae67e9aa60e65d448cc11bc6b9503ebc3a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,7 +1,3 @@ -[submodule "e3-env"] - path = e3-env - url = https://github.com/icshwi/e3-env - ignore = dirty [submodule "require"] path = require url = https://github.com/paulscherrerinstitute/require diff --git a/Makefile b/Makefile index 62ec722a47c3374ad26c4834a70ae7ac21b74d20..7f78a8d2e7ade68ab71b41783efb4c559fbaef0f 100644 --- a/Makefile +++ b/Makefile @@ -22,30 +22,7 @@ TOP:=$(CURDIR) --include $(TOP)/e3-env/E3_ENV_CONF - -ifneq (,$(findstring dev,$(MAKECMDGOALS))) -include $(TOP)/configure/CONFIG_DEV -else include $(TOP)/configure/CONFIG -endif - - -include $(TOP)/configure/MK_DEFINES - -include $(TOP)/configure/BUILD_REQUIRE - -include $(TOP)/configure/BUILD_E3 - -include $(TOP)/configure/BUILD_DB - -# Build Rule for Community EPICS Building -include $(TOP)/configure/BUILD_EPICS - -# Build Rule for Development Mode -ifneq (,$(findstring dev,$(MAKECMDGOALS))) -include $(TOP)/configure/BUILD_DEV -endif - +include $(TOP)/configure/RULES diff --git a/configure/CONFIG b/configure/CONFIG deleted file mode 120000 index dad4f848c59ff3b8570947ec7b584cc3cf4efe17..0000000000000000000000000000000000000000 --- a/configure/CONFIG +++ /dev/null @@ -1 +0,0 @@ -CONFIG_ESS \ No newline at end of file diff --git a/configure/CONFIG b/configure/CONFIG new file mode 100644 index 0000000000000000000000000000000000000000..7156ced12982f97d239b5feb839ba9e7792fb2d1 --- /dev/null +++ b/configure/CONFIG @@ -0,0 +1,24 @@ + +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 + + +include $(TOP)/configure/CONFIG_REQUIRE +include $(TOP)/configure/CONFIG_EPICS + +ifneq (,$(findstring dev,$(MAKECMDGOALS))) +include $(TOP)/configure/CONFIG_MODULE_DEV +else +include $(TOP)/configure/CONFIG_MODULE +endif + + +include $(TOP)/configure/CONFIG_E3_MAKEFILE diff --git a/configure/CONFIG_E3_MAKEFILE b/configure/CONFIG_E3_MAKEFILE new file mode 100644 index 0000000000000000000000000000000000000000..517b603b3464188cede0d37179a57e05e10d041c --- /dev/null +++ b/configure/CONFIG_E3_MAKEFILE @@ -0,0 +1,25 @@ + +# Pass necessary driver.makefile variables through makefile options +# + +# E3_EPICS_VERSION_TEMP:=$(notdir $(EPICS_BASE)) + +# E3_EPICS_VERSION:=$(E3_EPICS_VERSION_TEMP:base-%=%) + + +E3_MODULES_PATH:=$(E3_REQUIRE_LOCATION)/siteMods + +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_REQUIRE_MAKEFILE_INPUT_OPTIONS += MODULE_LOCATION="$(E3_REQUIRE_LOCATION)" + + +## the following variables to display + +# VARS_EXCLUDES+=E3_EPICS_VERSION_TEMP + diff --git a/configure/CONFIG_EPICS b/configure/CONFIG_EPICS new file mode 100644 index 0000000000000000000000000000000000000000..c799aa63a8374088080a93181faaf6f631774b90 --- /dev/null +++ b/configure/CONFIG_EPICS @@ -0,0 +1,57 @@ +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 + + +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 + + + +### 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 diff --git a/configure/CONFIG_MODULE b/configure/CONFIG_MODULE new file mode 100644 index 0000000000000000000000000000000000000000..5bfd5eaeabf12e0428c118b8ebefe20718e80ada --- /dev/null +++ b/configure/CONFIG_MODULE @@ -0,0 +1,10 @@ + +EPICS_MODULE_NAME:=iocStats +EPICS_MODULE_TAG:=1856ef5 + + +E3_MODULE_SRC_PATH:=$(EPICS_MODULE_NAME) +E3_MODULE_MAKEFILE:=$(EPICS_MODULE_NAME).Makefile + +E3_MODULE_NAME:=$(EPICS_MODULE_NAME) +E3_MODULE_VERSION:=1856ef5 diff --git a/configure/CONFIG_MODULE_DEV b/configure/CONFIG_MODULE_DEV new file mode 100644 index 0000000000000000000000000000000000000000..fcac2dba042fb2d1ad9c2d229f28f52dc16bbc46 --- /dev/null +++ b/configure/CONFIG_MODULE_DEV @@ -0,0 +1,15 @@ +EPICS_MODULE_NAME:=iocStats +EPICS_MODULE_TAG:=master + + +E3_MODULE_SRC_PATH:=$(EPICS_MODULE_NAME)-dev +E3_MODULE_MAKEFILE:=$(EPICS_MODULE_NAME).Makefile + + +E3_MODULE_NAME:=$(EPICS_MODULE_NAME) +E3_MODULE_VERSION:=develop + +#export DEV_GIT_URL:="https://where your git repo" +E3_MODULE_DEV_GITURL:="https://github.com/epics-modules/iocStats" + + diff --git a/configure/CONFIG_REQUIRE b/configure/CONFIG_REQUIRE new file mode 100644 index 0000000000000000000000000000000000000000..6b0c0baedb4621c554d62ceba702fa2fca4e249d --- /dev/null +++ b/configure/CONFIG_REQUIRE @@ -0,0 +1,13 @@ + +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 + + +export E3_REQUIRE_TOOLS + diff --git a/configure/DEFINES_FT b/configure/DEFINES_FT new file mode 100644 index 0000000000000000000000000000000000000000..7422071ee32fe38509eb7d5b3f5f935b37d1a607 --- /dev/null +++ b/configure/DEFINES_FT @@ -0,0 +1,24 @@ +# Keep always the module up-to-date +define git_update = +@git submodule deinit -f $@/ +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 diff --git a/configure/RELEASE b/configure/RELEASE new file mode 100644 index 0000000000000000000000000000000000000000..3257c8d460a2ee843b37f29f2cf067ee7e014f9e --- /dev/null +++ b/configure/RELEASE @@ -0,0 +1,8 @@ +EPICS_BASE=/testing/epics/base-3.15.5 + + +E3_REQUIRE_NAME:=require +E3_REQUIRE_VERSION:=0.0.1 + + + diff --git a/configure/RELEASE_DEV b/configure/RELEASE_DEV new file mode 100644 index 0000000000000000000000000000000000000000..f960c8460e4c2d2fcb709594c3a1ea7f7f519663 --- /dev/null +++ b/configure/RELEASE_DEV @@ -0,0 +1,9 @@ + + +EPICS_BASE=/testing/epics/base-3.15.5 + + +E3_REQUIRE_NAME:=require +E3_REQUIRE_VERSION:=0.0.1 + + diff --git a/configure/RULES b/configure/RULES new file mode 100644 index 0000000000000000000000000000000000000000..8b647f943afe814c50309cbc4895fa6d8f02eae2 --- /dev/null +++ b/configure/RULES @@ -0,0 +1,13 @@ +#CONFIG +# include $(EPICS_BASE)/configure/RULES + +include $(TOP)/configure/DEFINES_FT +include $(TOP)/configure/RULES_E3 +include $(TOP)/configure/RULES_EPICS +include $(TOP)/configure/RULES_DB +include $(TOP)/configure/RULES_VARS + + +ifneq (,$(findstring dev,$(MAKECMDGOALS))) +include $(TOP)/configure/RULES_DEV +endif diff --git a/configure/RULES_DB b/configure/RULES_DB new file mode 100644 index 0000000000000000000000000000000000000000..e56da3edf87cbd6355dfc4544e439ff6180f98b7 --- /dev/null +++ b/configure/RULES_DB @@ -0,0 +1,23 @@ + + +## This RULE should be used in case of inflating DB files +## + +# .PHONY: db + +### We have to think how to find $(EPICS_BASE) and +### $(EPICS_HOST_ARCH) during driver.makefile +### Friday, November 3 16:44:55 CET 2017, jhlee +### Currently feasible solutoin without touching driver.makefile +### is the following: +### +### 0) source setE3Env.bash 3.15.4 +### 1) make db +### 2) make install +### 3) source setE3Env.bash 3.15.5 +### 4) make db +### 5) make install +### ..... + +#db: conf +# $(QUIET) make $(M_OPTIONS) db diff --git a/configure/RULES_DEV b/configure/RULES_DEV new file mode 100644 index 0000000000000000000000000000000000000000..5bba7a078fd31291dfd3087e4888b699d24a5391 --- /dev/null +++ b/configure/RULES_DEV @@ -0,0 +1,18 @@ +.PHONY: devvars devenv devinit devbuild devclean 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) + + +devbuild: build +devclean: clean +devrebuild: rebuild +devuninstall: uninstall +devdistclean: clean + $(QUIET)echo "Removing $(E3_MODULE_SRC_PATH) ......... " + rm -rf $(E3_MODULE_SRC_PATH) diff --git a/configure/RULES_E3 b/configure/RULES_E3 new file mode 100644 index 0000000000000000000000000000000000000000..d458a0e438f69ece979d561e6d124b694b71ead6 --- /dev/null +++ b/configure/RULES_E3 @@ -0,0 +1,82 @@ +.PHONY: help default install uninstall build rebuild clean conf + + +# # 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 : $(E3_MODULE_NAME) +install: uninstall + $(QUIET) sudo -E bash -c 'make $(E3_REQUIRE_MAKEFILE_INPUT_OPTIONS) install' + +## Uninstall : $(E3_MODULE_NAME) +uninstall: conf + $(QUIET) sudo -E bash -c 'make $(E3_REQUIRE_MAKEFILE_INPUT_OPTIONS) uninstall' + + + +## Build the EPICS Module : $(E3_MODULE_NAME) +# Build always the Module with the EPICS_MODULES_TAG +build: conf checkout + $(QUIET) make $(E3_REQUIRE_MAKEFILE_INPUT_OPTIONS) build + + +## Clean, build, and install the EPICS Module : $(E3_MODULE_NAME) +rebuild: clean build install + + +## Clean : $(E3_MODULE_NAME) +clean: conf + $(QUIET) make $(E3_REQUIRE_MAKEFILE_INPUT_OPTIONS) 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) + +git-submodule-sync: + $(QUIET) git submodule sync + + +$(E3_MODULE_SRC_PATH): + $(QUIET) $(git_update) + cd $@ && git checkout $(EPICS_MODULE_TAG) + + +checkout: + cd $(E3_MODULE_SRC_PATH) && git checkout $(EPICS_MODULE_TAG) + + + + + + +# .PHONY: help2 + +# ## Show driver.makefile help +# help2: +# $(QUIET) make $(E3_REQUIRE_MAKEFILE_INPUT_OPTIONS) help diff --git a/configure/RULES_EPICS b/configure/RULES_EPICS new file mode 100644 index 0000000000000000000000000000000000000000..bf947c981a50a43575f1db39fd41354c7886b3b2 --- /dev/null +++ b/configure/RULES_EPICS @@ -0,0 +1,13 @@ +# 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)/$(EPICS_MODULE_SRC_PATH)/configure/RELEASE +# $(QUIET)echo "INSTALL_LOCATION=$(M_IOCSTATS)" > $(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" + diff --git a/configure/RULES_VARS b/configure/RULES_VARS new file mode 100644 index 0000000000000000000000000000000000000000..f9c9c4719501c200b8fbeaf158a076f25b2300fd --- /dev/null +++ b/configure/RULES_VARS @@ -0,0 +1,16 @@ + +E3_MODULES_VARIABLES:=$(sort $(filter-out $(VARS_EXCLUDES) VARS_EXCLUDES,$(.VARIABLES))) + +.PHONY : vars env header + + +vars: header + $(foreach v, $(E3_MODULES_VARIABLES), $(info $(v) = $($(v)))) @#noop + +env: vars + +header: + @echo "" + @echo "-------------------------------------------------" + @echo " Current EPICS and E3 Envrionment Variables " + @echo "-------------------------------------------------" diff --git a/configure/BUILD_DB b/configure/old_config/BUILD_DB similarity index 100% rename from configure/BUILD_DB rename to configure/old_config/BUILD_DB diff --git a/configure/BUILD_DEV b/configure/old_config/BUILD_DEV similarity index 100% rename from configure/BUILD_DEV rename to configure/old_config/BUILD_DEV diff --git a/configure/BUILD_E3 b/configure/old_config/BUILD_E3 similarity index 100% rename from configure/BUILD_E3 rename to configure/old_config/BUILD_E3 diff --git a/configure/BUILD_EPICS b/configure/old_config/BUILD_EPICS similarity index 100% rename from configure/BUILD_EPICS rename to configure/old_config/BUILD_EPICS diff --git a/configure/BUILD_REQUIRE b/configure/old_config/BUILD_REQUIRE similarity index 100% rename from configure/BUILD_REQUIRE rename to configure/old_config/BUILD_REQUIRE diff --git a/configure/CONFIG_DEV b/configure/old_config/CONFIG_DEV similarity index 100% rename from configure/CONFIG_DEV rename to configure/old_config/CONFIG_DEV diff --git a/configure/CONFIG_ESS b/configure/old_config/CONFIG_ESS similarity index 100% rename from configure/CONFIG_ESS rename to configure/old_config/CONFIG_ESS diff --git a/configure/CONFIG_PSI b/configure/old_config/CONFIG_PSI similarity index 100% rename from configure/CONFIG_PSI rename to configure/old_config/CONFIG_PSI diff --git a/configure/MK_DEFINES b/configure/old_config/MK_DEFINES similarity index 100% rename from configure/MK_DEFINES rename to configure/old_config/MK_DEFINES diff --git a/configure/driver_makefile_conf.m4 b/configure/old_config/driver_makefile_conf.m4 similarity index 100% rename from configure/driver_makefile_conf.m4 rename to configure/old_config/driver_makefile_conf.m4 diff --git a/e3-env b/e3-env deleted file mode 160000 index 2f8e5e989ae17eb2241ad693ebfdbb9ceac5df51..0000000000000000000000000000000000000000 --- a/e3-env +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 2f8e5e989ae17eb2241ad693ebfdbb9ceac5df51 diff --git a/removing_e3-env.log b/removing_e3-env.log new file mode 100644 index 0000000000000000000000000000000000000000..03de366cf553095db7a9f286a70ff32cb5127e7c --- /dev/null +++ b/removing_e3-env.log @@ -0,0 +1,6 @@ +How to remove e3-env + + +git submodule deinit -f -- e3-env +rm -rf .git/modules/e3-env +git rm -f e3-env