From 7863be8ee2f6c8c82ce63089a1bfa15813a3797a Mon Sep 17 00:00:00 2001
From: Simon Rose <simon.rose@ess.eu>
Date: Wed, 13 Jan 2021 12:27:19 +0100
Subject: [PATCH] Updated so that it builds with merged submodule

---
 .gitignore                 |  1 +
 configure/CONFIG_MODULE    |  6 +++---
 configure/E3/RULES_E3      |  2 +-
 configure/E3/RULES_REQUIRE |  6 +++---
 require.Makefile           | 29 +++++++++++++++++------------
 5 files changed, 25 insertions(+), 19 deletions(-)

diff --git a/.gitignore b/.gitignore
index 7b8d3af7..990fb908 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,3 +16,4 @@ core.*
 e3.cfg
 tools/ess-env.conf
 .vscode
+require-ess/require.Makefile
diff --git a/configure/CONFIG_MODULE b/configure/CONFIG_MODULE
index 509b81b6..cc63302c 100644
--- a/configure/CONFIG_MODULE
+++ b/configure/CONFIG_MODULE
@@ -3,15 +3,15 @@
 # However, it also could be overrided in CONFIG_MODULE.local.
 # Be careful to touch this file
 #
-EPICS_MODULE_TAG:=tags/3.3.0
+#EPICS_MODULE_TAG:=tags/3.3.0
 #
 EPICS_MODULE_NAME:=${E3_REQUIRE_NAME}
 #
-E3_MODULE_SRC_PATH:=$(EPICS_MODULE_NAME)
+E3_MODULE_SRC_PATH:=$(EPICS_MODULE_NAME)-ess
 E3_MODULE_MAKEFILE:=$(EPICS_MODULE_NAME).Makefile
 #
 E3_MODULE_NAME:=$(EPICS_MODULE_NAME)
-E3_MODULE_VERSION:=3.3.0
+E3_MODULE_VERSION:=3.4.0
 #
 #
 #
diff --git a/configure/E3/RULES_E3 b/configure/E3/RULES_E3
index f8c69ca3..7120fce8 100644
--- a/configure/E3/RULES_E3
+++ b/configure/E3/RULES_E3
@@ -85,7 +85,7 @@ $(E3_MODULE_SRC_PATH):
 
 
 checkout: 
-	cd $(E3_MODULE_SRC_PATH) && git checkout $(EPICS_MODULE_TAG)
+	# cd $(E3_MODULE_SRC_PATH) && git checkout $(EPICS_MODULE_TAG)
 
 
 
diff --git a/configure/E3/RULES_REQUIRE b/configure/E3/RULES_REQUIRE
index 6d720d7d..f7244b85 100644
--- a/configure/E3/RULES_REQUIRE
+++ b/configure/E3/RULES_REQUIRE
@@ -18,15 +18,15 @@ E3_IOC_CFG_FILES  := $(E3_MODULE_SRC_PATH)/tools/iocsh_functions
 E3_IOC_CFG_FILES  += $(E3_ESSENVCFG_FILE)
 #E3_IOC_CFG_FILES  += $(E3_CONFIG_FILE)
 E3_IOC_CFG_FILES  += $(E3_MODULE_SRC_PATH)/tools/setE3Env.bash
-#E3_IOC_CFG_FILES  += $(E3_MODULE_SRC_PATH)/tools/promptE3Env.bash
+E3_IOC_CFG_FILES  += $(E3_MODULE_SRC_PATH)/tools/promptE3Env.bash
 E3_REQUIRE_CONF_FILES := $(filter-out $(FILE_FILTER), $(wildcard $(TOP)/configure/modules/*))
 
 
 .PHONY: e3-site-conf  e3-site-path requireconf
 
 requireconf: e3-site-path e3-site-conf e3-require-path
-	$(QUIET) install    -m 755 $(wildcard $(E3_MODULE_SRC_PATH)/App/tools/*.tcl)  $(E3_REQUIRE_TOOLS)/
-	$(QUIET) install    -m 644 $(E3_MODULE_SRC_PATH)/App/tools/driver.makefile    $(E3_REQUIRE_TOOLS)/
+	$(QUIET) install    -m 755 $(wildcard $(E3_MODULE_SRC_PATH)/tools/*.tcl)  $(E3_REQUIRE_TOOLS)/
+	$(QUIET) install    -m 644 $(E3_MODULE_SRC_PATH)/tools/driver.makefile    $(E3_REQUIRE_TOOLS)/
 	$(QUIET) install    -m 755 $(E3_SHELL_FILES)             $(E3_REQUIRE_BIN)/
 	$(QUIET) install    -m 644 $(E3_IOC_CFG_FILES)           $(E3_REQUIRE_BIN)/
 	$(QUIET) install    -m 644 $(E3_REQUIRE_CONF_FILES)      $(E3_REQUIRE_CONFIG)/
diff --git a/require.Makefile b/require.Makefile
index cf367844..251a70cf 100644
--- a/require.Makefile
+++ b/require.Makefile
@@ -31,21 +31,25 @@ where_am_I := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
 
 # It is easy to maintain RULES_E3 if we use the "repository" makefile
 # instead of the installed makefile.
-include $(where_am_I)/App/tools/driver.makefile
+include $(where_am_I)/tools/driver.makefile
 
 
 BUILDCLASSES += Linux
 
-SOURCES += require.c
-DBDS    += require.dbd
-SOURCES += runScript.c
-DBDS    += runScript.dbd
-SOURCES += expr.c
+APP := .
+APPSRC := $(APP)/src
+APPDB := $(APP)/Db
+
+SOURCES += $(APPSRC)/require.c
+DBDS    += $(APPSRC)/require.dbd
+SOURCES += $(APPSRC)/runScript.c
+DBDS    += $(APPSRC)/runScript.dbd
+SOURCES += $(APPSRC)/expr.c
 
 
 ##
-SOURCES += dbLoadTemplate.y
-DBDS    += dbLoadTemplate.dbd
+SOURCES += $(APPSRC)/dbLoadTemplate.y
+DBDS    += $(APPSRC)/dbLoadTemplate.dbd
 
 # ESS doesn't have any T2_ppc604 and vxWorks target
 # Friday, May 11 22:05:07 CEST 2018, jhlee
@@ -56,7 +60,7 @@ DBDS    += dbLoadTemplate.dbd
 #HEADERS += strdup.h
 #HEADERS += asprintf.h
 
-HEADERS += require.h
+HEADERS += $(APPSRC)/require.h
 
 #HEADERS += require_env.h
 
@@ -74,10 +78,11 @@ USR_INCLUDES_Linux=-idirafter $(EPICS_BASE)/include
 # USR_CFLAGS_WIN32 += /D_WIN32_WINNT=0x501
 
 
-TEMPLATES += moduleversion.template
+TEMPLATES += $(APPDB)/moduleversion.template
 #TEMPLATES += moduleversion.db
 
-dbLoadTemplate.c: dbLoadTemplate_lex.c ../dbLoadTemplate.h
+vpath dbLoadTemplate_lex.l ../$(APPSRC)
+dbLoadTemplate.c: dbLoadTemplate_lex.c ../$(APPSRC)/dbLoadTemplate.h
 
 ## moduleversion should convert to db instead of template
 ## So, ESS uses it internally independent upon any IOC
@@ -91,7 +96,7 @@ USR_DBFLAGS += -I . -I ..
 USR_DBFLAGS += -I$(EPICS_BASE)/db
 
 
-TEMS = $(wildcard *.template)
+TEMS = $(wildcard $(APPDB)/*.template)
 
 
 db: $(TEMS)
-- 
GitLab