diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 397aa14418101e04e2e3dc245143c8a8888f352a..0000000000000000000000000000000000000000
--- a/.gitignore
+++ /dev/null
@@ -1,17 +0,0 @@
-O.*
-require.Makefile
-core.*
-*~
-test/*
-E3Test*
-*~
-*-dev
-modules.order
-Module.symvers
-Mkfile.old
-dkms.conf
-#*
-.#*
-\#*
-.cvsignore
-.vscode
\ No newline at end of file
diff --git a/App/startup/network.fin b/App/startup/network.fin
deleted file mode 100644
index 10c4261c4a5bd00bcb3f3132bba4aa93f94a4580..0000000000000000000000000000000000000000
--- a/App/startup/network.fin
+++ /dev/null
@@ -1,9 +0,0 @@
-# setup mount points
-hostAdd ("fileserver","129.129.145.56")
-nfsMount ("fileserver", "/export/fin/ioc", "/ioc")
-nfsMount ("fileserver", "/export/fin/work", "/fin/work")
-nfsMount ("fileserver", "/export/fin/prod", "/fin/prod")
-nfsMount ("fileserver", "/export/fin/devl", "/fin/devl")
-nfsMount (&sysBootHost, "/home/ioc", "/home/ioc")
-putenv("EPICS_CA_AUTO_ADDR_LIST=NO")
-putenv("EPICS_CA_ADDR_LIST=172.21.10.255 172.21.11.255 172.21.12.255 172.21.13.255")
diff --git a/App/startup/network.hipa b/App/startup/network.hipa
deleted file mode 100644
index 4633b3e29ddabb7d91ed108bab7d947060a61a72..0000000000000000000000000000000000000000
--- a/App/startup/network.hipa
+++ /dev/null
@@ -1,7 +0,0 @@
-# setup mount points
-hostAdd ("fileserver","129.129.145.42")
-nfsMount ("fileserver","/export/hipa/work","/hipa/work")
-nfsMount ("fileserver","/export/hipa/prod","/hipa/prod")
-nfsMount ("fileserver","/export/hipa/ioc","/ioc")
-nfsMount (&sysBootHost, "/home/ioc", "/home/ioc")
-nfsAuthUnixSet &sysBootHost,500,9102
diff --git a/App/startup/network.proscan b/App/startup/network.proscan
deleted file mode 100644
index 54f745a7cde0dbd8bd2b608bf752d7206b557aef..0000000000000000000000000000000000000000
--- a/App/startup/network.proscan
+++ /dev/null
@@ -1,6 +0,0 @@
-# setup mount points
-hostAdd ("fileserver","129.129.145.66")
-nfsMount ("fileserver","/export/proscan/ioc","/ioc")
-nfsMount ("fileserver","/export/proscan/work","/proscan/work")
-nfsMount ("fileserver","/export/proscan/prod","/proscan/prod")
-nfsMount (&sysBootHost, "/home/ioc", "/home/ioc")
diff --git a/App/startup/network.sls b/App/startup/network.sls
deleted file mode 100644
index 547b1b36930600d0d7c36af8ceae9d6f128299d6..0000000000000000000000000000000000000000
--- a/App/startup/network.sls
+++ /dev/null
@@ -1,22 +0,0 @@
-# Accept SLSBASE or INSTBASE
-PBASE=0
-symFindByName(sysSymTbl,"INSTBASE",&PBASE,0)
-symFindByName(sysSymTbl,"SLSBASE",&PBASE,0)
-SLSBASE=*PBASE
-INSTBASE=*PBASE
-
-# Router for SLS machine net (fails otherwise but that's ok)
-routeAdd ("0.0.0.0","172.20.10.1")
-
-# setup mount points (try both possible locations for /ioc)
-hostAdd ("slsfs","129.129.145.52")
-nfsMount (&sysBootHost, "/home/ioc", "/home/ioc")
-nfsMount (&sysBootHost, "/ioc", "/ioc")
-nfsMount ("slsfs", "/export/csa/releases/ioc", "/ioc")
-nfsMount ("slsfs","/export/csa/releases/work","/work")
-nfsMount ("slsfs","/export/csa/releases/prod","/prod")
-nfsMount ("slsfs","/export/csa/releases/devl","/devl")
-nfsMount ("slsfs","/export/exchange","/exchange")
-
-# overwrite driver module location
-EPICS_MODULES = "/work/iocBoot/modules"
diff --git a/App/startup/network.trfcb b/App/startup/network.trfcb
deleted file mode 100644
index 597f23b5cdbf67c032ce03b13e2ecd97bed4397f..0000000000000000000000000000000000000000
--- a/App/startup/network.trfcb
+++ /dev/null
@@ -1,5 +0,0 @@
-# setup mount points
-hostAdd ("fileserver","129.129.145.56")
-nfsMount ("fileserver", "/export/trfcb/ioc", "/ioc")
-nfsMount ("fileserver", "/export/trfcb/work", "/trfcb/work")
-nfsMount (&sysBootHost, "/home/ioc", "/home/ioc")
diff --git a/App/startup/saveRestore.script_common b/App/startup/saveRestore.script_common
deleted file mode 100644
index 0eb23d24e779c5686841ea77d3f1c5104804cc2c..0000000000000000000000000000000000000000
--- a/App/startup/saveRestore.script_common
+++ /dev/null
@@ -1 +0,0 @@
-require "autoSRarray",getenv("autoSRarray_VERSION")
diff --git a/App/startup/saveRestore.script_linux b/App/startup/saveRestore.script_linux
deleted file mode 100644
index a41b4b8f1a9977b72ab8c9e33e3ca4244ff89f0d..0000000000000000000000000000000000000000
--- a/App/startup/saveRestore.script_linux
+++ /dev/null
@@ -1 +0,0 @@
-require "autoSRarray" "$(autoSRarray_VERSION=)"
diff --git a/App/startup/startup.script_common b/App/startup/startup.script_common
deleted file mode 100644
index 94f0faa414f067a1d513de22324d7227f95253aa..0000000000000000000000000000000000000000
--- a/App/startup/startup.script_common
+++ /dev/null
@@ -1,121 +0,0 @@
-# $Source: /cvs/A/CS/startup/startup.script_common,v $
-# This is the common part of all startup scripts
-# It is included by all generated scripts
-
-# The following variables should be set before:
-# * INSTBASE where to boot from
-# * EPICS    the epics release (e.g "R3.13.9")
-
-EPICS_MODULES = "/ioc/modules"
-
-# find a better way later to know current require version
-REQUIRE_VERSION="2.4.3"
-
-#set EPICS_HOST_ARCH according to vxWorks version and cpu type
-VX6=(*runtimeVersion>>24)&255-'5'
-VMI=(*runtimeVersion>>8)&255
-EPICS_HOST_ARCH=malloc(16)
-sprintf(EPICS_HOST_ARCH,"%s%c-ppc60%d",VX6?"V6":"T",VX6?VMI:VMI>'3'?'2':'1',sysCpu-90)
-
-#set target name as IOC name
-IOC=&sysBootParams+60
-
-BOOTPC=&sysBootHost
-
-STRINGBUFFER=malloc(256)
-
-# set the prompt
-sprintf STRINGBUFFER, "%s (startup.script aborted) > ", IOC
-shellPromptSet STRINGBUFFER
-
-# time server
-putenv "EPICS_TS_NTP_INET=129.129.190.1"
-
-# do the NFS mounts and other network dependend stuff
-< ../../startup/network
-
-sprintf STRINGBUFFER, "IOC=%s", IOC
-putenv STRINGBUFFER
-
-# setup logging on boot PC
-sprintf STRINGBUFFER, "EPICS_IOC_LOG_INET=%s", BOOTPC
-putenv STRINGBUFFER
-putenv "EPICS_IOC_LOG_PORT=6500"
-
-# create some path variables
-HOME=malloc(80)
-sprintf HOME, "/ioc/%s", IOC
-sprintf STRINGBUFFER, "HOME=%s", HOME
-putenv STRINGBUFFER
-cd HOME
-
-CFG=malloc(80)
-sprintf CFG, "%s/cfg", HOME
-sprintf STRINGBUFFER, "CFG=%s", CFG
-putenv STRINGBUFFER
-
-STREAM_PROTOCOL_DIR=malloc(80)
-sprintf STREAM_PROTOCOL_DIR, "%s/cfg", HOME
-
-LIB=malloc(80)
-sprintf LIB, "%s/iocBoot/%s/%s", INSTBASE, EPICS, EPICS_HOST_ARCH
-
-DBD=malloc(80)
-sprintf DBD, "dbd:%s/iocBoot/%s/dbd", INSTBASE, EPICS
-
-sprintf STRINGBUFFER, "EPICS_DRIVER_PATH=.:bin/%s_%s:bin:snl:%s:%s", EPICS, EPICS_HOST_ARCH, EPICS_MODULES, LIB
-putenv STRINGBUFFER
-
-TEMPLATES=malloc(80)
-sprintf TEMPLATES, ".:%s/iocBoot/templates", INSTBASE
-
-# Release memory above 32 MB
-# Code loaded after this must be compiled with -mlongcall
-# at the moment snp24 does not work with this
-memAddToPool (sysMemTop(),sysPhysMemTop()-sysMemTop())
-EXTENDED_MEMORY=0
-#EXTENDED_MEMORY=sysPhysMemTop()-sysMemTop()
-
-# load EPICS system core (different names for 3.13 and 3.14)
-sprintf STRINGBUFFER, "%s/iocCore%s", LIB, strncmp(EPICS,"R3.13.",6) ? "Library.munch" : ""
-ld 0, 0, STRINGBUFFER
-
-# TIMEZONE must be set after loading iocCoreLibrary.munch and before iocInit
-# 2016: 
-putenv "TIMEZONE=MET::-60:032702:103003"
-putenv "EPICS_TS_MIN_WEST=-60"
-
-# try for user-defined menus scan and convert
-dbLoadDatabase "dbd/scan.dbd"
-dbLoadDatabase "dbd/convert.dbd"
-dbLoadDatabase "dbd/slsConvert.dbd"
-taskDelay sysClkRateGet()
-
-# load "require"
-sprintf STRINGBUFFER, "require_VERSION=%s", getenv("require_VERSION") ? getenv("require_VERSION") : REQUIRE_VERSION
-putenv STRINGBUFFER
-sprintf STRINGBUFFER, "require_DIR=%s/require/%s/%s/", EPICS_MODULES, getenv("require_VERSION"), EPICS
-putenv STRINGBUFFER
-sprintf STRINGBUFFER, "%s/lib/%s/requireLib.munch", getenv("require_DIR"), EPICS_HOST_ARCH
-ld 0, 0, STRINGBUFFER
-
-#load standard drivers (allow user to specify version in environment variable)
-require "base", getenv("base_VERSION")
-registerModule "require", getenv("require_VERSION"), getenv("require_DIR")
-require "utilities", getenv("utilities_VERSION")
-require "misc", getenv("misc_VERSION")
-require "iocmon", getenv("iocmon_VERSION")
-require "genTime", getenv("genTime_VERSION") ? getenv("genTime_VERSION") : "ifexists"
-require "seq", getenv("seq_VERSION") ? getenv("seq_VERSION") : "ifexists"
-
-# run EPICS only on 1st network port
-putenv "EPICS_CA_AUTO_ADDR_LIST=NO"
-putenv bootInfo("EPICS_CA_ADDR_LIST=%B")
-putenv bootInfo("EPICS_CAS_INTF_ADDR_LIST=%e")
-putenv "EPICS_CAS_AUTO_BEACON_ADDR_LIST=NO"
-putenv bootInfo("EPICS_CAS_BEACON_ADDR_LIST=%B")
-
-# insert boot infos into database
-bootNotify INSTBASE, "sls/bin/iocBootNotify.sh"
-
-# end of startup.script_common
diff --git a/App/startup/startup.script_iocmon b/App/startup/startup.script_iocmon
deleted file mode 100644
index 20a3f7c5db3dfe0a53f5b5772e07d6c2a6784ca3..0000000000000000000000000000000000000000
--- a/App/startup/startup.script_iocmon
+++ /dev/null
@@ -1 +0,0 @@
-# startup.script_iocmon is blank interntionally and only needed for backward compatibility with swit.
diff --git a/App/startup/startup.script_linux b/App/startup/startup.script_linux
deleted file mode 100644
index dc44e37cae57ff5c1d27babe57fd05ca9187da74..0000000000000000000000000000000000000000
--- a/App/startup/startup.script_linux
+++ /dev/null
@@ -1,38 +0,0 @@
-
-# set EPICS according to BASE or default to 3.14.12
-epicsEnvSet EPICS, R$(BASE=3.14.12)
-
-# set up CA search lists for different networks
-# Office (only officicial EPICS subnets, not SLS beamlines!)
-epicsEnvSet CA_129.129.130,"129.129.131.255 129.129.137.255"
-epicsEnvSet CA_129.129.131,"129.129.130.255 129.129.137.255"
-epicsEnvSet CA_129.129.137,"129.129.130.255 129.129.131.255"
-# WHLA (FIN machine networks)
-epicsEnvSet CA_172.21.10,"172.21.11.255 172.21.12.255 172.21.13.255"
-epicsEnvSet CA_172.21.11,"172.21.10.255 172.21.12.255 172.21.13.255"
-epicsEnvSet CA_172.21.12,"172.21.10.255 172.21.11.255 172.21.13.255"
-epicsEnvSet CA_172.21.13,"172.21.10.255 172.21.11.255 172.21.12.255"
-# OSFA (SF machine networks)
-epicsEnvSet CA_172.26,"sf-cans-01 sf-cans-02"
-epicsEnvSet CA_AUTO_172.26,"NO"
-epicsEnvSet CA_BEACON_172.26,"172.26.0.255 172.26.2.255 172.26.8.255 172.26.16.255 172.26.24.255 172.26.32.255 172.26.40.255 172.26.120.255"
-epicsEnvSet CA_AUTO_BEACON_172.26,"NO"
-# All others can work with the defaults: automatic
-# Apply settings dependent on network
-system ("/sbin/ifconfig  | awk -F '[.: ]+' -v P='epicsEnvSet NET' -v K=, '/192.168/ {next} /Bcast/ {print P 1 K $9; print P 2 K $10; print P 3 K $11; exit}'>/tmp/$(IOC).net")
-< /tmp/$(IOC).net
-system ("rm /tmp/$(IOC).net")
-epicsEnvSet EPICS_CA_ADDR_LIST,"$(CA_$(NET1=).$(NET2=).$(NET3=)=$(CA_$(NET1=).$(NET2=)=))"
-epicsEnvSet EPICS_CA_AUTO_ADDR_LIST,"$(CA_AUTO_$(NET1=).$(NET2=).$(NET3=)=$(CA_AUTO_$(NET1=).$(NET2=)=YES))"
-epicsEnvSet EPICS_CAS_BEACON_ADDR_LIST,"$(CA_BEACON_$(NET1=).$(NET2=).$(NET3=)=$(CA_BEACON_$(NET1=).$(NET2=)=$(EPICS_CA_ADDR_LIST)))"
-epicsEnvSet EPICS_CAS_BEACON_AUTO_ADDR_LIST,"$(CA_AUTO_BEACON_$(NET1=).$(NET2=).$(NET3=)=$(CA_AUTO_BEACON_$(NET1=).$(NET2=)=YES))"
-
-epicsEnvSet TEMPLATES, $(INSTBASE)/iocBoot/templates
-epicsEnvSet CFG, $(PWD)/cfg
-epicsEnvSet STREAM_PROTOCOL_PATH, .:$(PWD)/cfg
-
-# disable sysmon for IFC
-epicsEnvSet sysmon_VERSION_eldk52-e500v2 none
-require sysmon $(sysmon_VERSION=$(sysmon_VERSION_$(T_A=)=))
-
-! iocBootNotify.sh $(IOC) - \"\${SHELLBOX#*:}\" - $(_) $(PWD)/startup.script - $(EPICS) -
diff --git a/App/startup/startup.script_part2 b/App/startup/startup.script_part2
deleted file mode 100644
index cb5cbc016de4da123789ecd5a4d41ecf285e4f4a..0000000000000000000000000000000000000000
--- a/App/startup/startup.script_part2
+++ /dev/null
@@ -1,9 +0,0 @@
-# $Source: /cvs/A/CS/startup/startup.script_part2,v $
-# 2nd part of common startup
-
-#Enable memory >32MB on IOC that have it. (Is a NOOP on all others)
-memAddToPool sysMemTop(), EXTENDED_MEMORY
-
-iocInit
-
-# end of startup.script_part2
diff --git a/App/startup/startup.script_part3 b/App/startup/startup.script_part3
deleted file mode 100644
index ef2001b94a46b4124ecab00520655f2307e5a823..0000000000000000000000000000000000000000
--- a/App/startup/startup.script_part3
+++ /dev/null
@@ -1,16 +0,0 @@
-# $Source: /cvs/A/CS/startup/startup.script_part3,v $
-
-# insert record list into database
-sprintf STRINGBUFFER, "/home/ioc/%s.dbl", IOC
-listRecords STRINGBUFFER, "RTYP DESC"
-sprintf STRINGBUFFER, "%s/sls/bin/dbl2odb.sh", INSTBASE
-rsh BOOTPC, "dbl2odb.sh", IOC, bootInfo("%B"), getenv("EPICS_CA_SERVER_PORT")
-
-# insert library list into database
-sprintf STRINGBUFFER, "/home/ioc/%s.libs", IOC
-libversionShow STRINGBUFFER
-rsh BOOTPC, "upload_libinfo.sh", "-r -i", IOC, "-l", STRINGBUFFER
-
-# set the prompt
-sprintf STRINGBUFFER, "%s > ", IOC
-shellPromptSet STRINGBUFFER
diff --git a/App/startup/startup.script_win32 b/App/startup/startup.script_win32
deleted file mode 100644
index 3a55fa947d911ee2f3af18b85d4c3f737ee0a81e..0000000000000000000000000000000000000000
--- a/App/startup/startup.script_win32
+++ /dev/null
@@ -1,11 +0,0 @@
-# $Source: /cvs/A/CS/startup/startup.script_win32,v $
-epicsEnvSet EPICS, R3.14.8
-epicsEnvSet STREAM_PROTOCOL_PATH, %CD%/cfg
-epicsEnvSet EPICS_DRIVER_PATH, C:/epics/SOFTIOCWIN32/bin/win32-x86
-epicsEnvSet TEMPLATES, $(INSTBASE)/iocBoot/templates
-epicsEnvSet CFG, %CD%/cfg
-
-dbLoadDatabase "../../dbd/ioc.dbd"
-ioc_registerRecordDeviceDriver pdbbase
-
- 
diff --git a/App/startup/startup.script_win64 b/App/startup/startup.script_win64
deleted file mode 100644
index fee7e6f1db073447b5240a2a37e0aaf0639bcbca..0000000000000000000000000000000000000000
--- a/App/startup/startup.script_win64
+++ /dev/null
@@ -1,14 +0,0 @@
-# $Source: /cvs/A/CS/startup/startup.script_win64,v $
-dlload misc
-dbLoadDatabase "../../../dbd/misc.dbd"
-misc_registerRecordDeviceDriver pdbbase
-
-winunixconv EPICSBASE
-winunixconv SOFTIOC
-
-epicsEnvSet STREAM_PROTOCOL_PATH, $(SOFTIOC)/iocBoot/ioc/$(IOC)/cfg
-epicsEnvSet EPICS_DRIVER_PATH, $(SOFTIOC)/bin/$(T_A)
-epicsEnvSet TEMPLATES, $(SOFTIOC)db
-epicsEnvSet CFG, $(SOFTIOC)/iocBoot/ioc/$(IOC)/cfg
-pwd
-
diff --git a/GNUmakefile b/GNUmakefile
deleted file mode 100644
index 9ebfbefb73befcda15098594d82d498fb2d39c25..0000000000000000000000000000000000000000
--- a/GNUmakefile
+++ /dev/null
@@ -1,117 +0,0 @@
-#
-#  Copyright (c) 2004 - 2017     Paul Scherrer Institute 
-#  Copyright (c) 2017 - Present  European Spallation Source ERIC
-#
-#  The program is free software: you can redistribute
-#  it and/or modify it under the terms of the GNU General Public License
-#  as published by the Free Software Foundation, either version 2 of the
-#  License, or any newer version.
-#
-#  This program is distributed in the hope that it will be useful, but WITHOUT
-#  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-#  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
-#  more details.
-#
-#  You should have received a copy of the GNU General Public License along with
-#  this program. If not, see https://www.gnu.org/licenses/gpl-2.0.txt
-#
-#  PSI original author : Dirk Zimoch
-#  ESS specific author : Jeong Han Lee
-#               email  : han.lee@esss.se
-#
-# Date    : Wednesday, November 29 13:46:39 CET 2017
-# version : 0.0.1
-
-
-# This is the one time path in order to compile and install
-# require within EPICS Environment. After the installation
-# include $(E3_REQUIRE_TOOLS)/driver.makefile should be used
-#
-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
-
-
-BUILDCLASSES += Linux
-
-SOURCES += require.c
-DBDS    += require.dbd
-SOURCES += runScript.c
-DBDS    += runScript.dbd
-
-# PSI split expression at 0b6d1dd. So, require.Makefile should
-# handel the different require source files with and without
-# expr.c in the same way. Thus, I added the additional logic
-# to handle to cover entire cases.
-# If there is no expr.c, it is now safe to ignore it
-# Friday, May 11 21:58:24 CEST 2018, jhlee
-
-expr_src=expr.c
-SOURCES += $(filter $(expr_src), $(wildcard *.c))
-
-
-##
-SOURCES += dbLoadTemplate.y
-DBDS    += dbLoadTemplate.dbd
-
-# ESS doesn't have any T2_ppc604 and vxWorks target
-# Friday, May 11 22:05:07 CEST 2018, jhlee
-#
-#SOURCES_T2 += strdup.c
-#SOURCES_vxWorks += asprintf.c
-#
-#HEADERS += strdup.h
-#HEADERS += asprintf.h
-
-HEADERS += require.h
-
-#HEADERS += require_env.h
-
-# We need to find the Linux link.h before the EPICS link.h
-USR_INCLUDES_Linux=-idirafter $(EPICS_BASE)/include 
-
-# ESS require doesn't use T_A, because Linux should handle linux as "1"
-# instead of its name. ESS require can handle them within the EPICS
-# IOC shell internally.
-# 
-#USR_CFLAGS += -DT_A='"${T_A}"'
-
-# ESS doesn't support WIN32
-# This should really go into some global WIN32 config file
-# USR_CFLAGS_WIN32 += /D_WIN32_WINNT=0x501
-
-
-TEMPLATES += moduleversion.template
-#TEMPLATES += moduleversion.db
-
-dbLoadTemplate.c: dbLoadTemplate_lex.c ../dbLoadTemplate.h
-
-## moduleversion should convert to db instead of template
-## So, ESS uses it internally independent upon any IOC
-## varialbes
-
-EPICS_BASE_HOST_BIN = $(EPICS_BASE)/bin/$(EPICS_HOST_ARCH)
-MSI =  $(EPICS_BASE_HOST_BIN)/msi
-
-
-USR_DBFLAGS += -I . -I ..
-USR_DBFLAGS += -I$(EPICS_BASE)/db
-
-
-TEMS = $(wildcard *.template)
-
-
-db: $(TEMS)
-
-$(TEMS): 
-	@printf "Inflating database ... %44s >>> %40s \n" "$@" "$(basename $(@)).db"
-	@rm -f  $(basename $(@)).db.d  $(basename $(@)).db
-	@$(MSI) -D $(USR_DBFLAGS) -o $(basename $(@)).db $@  > $(basename $(@)).db.d
-	@$(MSI)    $(USR_DBFLAGS) -o $(basename $(@)).db $@
-
-
-
-
-.PHONY: db $(TEMS) 
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 2f85c3b20e84a1b3d5a5a9b6968c2885eae64037..0000000000000000000000000000000000000000
--- a/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-TOP=..
-
-include $(TOP)/configure/CONFIG
-
-LOADABLE_LIBRARY = require
-DBD = requireSup.dbd
-
-LIB_SRCS += require_registerRecordDeviceDriver.cpp
-
-LIB_SRCS += require.c
-requireSup_DBD += require.dbd
-
-LIB_SRCS += runScript.c
-requireSup_DBD += runScript.dbd
-
-LIB_SRCS += expr.c
-#requireSup_DBD += expr.dbd
-
-LIB_SRCS += dbLoadTemplate.y
-requireSup_DBD += dbLoadTemplate.dbd
-
-LIB_SRCS_vxWorks = asprintf.c strdup.c
-LIB_SRCS_WIN32 = asprintf.c
-
-LIB_LIBS += $(EPICS_BASE_IOC_LIBS)
-
-# We need to find the Linux link.h before the EPICS link.h
-USR_INCLUDES_Linux=-idirafter ${EPICS_BASE}/include 
-
-# Pass T_A to the code
-USR_CFLAGS += -DT_A='"${T_A}"'
-
-# This should really go into some global WIN32 config file
-USR_CFLAGS_WIN32 += /D_WIN32_WINNT=0x501
-
-include $(TOP)/configure/RULES
-
-dbLoadTemplate.c: dbLoadTemplate_lex.c ../dbLoadTemplate.h
diff --git a/README.md b/README.md
deleted file mode 100644
index 0c5e3133347bf93d8956e4747a470d7725c07068..0000000000000000000000000000000000000000
--- a/README.md
+++ /dev/null
@@ -1,80 +0,0 @@
-
-# ESS require
-
-`require` is a fork of [PSI require](https://github.com/paulscherrerinstitute/require). Multiple changes 
-have been put in place to fit within the e3 concept, some of which are outlined below. This is not truly
-a stand-alone EPICS module, but fits together with its "e3 wrapper", located at
-[e3-require](https://gitlab.esss.lu.se/e3/e3-require). Documentation for this can be found at 
-[e3.pages](http://e3.pages.esss.lu.se/design/2_require.html).
-
-## Changes from PSI require
-
-The main changes are the following. In all cases we have removed support for EPICS base 3.x, as well as
-VxWorks. Other changes
-
-* `require.c`: We have changed the way that versioning is handled to include the option of build numbers, which
-  we have found are necessary to handle some dependency issues. We are also more restrictive for version
-  numbering; for example, we do not use the syntax `require module,1.3+`. See the above documentation.
-* `driver.makefile`: A lot of simplifications have been added based on ESS's requirements (in particular, not
-  needing to have EPICS base 3.x and 7.x together). There are also a number of additions to allow some extra
-  flexibility in installing e.g. header files.
-* `iocsh.bash`: We have replaced the PSI startup script `iocsh` with an ESS version, `iocsh.bash`. 
-
-# Original PSI README
-
-```
-require "<module>" [,"<version>"] [,"<macro1>=<value2>, <macro2>=<value2>"]
- ioc shell function
- Loads a module library and its dbd file (if not yet done).
- Executes its startup script if available.
- 
- The two arguments "<version>" and the macro list are optional.
- The order does not matter, thus macros can be provided without a version.
- 
- "<version>" may be:
-    * full version number,    e.g. "1.2.3"   -- loads exact match
-    * partial version number, e.g. "1.2"     -- loads highest available 1.2.x
-    * minimum version number, e.g. "1.2+"    -- loads highest 1.x.y with x>=2
-    * no version,             nothing or ""  -- loads highest available version
-    * test version,           e.g. "zimoch"  -- loads exact match
-    * optional flag           "ifexists"     -- loads highest version if one exists
-    
- Failure to find a matching version aborts the startup script, except for "ifexists".
- 
- If a version is already loaded, the requested version is checked for compatibility.
- If the versions are incompatible the startup script is aborted.
- An already loaded version is considered compatible if:
-    * no specific version was required
-    * the loaded version matches the required version exactly
-    * major numbers are the same and loaded minor number is at least the required one
-    * major and minor numbers are the same and patch number is at least the required one
-    * the loaded version is a test version and the required version is not a test version
- 
- Versions with different major numbers are never compatible.
- Different test versions are never compatible.
- 
- If available, a module startup script is executed. Macros of the form $(macro) are
- replaced either with given arguments or with environment variables in that script.
- 
- The first found script in the module directory of the following list is executed:
-   * <targetArch>.cmd  e.g. T2-ppc604.cmd
-   * <osClass>.cmd     e.g. Linux.cmd
-   * startup.cmd
- 
- If the module was already loaded, the startup script is called again only if
- macro parameters are given.
- 
- The following environment variables are set:
-   * MODULE                 the name of the current module
-   * T_A                    the target architecture, e.g "T2-ppc604"
-   * EPICS_RELEASE          the EPICS base release, e.g. "3.14.12"
-   * <module>_DIR           the directory of the loaded version of the module
-   * TEMPLATES              the db directory of the module
-   * <module>_TEMPLATES     the db directory of the module
-   * EPICS_DB_INCLUDE_PATH  the db directories of all modules, last reqired first (after ".")
-
-   The variables MODULE and TEMPLATES get overwritten for each module.
-   They always refer to the last require call, even if the module was already loaded.
-   The variable EPICS_DB_INCLUDE_PATH is used by dbLoadRecords and dbLoadDatabase.
-   ```
- 
diff --git a/configure/CONFIG b/configure/CONFIG
deleted file mode 100644
index b46d386a563e0843e5614b53cb7d8702dcb7dd12..0000000000000000000000000000000000000000
--- a/configure/CONFIG
+++ /dev/null
@@ -1,14 +0,0 @@
-#CONFIG
-include $(TOP)/configure/CONFIG_APP
-# Add any changes to make definitions here
-
-#CROSS_COMPILER_TARGET_ARCHS = vxWorks-68040
-#CROSS_COMPILER_TARGET_ARCHS = 
-
-# Use this when your IOC and the host use different paths
-# to access the application. Typically this will be 
-# used with the Microsoft FTP server or with NFS mounts. Use
-# is indicated by failure of the cdCommands script on
-# vxWorks. You must rebuild in the iocBoot directory 
-# before this takes effect.
-#IOCS_APPL_TOP = <the top of the application as seen by the IOC>
diff --git a/configure/CONFIG_APP b/configure/CONFIG_APP
deleted file mode 100644
index 96eb2d5ecfcce889391199ba601f6178b84c7ee8..0000000000000000000000000000000000000000
--- a/configure/CONFIG_APP
+++ /dev/null
@@ -1,22 +0,0 @@
-# CONFIG_APP
-
-include $(TOP)/configure/RELEASE
--include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH)
--include $(TOP)/configure/RELEASE.Common.$(T_A)
--include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH).$(T_A)
-
-CONFIG=$(EPICS_BASE)/configure
-include $(CONFIG)/CONFIG
-
-INSTALL_LOCATION = $(TOP)
-ifdef INSTALL_LOCATION_APP
-INSTALL_LOCATION = $(INSTALL_LOCATION_APP)
-endif
-
-ifdef T_A
--include $(TOP)/configure/O.$(T_A)/CONFIG_APP_INCLUDE
-endif
-
-# dbst based database optimization (default: NO)
-DB_OPT = NO
-HOST_OPT=NO
diff --git a/configure/Makefile b/configure/Makefile
deleted file mode 100644
index 03177469efde9ffa1e5b7bac7b93077101677251..0000000000000000000000000000000000000000
--- a/configure/Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-# Makefile
-
-TOP=..
-
-include $(TOP)/configure/CONFIG
-
-# Set the following to NO to disable consistency checking of
-# the support applications defined in $(TOP)/configure/RELEASE
-CHECK_RELEASE = YES
-
-TARGETS = $(CONFIG_TARGETS)
-CONFIGS += $(subst ../,,$(wildcard $(CONFIG_INSTALLS)))
-
-include $(TOP)/configure/RULES
-
diff --git a/configure/RELEASE b/configure/RELEASE
deleted file mode 100644
index dc263eba5ed8dfa265bca7ab7f5a11ad55abadf2..0000000000000000000000000000000000000000
--- a/configure/RELEASE
+++ /dev/null
@@ -1,22 +0,0 @@
-#RELEASE Location of external products
-# Run "gnumake clean uninstall install" in the application
-# top directory each time this file is changed.
-#
-# NOTE: The build does not check dependancies on files
-# external to this application. Thus you should run
-# "gnumake clean uninstall install" in the top directory
-# each time EPICS_BASE, SNCSEQ, or any other external
-# module defined in the RELEASE file is rebuilt.
-
-TEMPLATE_TOP=$(EPICS_BASE)/templates/makeBaseApp/top
-
-# If you don't want to install into $(TOP) then
-# define INSTALL_LOCATION_APP here
-#INSTALL_LOCATION_APP=<fullpathname>
-
-# EPICS_BASE usually appears last so other apps can override stuff:
-EPICS_BASE=/usr/local/epics/base-3.14.12
-
-#Want to use md command with global variables? 
-#Set path to symbolname library
-#SYMBOLNAME=
diff --git a/configure/RULES b/configure/RULES
deleted file mode 100644
index ffee54a710fe5f61c2d5d03a5bdff8775a0a8932..0000000000000000000000000000000000000000
--- a/configure/RULES
+++ /dev/null
@@ -1,5 +0,0 @@
-#CONFIG
-include $(EPICS_BASE)/configure/RULES
-
-# Library should be rebuilt because LIBOBJS may have changed.
-$(LIBNAME): ../Makefile
diff --git a/moduleversion.template b/require-ess/Db/moduleversion.template
similarity index 100%
rename from moduleversion.template
rename to require-ess/Db/moduleversion.template
diff --git a/asprintf.c b/require-ess/src/asprintf.c
similarity index 100%
rename from asprintf.c
rename to require-ess/src/asprintf.c
diff --git a/asprintf.h b/require-ess/src/asprintf.h
similarity index 100%
rename from asprintf.h
rename to require-ess/src/asprintf.h
diff --git a/dbLoadTemplate.dbd b/require-ess/src/dbLoadTemplate.dbd
similarity index 100%
rename from dbLoadTemplate.dbd
rename to require-ess/src/dbLoadTemplate.dbd
diff --git a/dbLoadTemplate.h b/require-ess/src/dbLoadTemplate.h
similarity index 100%
rename from dbLoadTemplate.h
rename to require-ess/src/dbLoadTemplate.h
diff --git a/dbLoadTemplate.y b/require-ess/src/dbLoadTemplate.y
similarity index 100%
rename from dbLoadTemplate.y
rename to require-ess/src/dbLoadTemplate.y
diff --git a/dbLoadTemplate_lex.l b/require-ess/src/dbLoadTemplate_lex.l
similarity index 100%
rename from dbLoadTemplate_lex.l
rename to require-ess/src/dbLoadTemplate_lex.l
diff --git a/expr.c b/require-ess/src/expr.c
similarity index 100%
rename from expr.c
rename to require-ess/src/expr.c
diff --git a/expr.h b/require-ess/src/expr.h
similarity index 100%
rename from expr.h
rename to require-ess/src/expr.h
diff --git a/require.c b/require-ess/src/require.c
similarity index 100%
rename from require.c
rename to require-ess/src/require.c
diff --git a/require.dbd b/require-ess/src/require.dbd
similarity index 100%
rename from require.dbd
rename to require-ess/src/require.dbd
diff --git a/require.h b/require-ess/src/require.h
similarity index 100%
rename from require.h
rename to require-ess/src/require.h
diff --git a/runScript.c b/require-ess/src/runScript.c
similarity index 100%
rename from runScript.c
rename to require-ess/src/runScript.c
diff --git a/runScript.dbd b/require-ess/src/runScript.dbd
similarity index 100%
rename from runScript.dbd
rename to require-ess/src/runScript.dbd
diff --git a/strdup.c b/require-ess/src/strdup.c
similarity index 100%
rename from strdup.c
rename to require-ess/src/strdup.c
diff --git a/strdup.h b/require-ess/src/strdup.h
similarity index 100%
rename from strdup.h
rename to require-ess/src/strdup.h
diff --git a/testscript b/require-ess/test/testscript
similarity index 100%
rename from testscript
rename to require-ess/test/testscript
diff --git a/teststrings b/require-ess/test/teststrings
similarity index 100%
rename from teststrings
rename to require-ess/test/teststrings
diff --git a/tools/README.md b/require-ess/tools/README.md
similarity index 100%
rename from tools/README.md
rename to require-ess/tools/README.md
diff --git a/App/tools/driver.makefile b/require-ess/tools/driver.makefile
similarity index 100%
rename from App/tools/driver.makefile
rename to require-ess/tools/driver.makefile
diff --git a/App/tools/expandDBD.tcl b/require-ess/tools/expandDBD.tcl
similarity index 100%
rename from App/tools/expandDBD.tcl
rename to require-ess/tools/expandDBD.tcl
diff --git a/App/tools/getVersion.tcl b/require-ess/tools/getVersion.tcl
similarity index 100%
rename from App/tools/getVersion.tcl
rename to require-ess/tools/getVersion.tcl
diff --git a/iocsh b/require-ess/tools/iocsh
similarity index 100%
rename from iocsh
rename to require-ess/tools/iocsh
diff --git a/tools/iocsh.bash b/require-ess/tools/iocsh.bash
similarity index 100%
rename from tools/iocsh.bash
rename to require-ess/tools/iocsh.bash
diff --git a/tools/iocsh_complete b/require-ess/tools/iocsh_complete
similarity index 100%
rename from tools/iocsh_complete
rename to require-ess/tools/iocsh_complete
diff --git a/tools/iocsh_functions b/require-ess/tools/iocsh_functions
similarity index 100%
rename from tools/iocsh_functions
rename to require-ess/tools/iocsh_functions
diff --git a/tools/iocsh_gdb.bash b/require-ess/tools/iocsh_gdb.bash
similarity index 100%
rename from tools/iocsh_gdb.bash
rename to require-ess/tools/iocsh_gdb.bash
diff --git a/tools/iocsh_nice.bash b/require-ess/tools/iocsh_nice.bash
similarity index 100%
rename from tools/iocsh_nice.bash
rename to require-ess/tools/iocsh_nice.bash
diff --git a/tools/promptE3Env.bash b/require-ess/tools/promptE3Env.bash
similarity index 100%
rename from tools/promptE3Env.bash
rename to require-ess/tools/promptE3Env.bash
diff --git a/tools/setE3Env.bash b/require-ess/tools/setE3Env.bash
similarity index 100%
rename from tools/setE3Env.bash
rename to require-ess/tools/setE3Env.bash