diff --git a/configure/CONFIG_BASE b/configure/CONFIG_BASE
index dd559536d..e88e1e80d 100644
--- a/configure/CONFIG_BASE
+++ b/configure/CONFIG_BASE
@@ -21,14 +21,12 @@ endif
#---------------------------------------------------------------
# Epics base Ioc libraries
-EPICS_BASE_IOC_LIBS += recIoc softDevIoc
-EPICS_BASE_IOC_LIBS += miscIoc rsrvIoc dbtoolsIoc asIoc
-EPICS_BASE_IOC_LIBS += dbIoc registryIoc dbStaticIoc ca Com
+EPICS_BASE_IOC_LIBS += dbRecStd dbCore ca Com
#---------------------------------------------------------------
# Epics base Host libraries
-EPICS_BASE_HOST_LIBS += cas gdd asHost dbStaticHost registryIoc
+EPICS_BASE_HOST_LIBS += cas gdd dbStaticHost
EPICS_BASE_HOST_LIBS += ca Com
#---------------------------------------------------------------
diff --git a/configure/RULES.Db b/configure/RULES.Db
index 9eb27e527..311949219 100644
--- a/configure/RULES.Db
+++ b/configure/RULES.Db
@@ -263,7 +263,7 @@ $(COMMON_DIR)/%.dbd: $(COMMON_DIR)/%Include.dbd
$(ECHO) "$<:../Makefile" >> $(notdir $@)$(DEP)
$(ECHO) "Expanding dbd"
@$(RM) $@
- @$(DBEXPAND) $(DBDFLAGS) -o $@ $<
+ $(DBEXPAND) $(DBDFLAGS) -o $@ $<
$(COMMON_DIR)/%.dbd: %Include.dbd
@$(RM) $(notdir $@)$(DEP)
diff --git a/configure/RULES_BUILD b/configure/RULES_BUILD
index 7858f5851..94ddd8a47 100644
--- a/configure/RULES_BUILD
+++ b/configure/RULES_BUILD
@@ -220,23 +220,21 @@ $(OBJLIBNAME):%$(OBJ):
@$(RM) $@
$(BAFCMD) $<
+YACCOPT ?= $($*_YACCOPT)
#
# rename the y.tab.h file only if we
# are creating it
#
-ifeq ($(findstring -d, $(YACCOPT)),-d)
-%.h %.c: %.y
- $(RM) $*.c y.tab.c
- $(RM) $*.h y.tab.h
- $(YACC) $(YACCOPT) $<
- $(MV) y.tab.c $*.c
- $(MV) y.tab.h $*.h
-else
%.c: %.y
- $(RM) $*.c y.tab.c
- $(YACC) $(YACCOPT) $<
- $(MV) y.tab.c $*.c
-endif
+ $(RM) $*.tab.c
+ $(RM) $*.tab.h
+ $(YACC) -b$* $(YACCOPT) $<
+ $(MV) $*.tab.c $*.c
+ $(if $(findstring -d, $(YACCOPT)),$(MV) $*.tab.h $*.h,)
+
+# must be a seperate rule since when not using '-d' the
+# prefix for .h will be different then .c
+%.h : %.c %.y
%.c: %.l
@$(RM) lex.yy.c
diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html
index 5e46fc357..b929e4d91 100644
--- a/documentation/RELEASE_NOTES.html
+++ b/documentation/RELEASE_NOTES.html
@@ -20,7 +20,226 @@ Enabled histogram record type
The histogram record was not included in the base.dbd file in any 3.14 release,
-but has now been added along with its associated soft device support.
+but has now been added along with its associated soft device support. The build
+system now generates the list of all the record.dbd files in base automatically
+in src/std/rec/Makefile.
+
+Reorganization of src/
+
+Reorganization of subdirectories of src/ to better represent the relation
+between different parts as described in the following table.
+
+This change also allows the number of libraries built to be reduced to:
+libCap5.so, libca.so, libdbCore.so, libdbStaticHost.so,
+libCom.so, libcas.so, libdbRecStd.so, and libgdd.so
+
+
+
+ | Component |
+ Dependency |
+ Library name |
+ Description |
+
+
+ | src/tools |
+ |
+ |
+ Build system scripts |
+
+
+ | src/libCom |
+ src/tools |
+ Com |
+ Utility routines and OS-independant API |
+
+
+ | src/template |
+ src/tools |
+ |
+ User application templates (e.g. makeBaseApp) |
+
+
+ | src/ca/client |
+ src/libCom |
+ ca |
+ Channel Access client |
+
+
+ | src/ca/legacy/gdd |
+ src/ca/client |
+ gdd |
+ Generic data layer for PCAS |
+
+
+ | src/ca/legacy/pcas |
+ src/ca/legacy/gdd |
+ cas |
+ Portable Channel Access Server |
+
+
+ | src/ioc |
+ src/ca |
+ dbCore |
+ Core database processing functions |
+
+
+ | src/std |
+ src/ioc |
+ dbRecStd |
+ Standard records, soft device support and the softIoc |
+
+
+
+
+In order to better reflect these relations the following
+directories and files were moved as described:
+
+
+
+ | Relocations |
+
+
+ | Previous | New |
+
+
+ | libCom |
+
+
+ | src/RTEMS |
+ src/libCom/RTEMS |
+
+
+ | src/toolsComm/flex |
+ src/libCom/flex |
+
+
+ | src/toolsComm/antelope |
+ src/libCom/yacc |
+
+
+ src/dbStatic/alarm.h .../alarmString.h |
+ src/libCom/misc/ |
+
+
+ | IOC Core Components |
+
+
+ | src/bpt |
+ src/ioc/bpt |
+
+
+ | src/db |
+ src/ioc/db |
+
+
+ | src/dbStatic |
+ src/ioc/dbStatic |
+
+
+ | src/dbtools |
+ src/ioc/dbtemplate |
+
+
+ | src/misc |
+ src/ioc/misc |
+
+
+ | src/registry |
+ src/ioc/registry |
+
+
+ | src/rsrv |
+ src/ioc/rsrv 1 |
+
+
+ | Standard Record Definitions |
+
+
+ | src/dev/softDev |
+ src/std/dev |
+
+
+ | src/rec |
+ src/std/rec |
+
+
+ | src/softIoc |
+ src/std/softIoc |
+
+
+ | Channel Access |
+
+
+ | src/ca |
+ src/ca/client |
+
+
+ | src/catools |
+ src/ca/client/tools |
+
+
+ | src/cap5 |
+ src/ca/client/perl |
+
+
+ | src/gdd |
+ src/ca/legacy/gdd |
+
+
+ | src/cas |
+ src/ca/legacy/pcas |
+
+
+ | src/excas |
+ src/ca/legacy/pcas/ex |
+
+
+ | User Templates |
+
+
+ | src/makeBaseApp |
+ src/template/base |
+
+
+ | src/makeBaseExt |
+ src/template/ext |
+
+
+ | Dispersed |
+
+
+ | src/util 2 |
+ src/ca/client |
+
+
+ | src/ca/client/test |
+
+
+ | src/libCom/log |
+
+
+ | src/as 3 |
+ src/libCom/as |
+
+
+ | src/ioc/as |
+
+
+
+1
+RSRV is built as part of dbCore due to its tight (bidirectional) coupling
+with the other database code.
+
+2
+The contents for src/util/ moved to three locations. The caRepeater init script
+was moved to src/ca/client/. ca_test is now in src/ca/client/test/.
+The iocLogServer was moved into the same directory (src/libCom/log) as
+the log client code.
+
+3
+The Access Security code has been divided, with the parts not related to the
+database (lexer/parser and trap registration) becoming part of libCom.
+The remaining components are included in the dbCore library
Moved src/RTEMS/base directory
diff --git a/src/Makefile b/src/Makefile
index 66b959101..88a03d7c6 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -15,80 +15,56 @@ include $(TOP)/configure/CONFIG
DIRS += tools
-DIRS += makeBaseApp
-makeBaseApp_DEPEND_DIRS = tools
+DIRS += template/base
+template/base_DEPEND_DIRS = tools
-DIRS += makeBaseExt
-makeBaseExt_DEPEND_DIRS = tools
+DIRS += template/ext
+template/ext_DEPEND_DIRS = tools
+
+# Common
DIRS += libCom
libCom_DEPEND_DIRS = tools
-DIRS += toolsComm
-toolsComm_DEPEND_DIRS = libCom
-
-DIRS += ca
-ca_DEPEND_DIRS = libCom
-
-DIRS += dbStatic
-dbStatic_DEPEND_DIRS = toolsComm
-
-DIRS += registry
-registry_DEPEND_DIRS = dbStatic
-
-DIRS += bpt
-bpt_DEPEND_DIRS = dbStatic
-
-DIRS += db
-db_DEPEND_DIRS = bpt ca
-
-DIRS += as
-as_DEPEND_DIRS = db
-
-DIRS += util
-util_DEPEND_DIRS = ca
-
-DIRS += dbtools
-dbtools_DEPEND_DIRS = db
-
-DIRS += catools
-catools_DEPEND_DIRS = ca dbStatic
-
-DIRS += rsrv
-rsrv_DEPEND_DIRS = as
-
-DIRS += rec
-rec_DEPEND_DIRS = as registry
-
-DIRS += misc
-misc_DEPEND_DIRS = dbtools rsrv rec
-
-DIRS += dev
-dev_DEPEND_DIRS = rec misc
-
-DIRS += RTEMS
-RTEMS_DEPEND_DIRS = libCom
+DIRS += libCom/RTEMS
+libCom/RTEMS_DEPEND_DIRS = libCom
DIRS += libCom/test
-libCom/test_DEPEND_DIRS = ca RTEMS
+libCom/test_DEPEND_DIRS = libCom/RTEMS
-DIRS += db/test
-db/test_DEPEND_DIRS = db RTEMS
+# Channel Access
-DIRS += softIoc
-softIoc_DEPEND_DIRS = dev dbtools RTEMS
+DIRS += ca/client
+ca/client_DEPEND_DIRS = libCom
-DIRS += gdd
-gdd_DEPEND_DIRS = ca
+DIRS += ca/client/tools
+ca/client/tools_DEPEND_DIRS = ca/client
-DIRS += cas
-cas_DEPEND_DIRS = gdd dbStatic
+DIRS += ca/legacy/gdd
+ca/legacy/gdd_DEPEND_DIRS = ca/client
-DIRS += excas
-excas_DEPEND_DIRS = cas as registry
+DIRS += ca/legacy/pcas
+ca/legacy/pcas_DEPEND_DIRS = ca/legacy/gdd
-DIRS += cap5
-cap5_DEPEND_DIRS = ca dbStatic
+DIRS += ca/legacy/pcas/ex
+# needs ioc for dbStaticHost
+ca/legacy/pcas/ex_DEPEND_DIRS = ca/legacy/pcas libCom ioc
+
+DIRS += ca/client/perl
+ca/client/perl_DEPEND_DIRS = ca/client
+
+# PDB Core
+
+DIRS += ioc
+ioc_DEPEND_DIRS = libCom ca/client
+
+DIRS += ioc/db/test
+ioc/db/test_DEPEND_DIRS = ioc libCom/RTEMS
+
+# PDB Standard Record Definitions
+
+DIRS += std
+std_DEPEND_DIRS = ioc libCom/RTEMS
include $(TOP)/configure/RULES_DIRS
diff --git a/src/as/asHost.rc b/src/as/asHost.rc
deleted file mode 100755
index 77981517e..000000000
--- a/src/as/asHost.rc
+++ /dev/null
@@ -1,36 +0,0 @@
-#include
-#include "epicsVersion.h"
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION EPICS_VERSION,EPICS_REVISION,EPICS_MODIFICATION,EPICS_PATCH_LEVEL
- PRODUCTVERSION EPICS_VERSION,EPICS_REVISION,EPICS_MODIFICATION,EPICS_PATCH_LEVEL
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS VOS__WINDOWS32
- FILETYPE VFT_UNKNOWN
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments","Host Access Security Library for EPICS\0"
- VALUE "CompanyName", "The EPICS collaboration\0"
- VALUE "FileDescription", "Host Access Security Library\0"
- VALUE "FileVersion", EPICS_VERSION_STRING "\0"
- VALUE "InternalName", "asHost\0"
- VALUE "LegalCopyright", "Copyright (C) Univ. of California, Univ. of Chicago\0"
- VALUE "OriginalFilename", "asHost.dll\0"
- VALUE "ProductName", "Experimental Physics and Industrial Control System (EPICS)\0"
- VALUE "ProductVersion", EPICS_VERSION_STRING "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
diff --git a/src/as/asIoc.rc b/src/as/asIoc.rc
deleted file mode 100755
index f83a3c17e..000000000
--- a/src/as/asIoc.rc
+++ /dev/null
@@ -1,36 +0,0 @@
-#include
-#include "epicsVersion.h"
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION EPICS_VERSION,EPICS_REVISION,EPICS_MODIFICATION,EPICS_PATCH_LEVEL
- PRODUCTVERSION EPICS_VERSION,EPICS_REVISION,EPICS_MODIFICATION,EPICS_PATCH_LEVEL
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS VOS__WINDOWS32
- FILETYPE VFT_UNKNOWN
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments","IOC Access Security Library for EPICS\0"
- VALUE "CompanyName", "The EPICS collaboration\0"
- VALUE "FileDescription", "IOC Access Security Library\0"
- VALUE "FileVersion", EPICS_VERSION_STRING "\0"
- VALUE "InternalName", "asIoc\0"
- VALUE "LegalCopyright", "Copyright (C) Univ. of California, Univ. of Chicago\0"
- VALUE "OriginalFilename", "asIoc.dll\0"
- VALUE "ProductName", "Experimental Physics and Industrial Control System (EPICS)\0"
- VALUE "ProductVersion", EPICS_VERSION_STRING "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
diff --git a/src/ca/CASG.cpp b/src/ca/client/CASG.cpp
similarity index 100%
rename from src/ca/CASG.cpp
rename to src/ca/client/CASG.cpp
diff --git a/src/ca/CAref.html b/src/ca/client/CAref.html
similarity index 100%
rename from src/ca/CAref.html
rename to src/ca/client/CAref.html
diff --git a/src/ca/Makefile b/src/ca/client/Makefile
similarity index 88%
rename from src/ca/Makefile
rename to src/ca/client/Makefile
index ffbfa2bef..912295ac5 100644
--- a/src/ca/Makefile
+++ b/src/ca/client/Makefile
@@ -7,7 +7,7 @@
# in file LICENSE that is included with this distribution.
#*************************************************************************
-TOP=../..
+TOP=../../..
include $(TOP)/configure/CONFIG
@@ -95,5 +95,18 @@ caConnTest_SRCS = caConnTestMain.cpp caConnTest.cpp
casw_SYS_LIBS_solaris = socket
+SCRIPTS_solaris := S99caRepeater
+SCRIPTS_Linux := S99caRepeater
+
+SRC_DIRS += $(TOP)/src/ca/client/test
+PROD_HOST += ca_test
+ca_test_SRCS = ca_test_main.c ca_test.c
+ca_test_LIBS = ca Com
+ca_test_SYS_LIBS_WIN32 = ws2_32 advapi32 user32
+
+OBJS_vxWorks += ca_test
+
include $(TOP)/configure/RULES
+S99%: ../rc2.%
+ sed -e s%:INSTALL_BIN:%`cd $(INSTALL_BIN); pwd`% $< >$@
diff --git a/src/ca/SearchDest.h b/src/ca/client/SearchDest.h
similarity index 100%
rename from src/ca/SearchDest.h
rename to src/ca/client/SearchDest.h
diff --git a/src/ca/access.cpp b/src/ca/client/access.cpp
similarity index 100%
rename from src/ca/access.cpp
rename to src/ca/client/access.cpp
diff --git a/src/ca/acctst.c b/src/ca/client/acctst.c
similarity index 100%
rename from src/ca/acctst.c
rename to src/ca/client/acctst.c
diff --git a/src/ca/acctstMain.c b/src/ca/client/acctstMain.c
similarity index 100%
rename from src/ca/acctstMain.c
rename to src/ca/client/acctstMain.c
diff --git a/src/ca/addrList.h b/src/ca/client/addrList.h
similarity index 100%
rename from src/ca/addrList.h
rename to src/ca/client/addrList.h
diff --git a/src/ca/autoPtrDestroy.h b/src/ca/client/autoPtrDestroy.h
similarity index 100%
rename from src/ca/autoPtrDestroy.h
rename to src/ca/client/autoPtrDestroy.h
diff --git a/src/ca/autoPtrFreeList.h b/src/ca/client/autoPtrFreeList.h
similarity index 100%
rename from src/ca/autoPtrFreeList.h
rename to src/ca/client/autoPtrFreeList.h
diff --git a/src/ca/autoPtrRecycle.h b/src/ca/client/autoPtrRecycle.h
similarity index 100%
rename from src/ca/autoPtrRecycle.h
rename to src/ca/client/autoPtrRecycle.h
diff --git a/src/ca/baseNMIU.cpp b/src/ca/client/baseNMIU.cpp
similarity index 100%
rename from src/ca/baseNMIU.cpp
rename to src/ca/client/baseNMIU.cpp
diff --git a/src/ca/bhe.cpp b/src/ca/client/bhe.cpp
similarity index 100%
rename from src/ca/bhe.cpp
rename to src/ca/client/bhe.cpp
diff --git a/src/ca/bhe.h b/src/ca/client/bhe.h
similarity index 100%
rename from src/ca/bhe.h
rename to src/ca/client/bhe.h
diff --git a/src/ca/ca.rc b/src/ca/client/ca.rc
similarity index 100%
rename from src/ca/ca.rc
rename to src/ca/client/ca.rc
diff --git a/src/ca/caConnTest.cpp b/src/ca/client/caConnTest.cpp
similarity index 100%
rename from src/ca/caConnTest.cpp
rename to src/ca/client/caConnTest.cpp
diff --git a/src/ca/caConnTestMain.cpp b/src/ca/client/caConnTestMain.cpp
similarity index 100%
rename from src/ca/caConnTestMain.cpp
rename to src/ca/client/caConnTestMain.cpp
diff --git a/src/ca/caDiagnostics.h b/src/ca/client/caDiagnostics.h
similarity index 100%
rename from src/ca/caDiagnostics.h
rename to src/ca/client/caDiagnostics.h
diff --git a/src/ca/caEventRate.cpp b/src/ca/client/caEventRate.cpp
similarity index 100%
rename from src/ca/caEventRate.cpp
rename to src/ca/client/caEventRate.cpp
diff --git a/src/ca/caEventRateMain.cpp b/src/ca/client/caEventRateMain.cpp
similarity index 100%
rename from src/ca/caEventRateMain.cpp
rename to src/ca/client/caEventRateMain.cpp
diff --git a/src/ca/caProto.h b/src/ca/client/caProto.h
similarity index 100%
rename from src/ca/caProto.h
rename to src/ca/client/caProto.h
diff --git a/src/ca/caRepeater.cpp b/src/ca/client/caRepeater.cpp
similarity index 100%
rename from src/ca/caRepeater.cpp
rename to src/ca/client/caRepeater.cpp
diff --git a/src/ca/caServerID.h b/src/ca/client/caServerID.h
similarity index 100%
rename from src/ca/caServerID.h
rename to src/ca/client/caServerID.h
diff --git a/src/ca/ca_client_context.cpp b/src/ca/client/ca_client_context.cpp
similarity index 100%
rename from src/ca/ca_client_context.cpp
rename to src/ca/client/ca_client_context.cpp
diff --git a/src/ca/cac.cpp b/src/ca/client/cac.cpp
similarity index 100%
rename from src/ca/cac.cpp
rename to src/ca/client/cac.cpp
diff --git a/src/ca/cac.h b/src/ca/client/cac.h
similarity index 100%
rename from src/ca/cac.h
rename to src/ca/client/cac.h
diff --git a/src/ca/cacChannel.cpp b/src/ca/client/cacChannel.cpp
similarity index 100%
rename from src/ca/cacChannel.cpp
rename to src/ca/client/cacChannel.cpp
diff --git a/src/ca/cacChannelNotify.cpp b/src/ca/client/cacChannelNotify.cpp
similarity index 100%
rename from src/ca/cacChannelNotify.cpp
rename to src/ca/client/cacChannelNotify.cpp
diff --git a/src/ca/cacContextNotify.cpp b/src/ca/client/cacContextNotify.cpp
similarity index 100%
rename from src/ca/cacContextNotify.cpp
rename to src/ca/client/cacContextNotify.cpp
diff --git a/src/ca/cacIO.h b/src/ca/client/cacIO.h
similarity index 100%
rename from src/ca/cacIO.h
rename to src/ca/client/cacIO.h
diff --git a/src/ca/cacReadNotify.cpp b/src/ca/client/cacReadNotify.cpp
similarity index 100%
rename from src/ca/cacReadNotify.cpp
rename to src/ca/client/cacReadNotify.cpp
diff --git a/src/ca/cacStateNotify.cpp b/src/ca/client/cacStateNotify.cpp
similarity index 100%
rename from src/ca/cacStateNotify.cpp
rename to src/ca/client/cacStateNotify.cpp
diff --git a/src/ca/cacWriteNotify.cpp b/src/ca/client/cacWriteNotify.cpp
similarity index 100%
rename from src/ca/cacWriteNotify.cpp
rename to src/ca/client/cacWriteNotify.cpp
diff --git a/src/ca/cadef.h b/src/ca/client/cadef.h
similarity index 100%
rename from src/ca/cadef.h
rename to src/ca/client/cadef.h
diff --git a/src/ca/caerr.h b/src/ca/client/caerr.h
similarity index 100%
rename from src/ca/caerr.h
rename to src/ca/client/caerr.h
diff --git a/src/ca/caeventmask.h b/src/ca/client/caeventmask.h
similarity index 100%
rename from src/ca/caeventmask.h
rename to src/ca/client/caeventmask.h
diff --git a/src/ca/casw.cpp b/src/ca/client/casw.cpp
similarity index 100%
rename from src/ca/casw.cpp
rename to src/ca/client/casw.cpp
diff --git a/src/ca/catime.c b/src/ca/client/catime.c
similarity index 100%
rename from src/ca/catime.c
rename to src/ca/client/catime.c
diff --git a/src/ca/catimeMain.c b/src/ca/client/catimeMain.c
similarity index 100%
rename from src/ca/catimeMain.c
rename to src/ca/client/catimeMain.c
diff --git a/src/ca/comBuf.cpp b/src/ca/client/comBuf.cpp
similarity index 100%
rename from src/ca/comBuf.cpp
rename to src/ca/client/comBuf.cpp
diff --git a/src/ca/comBuf.h b/src/ca/client/comBuf.h
similarity index 100%
rename from src/ca/comBuf.h
rename to src/ca/client/comBuf.h
diff --git a/src/ca/comQueRecv.cpp b/src/ca/client/comQueRecv.cpp
similarity index 100%
rename from src/ca/comQueRecv.cpp
rename to src/ca/client/comQueRecv.cpp
diff --git a/src/ca/comQueRecv.h b/src/ca/client/comQueRecv.h
similarity index 100%
rename from src/ca/comQueRecv.h
rename to src/ca/client/comQueRecv.h
diff --git a/src/ca/comQueSend.cpp b/src/ca/client/comQueSend.cpp
similarity index 100%
rename from src/ca/comQueSend.cpp
rename to src/ca/client/comQueSend.cpp
diff --git a/src/ca/comQueSend.h b/src/ca/client/comQueSend.h
similarity index 100%
rename from src/ca/comQueSend.h
rename to src/ca/client/comQueSend.h
diff --git a/src/ca/convert.cpp b/src/ca/client/convert.cpp
similarity index 100%
rename from src/ca/convert.cpp
rename to src/ca/client/convert.cpp
diff --git a/src/ca/db_access.h b/src/ca/client/db_access.h
similarity index 100%
rename from src/ca/db_access.h
rename to src/ca/client/db_access.h
diff --git a/src/ca/disconnectGovernorTimer.cpp b/src/ca/client/disconnectGovernorTimer.cpp
similarity index 100%
rename from src/ca/disconnectGovernorTimer.cpp
rename to src/ca/client/disconnectGovernorTimer.cpp
diff --git a/src/ca/disconnectGovernorTimer.h b/src/ca/client/disconnectGovernorTimer.h
similarity index 100%
rename from src/ca/disconnectGovernorTimer.h
rename to src/ca/client/disconnectGovernorTimer.h
diff --git a/src/ca/evtime.c b/src/ca/client/evtime.c
similarity index 100%
rename from src/ca/evtime.c
rename to src/ca/client/evtime.c
diff --git a/src/ca/future_work.txt b/src/ca/client/future_work.txt
similarity index 100%
rename from src/ca/future_work.txt
rename to src/ca/client/future_work.txt
diff --git a/src/ca/getCallback.cpp b/src/ca/client/getCallback.cpp
similarity index 100%
rename from src/ca/getCallback.cpp
rename to src/ca/client/getCallback.cpp
diff --git a/src/ca/getCopy.cpp b/src/ca/client/getCopy.cpp
similarity index 100%
rename from src/ca/getCopy.cpp
rename to src/ca/client/getCopy.cpp
diff --git a/src/ca/hostNameCache.cpp b/src/ca/client/hostNameCache.cpp
similarity index 100%
rename from src/ca/hostNameCache.cpp
rename to src/ca/client/hostNameCache.cpp
diff --git a/src/ca/hostNameCache.h b/src/ca/client/hostNameCache.h
similarity index 100%
rename from src/ca/hostNameCache.h
rename to src/ca/client/hostNameCache.h
diff --git a/src/ca/inetAddrID.h b/src/ca/client/inetAddrID.h
similarity index 100%
rename from src/ca/inetAddrID.h
rename to src/ca/client/inetAddrID.h
diff --git a/src/ca/iocinf.cpp b/src/ca/client/iocinf.cpp
similarity index 100%
rename from src/ca/iocinf.cpp
rename to src/ca/client/iocinf.cpp
diff --git a/src/ca/iocinf.h b/src/ca/client/iocinf.h
similarity index 100%
rename from src/ca/iocinf.h
rename to src/ca/client/iocinf.h
diff --git a/src/ca/localHostName.cpp b/src/ca/client/localHostName.cpp
similarity index 100%
rename from src/ca/localHostName.cpp
rename to src/ca/client/localHostName.cpp
diff --git a/src/ca/localHostName.h b/src/ca/client/localHostName.h
similarity index 100%
rename from src/ca/localHostName.h
rename to src/ca/client/localHostName.h
diff --git a/src/ca/msgForMultiplyDefinedPV.cpp b/src/ca/client/msgForMultiplyDefinedPV.cpp
similarity index 100%
rename from src/ca/msgForMultiplyDefinedPV.cpp
rename to src/ca/client/msgForMultiplyDefinedPV.cpp
diff --git a/src/ca/msgForMultiplyDefinedPV.h b/src/ca/client/msgForMultiplyDefinedPV.h
similarity index 100%
rename from src/ca/msgForMultiplyDefinedPV.h
rename to src/ca/client/msgForMultiplyDefinedPV.h
diff --git a/src/ca/nciu.cpp b/src/ca/client/nciu.cpp
similarity index 100%
rename from src/ca/nciu.cpp
rename to src/ca/client/nciu.cpp
diff --git a/src/ca/nciu.h b/src/ca/client/nciu.h
similarity index 100%
rename from src/ca/nciu.h
rename to src/ca/client/nciu.h
diff --git a/src/ca/netIO.h b/src/ca/client/netIO.h
similarity index 100%
rename from src/ca/netIO.h
rename to src/ca/client/netIO.h
diff --git a/src/ca/netReadNotifyIO.cpp b/src/ca/client/netReadNotifyIO.cpp
similarity index 100%
rename from src/ca/netReadNotifyIO.cpp
rename to src/ca/client/netReadNotifyIO.cpp
diff --git a/src/ca/netSubscription.cpp b/src/ca/client/netSubscription.cpp
similarity index 100%
rename from src/ca/netSubscription.cpp
rename to src/ca/client/netSubscription.cpp
diff --git a/src/ca/netWriteNotifyIO.cpp b/src/ca/client/netWriteNotifyIO.cpp
similarity index 100%
rename from src/ca/netWriteNotifyIO.cpp
rename to src/ca/client/netWriteNotifyIO.cpp
diff --git a/src/ca/net_convert.h b/src/ca/client/net_convert.h
similarity index 100%
rename from src/ca/net_convert.h
rename to src/ca/client/net_convert.h
diff --git a/src/ca/netiiu.cpp b/src/ca/client/netiiu.cpp
similarity index 100%
rename from src/ca/netiiu.cpp
rename to src/ca/client/netiiu.cpp
diff --git a/src/ca/netiiu.h b/src/ca/client/netiiu.h
similarity index 100%
rename from src/ca/netiiu.h
rename to src/ca/client/netiiu.h
diff --git a/src/ca/noopiiu.cpp b/src/ca/client/noopiiu.cpp
similarity index 100%
rename from src/ca/noopiiu.cpp
rename to src/ca/client/noopiiu.cpp
diff --git a/src/ca/noopiiu.h b/src/ca/client/noopiiu.h
similarity index 100%
rename from src/ca/noopiiu.h
rename to src/ca/client/noopiiu.h
diff --git a/src/ca/oldAccess.h b/src/ca/client/oldAccess.h
similarity index 100%
rename from src/ca/oldAccess.h
rename to src/ca/client/oldAccess.h
diff --git a/src/ca/oldChannelNotify.cpp b/src/ca/client/oldChannelNotify.cpp
similarity index 100%
rename from src/ca/oldChannelNotify.cpp
rename to src/ca/client/oldChannelNotify.cpp
diff --git a/src/ca/oldSubscription.cpp b/src/ca/client/oldSubscription.cpp
similarity index 100%
rename from src/ca/oldSubscription.cpp
rename to src/ca/client/oldSubscription.cpp
diff --git a/src/cap5/CA.pm b/src/ca/client/perl/CA.pm
similarity index 100%
rename from src/cap5/CA.pm
rename to src/ca/client/perl/CA.pm
diff --git a/src/cap5/Cap5.xs b/src/ca/client/perl/Cap5.xs
similarity index 100%
rename from src/cap5/Cap5.xs
rename to src/ca/client/perl/Cap5.xs
diff --git a/src/cap5/Makefile b/src/ca/client/perl/Makefile
similarity index 99%
rename from src/cap5/Makefile
rename to src/ca/client/perl/Makefile
index 05f3de1e3..55693763d 100644
--- a/src/cap5/Makefile
+++ b/src/ca/client/perl/Makefile
@@ -5,7 +5,7 @@
# in file LICENSE that is included with this distribution.
#*************************************************************************
-TOP=../..
+TOP=../../../..
include $(TOP)/configure/CONFIG
diff --git a/src/cap5/caget.pl b/src/ca/client/perl/caget.pl
similarity index 100%
rename from src/cap5/caget.pl
rename to src/ca/client/perl/caget.pl
diff --git a/src/cap5/cainfo.pl b/src/ca/client/perl/cainfo.pl
similarity index 100%
rename from src/cap5/cainfo.pl
rename to src/ca/client/perl/cainfo.pl
diff --git a/src/cap5/camonitor.pl b/src/ca/client/perl/camonitor.pl
similarity index 100%
rename from src/cap5/camonitor.pl
rename to src/ca/client/perl/camonitor.pl
diff --git a/src/cap5/capr.pl b/src/ca/client/perl/capr.pl
similarity index 100%
rename from src/cap5/capr.pl
rename to src/ca/client/perl/capr.pl
diff --git a/src/cap5/caput.pl b/src/ca/client/perl/caput.pl
similarity index 100%
rename from src/cap5/caput.pl
rename to src/ca/client/perl/caput.pl
diff --git a/src/cap5/perlConfig.pl b/src/ca/client/perl/perlConfig.pl
similarity index 100%
rename from src/cap5/perlConfig.pl
rename to src/ca/client/perl/perlConfig.pl
diff --git a/src/ca/putCallback.cpp b/src/ca/client/putCallback.cpp
similarity index 100%
rename from src/ca/putCallback.cpp
rename to src/ca/client/putCallback.cpp
diff --git a/src/util/rc2.caRepeater b/src/ca/client/rc2.caRepeater
similarity index 100%
rename from src/util/rc2.caRepeater
rename to src/ca/client/rc2.caRepeater
diff --git a/src/ca/repeater.cpp b/src/ca/client/repeater.cpp
similarity index 100%
rename from src/ca/repeater.cpp
rename to src/ca/client/repeater.cpp
diff --git a/src/ca/repeaterClient.h b/src/ca/client/repeaterClient.h
similarity index 100%
rename from src/ca/repeaterClient.h
rename to src/ca/client/repeaterClient.h
diff --git a/src/ca/repeaterSubscribeTimer.cpp b/src/ca/client/repeaterSubscribeTimer.cpp
similarity index 100%
rename from src/ca/repeaterSubscribeTimer.cpp
rename to src/ca/client/repeaterSubscribeTimer.cpp
diff --git a/src/ca/repeaterSubscribeTimer.h b/src/ca/client/repeaterSubscribeTimer.h
similarity index 100%
rename from src/ca/repeaterSubscribeTimer.h
rename to src/ca/client/repeaterSubscribeTimer.h
diff --git a/src/ca/searchTimer.cpp b/src/ca/client/searchTimer.cpp
similarity index 100%
rename from src/ca/searchTimer.cpp
rename to src/ca/client/searchTimer.cpp
diff --git a/src/ca/searchTimer.h b/src/ca/client/searchTimer.h
similarity index 100%
rename from src/ca/searchTimer.h
rename to src/ca/client/searchTimer.h
diff --git a/src/ca/sgAutoPtr.h b/src/ca/client/sgAutoPtr.h
similarity index 100%
rename from src/ca/sgAutoPtr.h
rename to src/ca/client/sgAutoPtr.h
diff --git a/src/ca/syncGroup.h b/src/ca/client/syncGroup.h
similarity index 100%
rename from src/ca/syncGroup.h
rename to src/ca/client/syncGroup.h
diff --git a/src/ca/syncGroupNotify.cpp b/src/ca/client/syncGroupNotify.cpp
similarity index 100%
rename from src/ca/syncGroupNotify.cpp
rename to src/ca/client/syncGroupNotify.cpp
diff --git a/src/ca/syncGroupReadNotify.cpp b/src/ca/client/syncGroupReadNotify.cpp
similarity index 100%
rename from src/ca/syncGroupReadNotify.cpp
rename to src/ca/client/syncGroupReadNotify.cpp
diff --git a/src/ca/syncGroupWriteNotify.cpp b/src/ca/client/syncGroupWriteNotify.cpp
similarity index 100%
rename from src/ca/syncGroupWriteNotify.cpp
rename to src/ca/client/syncGroupWriteNotify.cpp
diff --git a/src/ca/syncgrp.cpp b/src/ca/client/syncgrp.cpp
similarity index 100%
rename from src/ca/syncgrp.cpp
rename to src/ca/client/syncgrp.cpp
diff --git a/src/ca/tcpRecvThread.cpp b/src/ca/client/tcpRecvThread.cpp
similarity index 100%
rename from src/ca/tcpRecvThread.cpp
rename to src/ca/client/tcpRecvThread.cpp
diff --git a/src/ca/tcpRecvWatchdog.cpp b/src/ca/client/tcpRecvWatchdog.cpp
similarity index 100%
rename from src/ca/tcpRecvWatchdog.cpp
rename to src/ca/client/tcpRecvWatchdog.cpp
diff --git a/src/ca/tcpRecvWatchdog.h b/src/ca/client/tcpRecvWatchdog.h
similarity index 100%
rename from src/ca/tcpRecvWatchdog.h
rename to src/ca/client/tcpRecvWatchdog.h
diff --git a/src/ca/tcpSendWatchdog.cpp b/src/ca/client/tcpSendWatchdog.cpp
similarity index 100%
rename from src/ca/tcpSendWatchdog.cpp
rename to src/ca/client/tcpSendWatchdog.cpp
diff --git a/src/ca/tcpSendWatchdog.h b/src/ca/client/tcpSendWatchdog.h
similarity index 100%
rename from src/ca/tcpSendWatchdog.h
rename to src/ca/client/tcpSendWatchdog.h
diff --git a/src/ca/tcpiiu.cpp b/src/ca/client/tcpiiu.cpp
similarity index 100%
rename from src/ca/tcpiiu.cpp
rename to src/ca/client/tcpiiu.cpp
diff --git a/src/ca/templateInstances.cpp b/src/ca/client/templateInstances.cpp
similarity index 100%
rename from src/ca/templateInstances.cpp
rename to src/ca/client/templateInstances.cpp
diff --git a/src/util/ca_test.c b/src/ca/client/test/ca_test.c
similarity index 100%
rename from src/util/ca_test.c
rename to src/ca/client/test/ca_test.c
diff --git a/src/util/ca_test.h b/src/ca/client/test/ca_test.h
similarity index 100%
rename from src/util/ca_test.h
rename to src/ca/client/test/ca_test.h
diff --git a/src/util/ca_test_main.c b/src/ca/client/test/ca_test_main.c
similarity index 100%
rename from src/util/ca_test_main.c
rename to src/ca/client/test/ca_test_main.c
diff --git a/src/ca/test_event.cpp b/src/ca/client/test_event.cpp
similarity index 100%
rename from src/ca/test_event.cpp
rename to src/ca/client/test_event.cpp
diff --git a/src/catools/Makefile b/src/ca/client/tools/Makefile
similarity index 98%
rename from src/catools/Makefile
rename to src/ca/client/tools/Makefile
index e7efd2be0..539e18e65 100644
--- a/src/catools/Makefile
+++ b/src/ca/client/tools/Makefile
@@ -8,7 +8,7 @@
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
-TOP=../..
+TOP=../../../..
include $(TOP)/configure/CONFIG
diff --git a/src/catools/caget.c b/src/ca/client/tools/caget.c
similarity index 100%
rename from src/catools/caget.c
rename to src/ca/client/tools/caget.c
diff --git a/src/catools/cainfo.c b/src/ca/client/tools/cainfo.c
similarity index 100%
rename from src/catools/cainfo.c
rename to src/ca/client/tools/cainfo.c
diff --git a/src/catools/camonitor.c b/src/ca/client/tools/camonitor.c
similarity index 100%
rename from src/catools/camonitor.c
rename to src/ca/client/tools/camonitor.c
diff --git a/src/catools/caput.c b/src/ca/client/tools/caput.c
similarity index 100%
rename from src/catools/caput.c
rename to src/ca/client/tools/caput.c
diff --git a/src/catools/tool_lib.c b/src/ca/client/tools/tool_lib.c
similarity index 100%
rename from src/catools/tool_lib.c
rename to src/ca/client/tools/tool_lib.c
diff --git a/src/catools/tool_lib.h b/src/ca/client/tools/tool_lib.h
similarity index 100%
rename from src/catools/tool_lib.h
rename to src/ca/client/tools/tool_lib.h
diff --git a/src/ca/ucx.h b/src/ca/client/ucx.h
similarity index 100%
rename from src/ca/ucx.h
rename to src/ca/client/ucx.h
diff --git a/src/ca/udpiiu.cpp b/src/ca/client/udpiiu.cpp
similarity index 100%
rename from src/ca/udpiiu.cpp
rename to src/ca/client/udpiiu.cpp
diff --git a/src/ca/udpiiu.h b/src/ca/client/udpiiu.h
similarity index 100%
rename from src/ca/udpiiu.h
rename to src/ca/client/udpiiu.h
diff --git a/src/ca/virtualCircuit.h b/src/ca/client/virtualCircuit.h
similarity index 100%
rename from src/ca/virtualCircuit.h
rename to src/ca/client/virtualCircuit.h
diff --git a/src/gdd/Makefile b/src/ca/legacy/gdd/Makefile
similarity index 99%
rename from src/gdd/Makefile
rename to src/ca/legacy/gdd/Makefile
index 7843f67b8..77d650424 100644
--- a/src/gdd/Makefile
+++ b/src/ca/legacy/gdd/Makefile
@@ -7,7 +7,7 @@
# in file LICENSE that is included with this distribution.
#*************************************************************************
-TOP=../..
+TOP=../../../..
include $(TOP)/configure/CONFIG
diff --git a/src/gdd/README b/src/ca/legacy/gdd/README
similarity index 100%
rename from src/gdd/README
rename to src/ca/legacy/gdd/README
diff --git a/src/gdd/aitConvert.cc b/src/ca/legacy/gdd/aitConvert.cc
similarity index 100%
rename from src/gdd/aitConvert.cc
rename to src/ca/legacy/gdd/aitConvert.cc
diff --git a/src/gdd/aitConvert.h b/src/ca/legacy/gdd/aitConvert.h
similarity index 100%
rename from src/gdd/aitConvert.h
rename to src/ca/legacy/gdd/aitConvert.h
diff --git a/src/gdd/aitGen.c b/src/ca/legacy/gdd/aitGen.c
similarity index 100%
rename from src/gdd/aitGen.c
rename to src/ca/legacy/gdd/aitGen.c
diff --git a/src/gdd/aitHelpers.cc b/src/ca/legacy/gdd/aitHelpers.cc
similarity index 100%
rename from src/gdd/aitHelpers.cc
rename to src/ca/legacy/gdd/aitHelpers.cc
diff --git a/src/gdd/aitHelpers.h b/src/ca/legacy/gdd/aitHelpers.h
similarity index 100%
rename from src/gdd/aitHelpers.h
rename to src/ca/legacy/gdd/aitHelpers.h
diff --git a/src/gdd/aitTypes.c b/src/ca/legacy/gdd/aitTypes.c
similarity index 100%
rename from src/gdd/aitTypes.c
rename to src/ca/legacy/gdd/aitTypes.c
diff --git a/src/gdd/aitTypes.h b/src/ca/legacy/gdd/aitTypes.h
similarity index 100%
rename from src/gdd/aitTypes.h
rename to src/ca/legacy/gdd/aitTypes.h
diff --git a/src/gdd/dbMapper.cc b/src/ca/legacy/gdd/dbMapper.cc
similarity index 100%
rename from src/gdd/dbMapper.cc
rename to src/ca/legacy/gdd/dbMapper.cc
diff --git a/src/gdd/dbMapper.h b/src/ca/legacy/gdd/dbMapper.h
similarity index 100%
rename from src/gdd/dbMapper.h
rename to src/ca/legacy/gdd/dbMapper.h
diff --git a/src/gdd/gdd.cc b/src/ca/legacy/gdd/gdd.cc
similarity index 100%
rename from src/gdd/gdd.cc
rename to src/ca/legacy/gdd/gdd.cc
diff --git a/src/gdd/gdd.gif b/src/ca/legacy/gdd/gdd.gif
similarity index 100%
rename from src/gdd/gdd.gif
rename to src/ca/legacy/gdd/gdd.gif
diff --git a/src/gdd/gdd.h b/src/ca/legacy/gdd/gdd.h
similarity index 100%
rename from src/gdd/gdd.h
rename to src/ca/legacy/gdd/gdd.h
diff --git a/src/gdd/gdd.html b/src/ca/legacy/gdd/gdd.html
similarity index 100%
rename from src/gdd/gdd.html
rename to src/ca/legacy/gdd/gdd.html
diff --git a/src/gdd/gdd.rc b/src/ca/legacy/gdd/gdd.rc
similarity index 100%
rename from src/gdd/gdd.rc
rename to src/ca/legacy/gdd/gdd.rc
diff --git a/src/gdd/gddAppDefs.cc b/src/ca/legacy/gdd/gddAppDefs.cc
similarity index 100%
rename from src/gdd/gddAppDefs.cc
rename to src/ca/legacy/gdd/gddAppDefs.cc
diff --git a/src/gdd/gddAppFuncTable.h b/src/ca/legacy/gdd/gddAppFuncTable.h
similarity index 100%
rename from src/gdd/gddAppFuncTable.h
rename to src/ca/legacy/gdd/gddAppFuncTable.h
diff --git a/src/gdd/gddAppTable.cc b/src/ca/legacy/gdd/gddAppTable.cc
similarity index 100%
rename from src/gdd/gddAppTable.cc
rename to src/ca/legacy/gdd/gddAppTable.cc
diff --git a/src/gdd/gddAppTable.h b/src/ca/legacy/gdd/gddAppTable.h
similarity index 100%
rename from src/gdd/gddAppTable.h
rename to src/ca/legacy/gdd/gddAppTable.h
diff --git a/src/gdd/gddArray.cc b/src/ca/legacy/gdd/gddArray.cc
similarity index 100%
rename from src/gdd/gddArray.cc
rename to src/ca/legacy/gdd/gddArray.cc
diff --git a/src/gdd/gddArray.h b/src/ca/legacy/gdd/gddArray.h
similarity index 100%
rename from src/gdd/gddArray.h
rename to src/ca/legacy/gdd/gddArray.h
diff --git a/src/gdd/gddArrayI.h b/src/ca/legacy/gdd/gddArrayI.h
similarity index 100%
rename from src/gdd/gddArrayI.h
rename to src/ca/legacy/gdd/gddArrayI.h
diff --git a/src/gdd/gddContainer.cc b/src/ca/legacy/gdd/gddContainer.cc
similarity index 100%
rename from src/gdd/gddContainer.cc
rename to src/ca/legacy/gdd/gddContainer.cc
diff --git a/src/gdd/gddContainer.h b/src/ca/legacy/gdd/gddContainer.h
similarity index 100%
rename from src/gdd/gddContainer.h
rename to src/ca/legacy/gdd/gddContainer.h
diff --git a/src/gdd/gddContainerI.h b/src/ca/legacy/gdd/gddContainerI.h
similarity index 100%
rename from src/gdd/gddContainerI.h
rename to src/ca/legacy/gdd/gddContainerI.h
diff --git a/src/gdd/gddEnumStringTable.cc b/src/ca/legacy/gdd/gddEnumStringTable.cc
similarity index 100%
rename from src/gdd/gddEnumStringTable.cc
rename to src/ca/legacy/gdd/gddEnumStringTable.cc
diff --git a/src/gdd/gddEnumStringTable.h b/src/ca/legacy/gdd/gddEnumStringTable.h
similarity index 100%
rename from src/gdd/gddEnumStringTable.h
rename to src/ca/legacy/gdd/gddEnumStringTable.h
diff --git a/src/gdd/gddErrorCodes.cc b/src/ca/legacy/gdd/gddErrorCodes.cc
similarity index 100%
rename from src/gdd/gddErrorCodes.cc
rename to src/ca/legacy/gdd/gddErrorCodes.cc
diff --git a/src/gdd/gddErrorCodes.h b/src/ca/legacy/gdd/gddErrorCodes.h
similarity index 100%
rename from src/gdd/gddErrorCodes.h
rename to src/ca/legacy/gdd/gddErrorCodes.h
diff --git a/src/gdd/gddI.h b/src/ca/legacy/gdd/gddI.h
similarity index 100%
rename from src/gdd/gddI.h
rename to src/ca/legacy/gdd/gddI.h
diff --git a/src/gdd/gddNewDel.cc b/src/ca/legacy/gdd/gddNewDel.cc
similarity index 100%
rename from src/gdd/gddNewDel.cc
rename to src/ca/legacy/gdd/gddNewDel.cc
diff --git a/src/gdd/gddNewDel.h b/src/ca/legacy/gdd/gddNewDel.h
similarity index 100%
rename from src/gdd/gddNewDel.h
rename to src/ca/legacy/gdd/gddNewDel.h
diff --git a/src/gdd/gddScalar.h b/src/ca/legacy/gdd/gddScalar.h
similarity index 100%
rename from src/gdd/gddScalar.h
rename to src/ca/legacy/gdd/gddScalar.h
diff --git a/src/gdd/gddScalarI.h b/src/ca/legacy/gdd/gddScalarI.h
similarity index 100%
rename from src/gdd/gddScalarI.h
rename to src/ca/legacy/gdd/gddScalarI.h
diff --git a/src/gdd/gddTest.cc b/src/ca/legacy/gdd/gddTest.cc
similarity index 100%
rename from src/gdd/gddTest.cc
rename to src/ca/legacy/gdd/gddTest.cc
diff --git a/src/gdd/gddUtils.cc b/src/ca/legacy/gdd/gddUtils.cc
similarity index 100%
rename from src/gdd/gddUtils.cc
rename to src/ca/legacy/gdd/gddUtils.cc
diff --git a/src/gdd/gddUtils.h b/src/ca/legacy/gdd/gddUtils.h
similarity index 100%
rename from src/gdd/gddUtils.h
rename to src/ca/legacy/gdd/gddUtils.h
diff --git a/src/gdd/gddUtilsI.h b/src/ca/legacy/gdd/gddUtilsI.h
similarity index 100%
rename from src/gdd/gddUtilsI.h
rename to src/ca/legacy/gdd/gddUtilsI.h
diff --git a/src/gdd/gddref.html b/src/ca/legacy/gdd/gddref.html
similarity index 100%
rename from src/gdd/gddref.html
rename to src/ca/legacy/gdd/gddref.html
diff --git a/src/gdd/gddref2.html b/src/ca/legacy/gdd/gddref2.html
similarity index 100%
rename from src/gdd/gddref2.html
rename to src/ca/legacy/gdd/gddref2.html
diff --git a/src/gdd/genApps.cc b/src/ca/legacy/gdd/genApps.cc
similarity index 100%
rename from src/gdd/genApps.cc
rename to src/ca/legacy/gdd/genApps.cc
diff --git a/src/gdd/smartGDDPointer.h b/src/ca/legacy/gdd/smartGDDPointer.h
similarity index 100%
rename from src/gdd/smartGDDPointer.h
rename to src/ca/legacy/gdd/smartGDDPointer.h
diff --git a/src/cas/Makefile b/src/ca/legacy/pcas/Makefile
similarity index 97%
rename from src/cas/Makefile
rename to src/ca/legacy/pcas/Makefile
index e6fd6ea91..04884424e 100644
--- a/src/cas/Makefile
+++ b/src/ca/legacy/pcas/Makefile
@@ -7,7 +7,7 @@
# in file LICENSE that is included with this distribution.
#*************************************************************************
-TOP=../..
+TOP=../../../..
include $(TOP)/configure/CONFIG
diff --git a/src/cas/README b/src/ca/legacy/pcas/README
similarity index 100%
rename from src/cas/README
rename to src/ca/legacy/pcas/README
diff --git a/src/cas/RELEASE_NOTES b/src/ca/legacy/pcas/RELEASE_NOTES
similarity index 100%
rename from src/cas/RELEASE_NOTES
rename to src/ca/legacy/pcas/RELEASE_NOTES
diff --git a/src/cas/build/Makefile b/src/ca/legacy/pcas/build/Makefile
similarity index 96%
rename from src/cas/build/Makefile
rename to src/ca/legacy/pcas/build/Makefile
index ab4a14d99..296bc59ef 100644
--- a/src/cas/build/Makefile
+++ b/src/ca/legacy/pcas/build/Makefile
@@ -7,10 +7,10 @@
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
-TOP := ../../..
-CAS := $(TOP)/src/cas
+TOP := ../../../../..
+CAS := $(TOP)/src/ca/legacy/pcas
SRC := $(CAS)/generic
-CA := $(CAS)/../ca
+CA := $(TOP)/src/ca/client
IOSRC := $(CAS)/io/bsdSocket
STSRC := $(SRC)/st
diff --git a/src/cas/build/cas.rc b/src/ca/legacy/pcas/build/cas.rc
similarity index 100%
rename from src/cas/build/cas.rc
rename to src/ca/legacy/pcas/build/cas.rc
diff --git a/src/excas/Makefile b/src/ca/legacy/pcas/ex/Makefile
similarity index 92%
rename from src/excas/Makefile
rename to src/ca/legacy/pcas/ex/Makefile
index 72950f2ef..ce8049f3e 100644
--- a/src/excas/Makefile
+++ b/src/ca/legacy/pcas/ex/Makefile
@@ -7,13 +7,13 @@
# in file LICENSE that is included with this distribution.
#*************************************************************************
-TOP=../..
+TOP=../../../../..
include $(TOP)/configure/CONFIG
PROD_LIBS += $(EPICS_BASE_HOST_LIBS)
-SRC_DIRS += $(TOP)/src/makeBaseApp/top/caServerApp
+SRC_DIRS += $(TOP)/src/template/base/top/caServerApp
#
# Added ws2_32 winmm user32 for the non-dll build
diff --git a/src/cas/example/Makefile b/src/ca/legacy/pcas/example/Makefile
similarity index 97%
rename from src/cas/example/Makefile
rename to src/ca/legacy/pcas/example/Makefile
index 8f4cc5100..9ec9d6b6a 100644
--- a/src/cas/example/Makefile
+++ b/src/ca/legacy/pcas/example/Makefile
@@ -8,7 +8,7 @@
# in file LICENSE that is included with this distribution.
#*************************************************************************
-TOP=../../..
+TOP=../../../../..
include $(TOP)/configure/CONFIG
diff --git a/src/cas/example/README b/src/ca/legacy/pcas/example/README
similarity index 100%
rename from src/cas/example/README
rename to src/ca/legacy/pcas/example/README
diff --git a/src/cas/example/directoryService/Makefile b/src/ca/legacy/pcas/example/directoryService/Makefile
similarity index 97%
rename from src/cas/example/directoryService/Makefile
rename to src/ca/legacy/pcas/example/directoryService/Makefile
index d6b4aefb7..93d3c2ef6 100644
--- a/src/cas/example/directoryService/Makefile
+++ b/src/ca/legacy/pcas/example/directoryService/Makefile
@@ -8,7 +8,7 @@
# in file LICENSE that is included with this distribution.
#*************************************************************************
-TOP=../../../..
+TOP=../../../../../..
include $(TOP)/configure/CONFIG
diff --git a/src/cas/example/directoryService/README b/src/ca/legacy/pcas/example/directoryService/README
similarity index 100%
rename from src/cas/example/directoryService/README
rename to src/ca/legacy/pcas/example/directoryService/README
diff --git a/src/cas/example/directoryService/directoryServer.cc b/src/ca/legacy/pcas/example/directoryService/directoryServer.cc
similarity index 100%
rename from src/cas/example/directoryService/directoryServer.cc
rename to src/ca/legacy/pcas/example/directoryService/directoryServer.cc
diff --git a/src/cas/example/directoryService/directoryServer.h b/src/ca/legacy/pcas/example/directoryService/directoryServer.h
similarity index 100%
rename from src/cas/example/directoryService/directoryServer.h
rename to src/ca/legacy/pcas/example/directoryService/directoryServer.h
diff --git a/src/cas/example/directoryService/main.cc b/src/ca/legacy/pcas/example/directoryService/main.cc
similarity index 100%
rename from src/cas/example/directoryService/main.cc
rename to src/ca/legacy/pcas/example/directoryService/main.cc
diff --git a/src/cas/example/directoryService/pvDirectory.txt b/src/ca/legacy/pcas/example/directoryService/pvDirectory.txt
similarity index 100%
rename from src/cas/example/directoryService/pvDirectory.txt
rename to src/ca/legacy/pcas/example/directoryService/pvDirectory.txt
diff --git a/src/cas/example/directoryService/test.adl b/src/ca/legacy/pcas/example/directoryService/test.adl
similarity index 100%
rename from src/cas/example/directoryService/test.adl
rename to src/ca/legacy/pcas/example/directoryService/test.adl
diff --git a/src/cas/example/directoryService/vxEntry.cc b/src/ca/legacy/pcas/example/directoryService/vxEntry.cc
similarity index 100%
rename from src/cas/example/directoryService/vxEntry.cc
rename to src/ca/legacy/pcas/example/directoryService/vxEntry.cc
diff --git a/src/cas/generic/README b/src/ca/legacy/pcas/generic/README
similarity index 100%
rename from src/cas/generic/README
rename to src/ca/legacy/pcas/generic/README
diff --git a/src/cas/generic/beaconAnomalyGovernor.cc b/src/ca/legacy/pcas/generic/beaconAnomalyGovernor.cc
similarity index 100%
rename from src/cas/generic/beaconAnomalyGovernor.cc
rename to src/ca/legacy/pcas/generic/beaconAnomalyGovernor.cc
diff --git a/src/cas/generic/beaconAnomalyGovernor.h b/src/ca/legacy/pcas/generic/beaconAnomalyGovernor.h
similarity index 100%
rename from src/cas/generic/beaconAnomalyGovernor.h
rename to src/ca/legacy/pcas/generic/beaconAnomalyGovernor.h
diff --git a/src/cas/generic/beaconTimer.cc b/src/ca/legacy/pcas/generic/beaconTimer.cc
similarity index 100%
rename from src/cas/generic/beaconTimer.cc
rename to src/ca/legacy/pcas/generic/beaconTimer.cc
diff --git a/src/cas/generic/beaconTimer.h b/src/ca/legacy/pcas/generic/beaconTimer.h
similarity index 100%
rename from src/cas/generic/beaconTimer.h
rename to src/ca/legacy/pcas/generic/beaconTimer.h
diff --git a/src/cas/generic/caHdrLargeArray.h b/src/ca/legacy/pcas/generic/caHdrLargeArray.h
similarity index 100%
rename from src/cas/generic/caHdrLargeArray.h
rename to src/ca/legacy/pcas/generic/caHdrLargeArray.h
diff --git a/src/cas/generic/caNetAddr.cc b/src/ca/legacy/pcas/generic/caNetAddr.cc
similarity index 100%
rename from src/cas/generic/caNetAddr.cc
rename to src/ca/legacy/pcas/generic/caNetAddr.cc
diff --git a/src/cas/generic/caNetAddr.h b/src/ca/legacy/pcas/generic/caNetAddr.h
similarity index 100%
rename from src/cas/generic/caNetAddr.h
rename to src/ca/legacy/pcas/generic/caNetAddr.h
diff --git a/src/cas/generic/caServer.cc b/src/ca/legacy/pcas/generic/caServer.cc
similarity index 100%
rename from src/cas/generic/caServer.cc
rename to src/ca/legacy/pcas/generic/caServer.cc
diff --git a/src/cas/generic/caServerDefs.h b/src/ca/legacy/pcas/generic/caServerDefs.h
similarity index 100%
rename from src/cas/generic/caServerDefs.h
rename to src/ca/legacy/pcas/generic/caServerDefs.h
diff --git a/src/cas/generic/caServerI.cc b/src/ca/legacy/pcas/generic/caServerI.cc
similarity index 100%
rename from src/cas/generic/caServerI.cc
rename to src/ca/legacy/pcas/generic/caServerI.cc
diff --git a/src/cas/generic/caServerI.h b/src/ca/legacy/pcas/generic/caServerI.h
similarity index 100%
rename from src/cas/generic/caServerI.h
rename to src/ca/legacy/pcas/generic/caServerI.h
diff --git a/src/cas/generic/casAddr.h b/src/ca/legacy/pcas/generic/casAddr.h
similarity index 100%
rename from src/cas/generic/casAddr.h
rename to src/ca/legacy/pcas/generic/casAddr.h
diff --git a/src/cas/generic/casAsyncIOI.cc b/src/ca/legacy/pcas/generic/casAsyncIOI.cc
similarity index 100%
rename from src/cas/generic/casAsyncIOI.cc
rename to src/ca/legacy/pcas/generic/casAsyncIOI.cc
diff --git a/src/cas/generic/casAsyncIOI.h b/src/ca/legacy/pcas/generic/casAsyncIOI.h
similarity index 100%
rename from src/cas/generic/casAsyncIOI.h
rename to src/ca/legacy/pcas/generic/casAsyncIOI.h
diff --git a/src/cas/generic/casAsyncPVAttachIO.cc b/src/ca/legacy/pcas/generic/casAsyncPVAttachIO.cc
similarity index 100%
rename from src/cas/generic/casAsyncPVAttachIO.cc
rename to src/ca/legacy/pcas/generic/casAsyncPVAttachIO.cc
diff --git a/src/cas/generic/casAsyncPVAttachIOI.cpp b/src/ca/legacy/pcas/generic/casAsyncPVAttachIOI.cpp
similarity index 100%
rename from src/cas/generic/casAsyncPVAttachIOI.cpp
rename to src/ca/legacy/pcas/generic/casAsyncPVAttachIOI.cpp
diff --git a/src/cas/generic/casAsyncPVAttachIOI.h b/src/ca/legacy/pcas/generic/casAsyncPVAttachIOI.h
similarity index 100%
rename from src/cas/generic/casAsyncPVAttachIOI.h
rename to src/ca/legacy/pcas/generic/casAsyncPVAttachIOI.h
diff --git a/src/cas/generic/casAsyncPVExistIO.cc b/src/ca/legacy/pcas/generic/casAsyncPVExistIO.cc
similarity index 100%
rename from src/cas/generic/casAsyncPVExistIO.cc
rename to src/ca/legacy/pcas/generic/casAsyncPVExistIO.cc
diff --git a/src/cas/generic/casAsyncPVExistIOI.cpp b/src/ca/legacy/pcas/generic/casAsyncPVExistIOI.cpp
similarity index 100%
rename from src/cas/generic/casAsyncPVExistIOI.cpp
rename to src/ca/legacy/pcas/generic/casAsyncPVExistIOI.cpp
diff --git a/src/cas/generic/casAsyncPVExistIOI.h b/src/ca/legacy/pcas/generic/casAsyncPVExistIOI.h
similarity index 100%
rename from src/cas/generic/casAsyncPVExistIOI.h
rename to src/ca/legacy/pcas/generic/casAsyncPVExistIOI.h
diff --git a/src/cas/generic/casAsyncReadIO.cc b/src/ca/legacy/pcas/generic/casAsyncReadIO.cc
similarity index 100%
rename from src/cas/generic/casAsyncReadIO.cc
rename to src/ca/legacy/pcas/generic/casAsyncReadIO.cc
diff --git a/src/cas/generic/casAsyncReadIOI.cc b/src/ca/legacy/pcas/generic/casAsyncReadIOI.cc
similarity index 100%
rename from src/cas/generic/casAsyncReadIOI.cc
rename to src/ca/legacy/pcas/generic/casAsyncReadIOI.cc
diff --git a/src/cas/generic/casAsyncReadIOI.h b/src/ca/legacy/pcas/generic/casAsyncReadIOI.h
similarity index 100%
rename from src/cas/generic/casAsyncReadIOI.h
rename to src/ca/legacy/pcas/generic/casAsyncReadIOI.h
diff --git a/src/cas/generic/casAsyncWriteIO.cc b/src/ca/legacy/pcas/generic/casAsyncWriteIO.cc
similarity index 100%
rename from src/cas/generic/casAsyncWriteIO.cc
rename to src/ca/legacy/pcas/generic/casAsyncWriteIO.cc
diff --git a/src/cas/generic/casAsyncWriteIOI.cpp b/src/ca/legacy/pcas/generic/casAsyncWriteIOI.cpp
similarity index 100%
rename from src/cas/generic/casAsyncWriteIOI.cpp
rename to src/ca/legacy/pcas/generic/casAsyncWriteIOI.cpp
diff --git a/src/cas/generic/casAsyncWriteIOI.h b/src/ca/legacy/pcas/generic/casAsyncWriteIOI.h
similarity index 100%
rename from src/cas/generic/casAsyncWriteIOI.h
rename to src/ca/legacy/pcas/generic/casAsyncWriteIOI.h
diff --git a/src/cas/generic/casBufferFactory.cpp b/src/ca/legacy/pcas/generic/casBufferFactory.cpp
similarity index 100%
rename from src/cas/generic/casBufferFactory.cpp
rename to src/ca/legacy/pcas/generic/casBufferFactory.cpp
diff --git a/src/cas/generic/casChannel.cc b/src/ca/legacy/pcas/generic/casChannel.cc
similarity index 100%
rename from src/cas/generic/casChannel.cc
rename to src/ca/legacy/pcas/generic/casChannel.cc
diff --git a/src/cas/generic/casChannelI.cc b/src/ca/legacy/pcas/generic/casChannelI.cc
similarity index 100%
rename from src/cas/generic/casChannelI.cc
rename to src/ca/legacy/pcas/generic/casChannelI.cc
diff --git a/src/cas/generic/casChannelI.h b/src/ca/legacy/pcas/generic/casChannelI.h
similarity index 100%
rename from src/cas/generic/casChannelI.h
rename to src/ca/legacy/pcas/generic/casChannelI.h
diff --git a/src/cas/generic/casCoreClient.cc b/src/ca/legacy/pcas/generic/casCoreClient.cc
similarity index 100%
rename from src/cas/generic/casCoreClient.cc
rename to src/ca/legacy/pcas/generic/casCoreClient.cc
diff --git a/src/cas/generic/casCoreClient.h b/src/ca/legacy/pcas/generic/casCoreClient.h
similarity index 100%
rename from src/cas/generic/casCoreClient.h
rename to src/ca/legacy/pcas/generic/casCoreClient.h
diff --git a/src/cas/generic/casCtx.cc b/src/ca/legacy/pcas/generic/casCtx.cc
similarity index 100%
rename from src/cas/generic/casCtx.cc
rename to src/ca/legacy/pcas/generic/casCtx.cc
diff --git a/src/cas/generic/casCtx.h b/src/ca/legacy/pcas/generic/casCtx.h
similarity index 100%
rename from src/cas/generic/casCtx.h
rename to src/ca/legacy/pcas/generic/casCtx.h
diff --git a/src/cas/generic/casCtxIL.h b/src/ca/legacy/pcas/generic/casCtxIL.h
similarity index 100%
rename from src/cas/generic/casCtxIL.h
rename to src/ca/legacy/pcas/generic/casCtxIL.h
diff --git a/src/cas/generic/casDGClient.cc b/src/ca/legacy/pcas/generic/casDGClient.cc
similarity index 100%
rename from src/cas/generic/casDGClient.cc
rename to src/ca/legacy/pcas/generic/casDGClient.cc
diff --git a/src/cas/generic/casDGClient.h b/src/ca/legacy/pcas/generic/casDGClient.h
similarity index 100%
rename from src/cas/generic/casDGClient.h
rename to src/ca/legacy/pcas/generic/casDGClient.h
diff --git a/src/cas/generic/casEvent.h b/src/ca/legacy/pcas/generic/casEvent.h
similarity index 100%
rename from src/cas/generic/casEvent.h
rename to src/ca/legacy/pcas/generic/casEvent.h
diff --git a/src/cas/generic/casEventMask.cc b/src/ca/legacy/pcas/generic/casEventMask.cc
similarity index 100%
rename from src/cas/generic/casEventMask.cc
rename to src/ca/legacy/pcas/generic/casEventMask.cc
diff --git a/src/cas/generic/casEventMask.h b/src/ca/legacy/pcas/generic/casEventMask.h
similarity index 100%
rename from src/cas/generic/casEventMask.h
rename to src/ca/legacy/pcas/generic/casEventMask.h
diff --git a/src/cas/generic/casEventRegistry.h b/src/ca/legacy/pcas/generic/casEventRegistry.h
similarity index 100%
rename from src/cas/generic/casEventRegistry.h
rename to src/ca/legacy/pcas/generic/casEventRegistry.h
diff --git a/src/cas/generic/casEventSys.cc b/src/ca/legacy/pcas/generic/casEventSys.cc
similarity index 100%
rename from src/cas/generic/casEventSys.cc
rename to src/ca/legacy/pcas/generic/casEventSys.cc
diff --git a/src/cas/generic/casEventSys.h b/src/ca/legacy/pcas/generic/casEventSys.h
similarity index 100%
rename from src/cas/generic/casEventSys.h
rename to src/ca/legacy/pcas/generic/casEventSys.h
diff --git a/src/cas/generic/casMonEvent.cc b/src/ca/legacy/pcas/generic/casMonEvent.cc
similarity index 100%
rename from src/cas/generic/casMonEvent.cc
rename to src/ca/legacy/pcas/generic/casMonEvent.cc
diff --git a/src/cas/generic/casMonEvent.h b/src/ca/legacy/pcas/generic/casMonEvent.h
similarity index 100%
rename from src/cas/generic/casMonEvent.h
rename to src/ca/legacy/pcas/generic/casMonEvent.h
diff --git a/src/cas/generic/casMonitor.cc b/src/ca/legacy/pcas/generic/casMonitor.cc
similarity index 100%
rename from src/cas/generic/casMonitor.cc
rename to src/ca/legacy/pcas/generic/casMonitor.cc
diff --git a/src/cas/generic/casMonitor.h b/src/ca/legacy/pcas/generic/casMonitor.h
similarity index 100%
rename from src/cas/generic/casMonitor.h
rename to src/ca/legacy/pcas/generic/casMonitor.h
diff --git a/src/cas/generic/casOpaqueAddr.cc b/src/ca/legacy/pcas/generic/casOpaqueAddr.cc
similarity index 100%
rename from src/cas/generic/casOpaqueAddr.cc
rename to src/ca/legacy/pcas/generic/casOpaqueAddr.cc
diff --git a/src/cas/generic/casOpaqueAddrIL.h b/src/ca/legacy/pcas/generic/casOpaqueAddrIL.h
similarity index 100%
rename from src/cas/generic/casOpaqueAddrIL.h
rename to src/ca/legacy/pcas/generic/casOpaqueAddrIL.h
diff --git a/src/cas/generic/casPV.cc b/src/ca/legacy/pcas/generic/casPV.cc
similarity index 100%
rename from src/cas/generic/casPV.cc
rename to src/ca/legacy/pcas/generic/casPV.cc
diff --git a/src/cas/generic/casPVI.cc b/src/ca/legacy/pcas/generic/casPVI.cc
similarity index 100%
rename from src/cas/generic/casPVI.cc
rename to src/ca/legacy/pcas/generic/casPVI.cc
diff --git a/src/cas/generic/casPVI.h b/src/ca/legacy/pcas/generic/casPVI.h
similarity index 100%
rename from src/cas/generic/casPVI.h
rename to src/ca/legacy/pcas/generic/casPVI.h
diff --git a/src/cas/generic/casStrmClient.cc b/src/ca/legacy/pcas/generic/casStrmClient.cc
similarity index 100%
rename from src/cas/generic/casStrmClient.cc
rename to src/ca/legacy/pcas/generic/casStrmClient.cc
diff --git a/src/cas/generic/casStrmClient.h b/src/ca/legacy/pcas/generic/casStrmClient.h
similarity index 100%
rename from src/cas/generic/casStrmClient.h
rename to src/ca/legacy/pcas/generic/casStrmClient.h
diff --git a/src/cas/generic/casdef.h b/src/ca/legacy/pcas/generic/casdef.h
similarity index 100%
rename from src/cas/generic/casdef.h
rename to src/ca/legacy/pcas/generic/casdef.h
diff --git a/src/cas/generic/chanIntfForPV.cc b/src/ca/legacy/pcas/generic/chanIntfForPV.cc
similarity index 100%
rename from src/cas/generic/chanIntfForPV.cc
rename to src/ca/legacy/pcas/generic/chanIntfForPV.cc
diff --git a/src/cas/generic/chanIntfForPV.h b/src/ca/legacy/pcas/generic/chanIntfForPV.h
similarity index 100%
rename from src/cas/generic/chanIntfForPV.h
rename to src/ca/legacy/pcas/generic/chanIntfForPV.h
diff --git a/src/cas/generic/channelDestroyEvent.cpp b/src/ca/legacy/pcas/generic/channelDestroyEvent.cpp
similarity index 100%
rename from src/cas/generic/channelDestroyEvent.cpp
rename to src/ca/legacy/pcas/generic/channelDestroyEvent.cpp
diff --git a/src/cas/generic/channelDestroyEvent.h b/src/ca/legacy/pcas/generic/channelDestroyEvent.h
similarity index 100%
rename from src/cas/generic/channelDestroyEvent.h
rename to src/ca/legacy/pcas/generic/channelDestroyEvent.h
diff --git a/src/cas/generic/clientBufMemoryManager.cpp b/src/ca/legacy/pcas/generic/clientBufMemoryManager.cpp
similarity index 100%
rename from src/cas/generic/clientBufMemoryManager.cpp
rename to src/ca/legacy/pcas/generic/clientBufMemoryManager.cpp
diff --git a/src/cas/generic/clientBufMemoryManager.h b/src/ca/legacy/pcas/generic/clientBufMemoryManager.h
similarity index 100%
rename from src/cas/generic/clientBufMemoryManager.h
rename to src/ca/legacy/pcas/generic/clientBufMemoryManager.h
diff --git a/src/cas/generic/inBuf.cc b/src/ca/legacy/pcas/generic/inBuf.cc
similarity index 100%
rename from src/cas/generic/inBuf.cc
rename to src/ca/legacy/pcas/generic/inBuf.cc
diff --git a/src/cas/generic/inBuf.h b/src/ca/legacy/pcas/generic/inBuf.h
similarity index 100%
rename from src/cas/generic/inBuf.h
rename to src/ca/legacy/pcas/generic/inBuf.h
diff --git a/src/cas/generic/ioBlocked.h b/src/ca/legacy/pcas/generic/ioBlocked.h
similarity index 100%
rename from src/cas/generic/ioBlocked.h
rename to src/ca/legacy/pcas/generic/ioBlocked.h
diff --git a/src/cas/generic/mt/README b/src/ca/legacy/pcas/generic/mt/README
similarity index 100%
rename from src/cas/generic/mt/README
rename to src/ca/legacy/pcas/generic/mt/README
diff --git a/src/cas/generic/mt/ioBlocked.cc b/src/ca/legacy/pcas/generic/mt/ioBlocked.cc
similarity index 100%
rename from src/cas/generic/mt/ioBlocked.cc
rename to src/ca/legacy/pcas/generic/mt/ioBlocked.cc
diff --git a/src/cas/generic/outBuf.cc b/src/ca/legacy/pcas/generic/outBuf.cc
similarity index 100%
rename from src/cas/generic/outBuf.cc
rename to src/ca/legacy/pcas/generic/outBuf.cc
diff --git a/src/cas/generic/outBuf.h b/src/ca/legacy/pcas/generic/outBuf.h
similarity index 100%
rename from src/cas/generic/outBuf.h
rename to src/ca/legacy/pcas/generic/outBuf.h
diff --git a/src/cas/generic/pvAttachReturn.cc b/src/ca/legacy/pcas/generic/pvAttachReturn.cc
similarity index 100%
rename from src/cas/generic/pvAttachReturn.cc
rename to src/ca/legacy/pcas/generic/pvAttachReturn.cc
diff --git a/src/cas/generic/pvExistReturn.cc b/src/ca/legacy/pcas/generic/pvExistReturn.cc
similarity index 100%
rename from src/cas/generic/pvExistReturn.cc
rename to src/ca/legacy/pcas/generic/pvExistReturn.cc
diff --git a/src/cas/generic/st/README b/src/ca/legacy/pcas/generic/st/README
similarity index 100%
rename from src/cas/generic/st/README
rename to src/ca/legacy/pcas/generic/st/README
diff --git a/src/cas/generic/st/caServerOS.cc b/src/ca/legacy/pcas/generic/st/caServerOS.cc
similarity index 100%
rename from src/cas/generic/st/caServerOS.cc
rename to src/ca/legacy/pcas/generic/st/caServerOS.cc
diff --git a/src/cas/generic/st/casDGEvWakeup.h b/src/ca/legacy/pcas/generic/st/casDGEvWakeup.h
similarity index 100%
rename from src/cas/generic/st/casDGEvWakeup.h
rename to src/ca/legacy/pcas/generic/st/casDGEvWakeup.h
diff --git a/src/cas/generic/st/casDGIOWakeup.h b/src/ca/legacy/pcas/generic/st/casDGIOWakeup.h
similarity index 100%
rename from src/cas/generic/st/casDGIOWakeup.h
rename to src/ca/legacy/pcas/generic/st/casDGIOWakeup.h
diff --git a/src/cas/generic/st/casDGIntfOS.cc b/src/ca/legacy/pcas/generic/st/casDGIntfOS.cc
similarity index 100%
rename from src/cas/generic/st/casDGIntfOS.cc
rename to src/ca/legacy/pcas/generic/st/casDGIntfOS.cc
diff --git a/src/cas/generic/st/casDGIntfOS.h b/src/ca/legacy/pcas/generic/st/casDGIntfOS.h
similarity index 100%
rename from src/cas/generic/st/casDGIntfOS.h
rename to src/ca/legacy/pcas/generic/st/casDGIntfOS.h
diff --git a/src/cas/generic/st/casIntfOS.cc b/src/ca/legacy/pcas/generic/st/casIntfOS.cc
similarity index 100%
rename from src/cas/generic/st/casIntfOS.cc
rename to src/ca/legacy/pcas/generic/st/casIntfOS.cc
diff --git a/src/cas/generic/st/casIntfOS.h b/src/ca/legacy/pcas/generic/st/casIntfOS.h
similarity index 100%
rename from src/cas/generic/st/casIntfOS.h
rename to src/ca/legacy/pcas/generic/st/casIntfOS.h
diff --git a/src/cas/generic/st/casOSD.h b/src/ca/legacy/pcas/generic/st/casOSD.h
similarity index 100%
rename from src/cas/generic/st/casOSD.h
rename to src/ca/legacy/pcas/generic/st/casOSD.h
diff --git a/src/cas/generic/st/casStreamOS.cc b/src/ca/legacy/pcas/generic/st/casStreamOS.cc
similarity index 100%
rename from src/cas/generic/st/casStreamOS.cc
rename to src/ca/legacy/pcas/generic/st/casStreamOS.cc
diff --git a/src/cas/generic/st/casStreamOS.h b/src/ca/legacy/pcas/generic/st/casStreamOS.h
similarity index 100%
rename from src/cas/generic/st/casStreamOS.h
rename to src/ca/legacy/pcas/generic/st/casStreamOS.h
diff --git a/src/cas/generic/st/ioBlocked.cc b/src/ca/legacy/pcas/generic/st/ioBlocked.cc
similarity index 100%
rename from src/cas/generic/st/ioBlocked.cc
rename to src/ca/legacy/pcas/generic/st/ioBlocked.cc
diff --git a/src/cas/generic/st/osiMutexCAS.h b/src/ca/legacy/pcas/generic/st/osiMutexCAS.h
similarity index 100%
rename from src/cas/generic/st/osiMutexCAS.h
rename to src/ca/legacy/pcas/generic/st/osiMutexCAS.h
diff --git a/src/cas/generic/templateInstances.cpp b/src/ca/legacy/pcas/generic/templateInstances.cpp
similarity index 100%
rename from src/cas/generic/templateInstances.cpp
rename to src/ca/legacy/pcas/generic/templateInstances.cpp
diff --git a/src/cas/io/bsdSocket/README b/src/ca/legacy/pcas/io/bsdSocket/README
similarity index 100%
rename from src/cas/io/bsdSocket/README
rename to src/ca/legacy/pcas/io/bsdSocket/README
diff --git a/src/cas/io/bsdSocket/caServerIO.cc b/src/ca/legacy/pcas/io/bsdSocket/caServerIO.cc
similarity index 100%
rename from src/cas/io/bsdSocket/caServerIO.cc
rename to src/ca/legacy/pcas/io/bsdSocket/caServerIO.cc
diff --git a/src/cas/io/bsdSocket/caServerIO.h b/src/ca/legacy/pcas/io/bsdSocket/caServerIO.h
similarity index 100%
rename from src/cas/io/bsdSocket/caServerIO.h
rename to src/ca/legacy/pcas/io/bsdSocket/caServerIO.h
diff --git a/src/cas/io/bsdSocket/casDGIntfIO.cc b/src/ca/legacy/pcas/io/bsdSocket/casDGIntfIO.cc
similarity index 100%
rename from src/cas/io/bsdSocket/casDGIntfIO.cc
rename to src/ca/legacy/pcas/io/bsdSocket/casDGIntfIO.cc
diff --git a/src/cas/io/bsdSocket/casDGIntfIO.h b/src/ca/legacy/pcas/io/bsdSocket/casDGIntfIO.h
similarity index 100%
rename from src/cas/io/bsdSocket/casDGIntfIO.h
rename to src/ca/legacy/pcas/io/bsdSocket/casDGIntfIO.h
diff --git a/src/cas/io/bsdSocket/casIOD.h b/src/ca/legacy/pcas/io/bsdSocket/casIOD.h
similarity index 100%
rename from src/cas/io/bsdSocket/casIOD.h
rename to src/ca/legacy/pcas/io/bsdSocket/casIOD.h
diff --git a/src/cas/io/bsdSocket/casIntfIO.cc b/src/ca/legacy/pcas/io/bsdSocket/casIntfIO.cc
similarity index 100%
rename from src/cas/io/bsdSocket/casIntfIO.cc
rename to src/ca/legacy/pcas/io/bsdSocket/casIntfIO.cc
diff --git a/src/cas/io/bsdSocket/casIntfIO.h b/src/ca/legacy/pcas/io/bsdSocket/casIntfIO.h
similarity index 100%
rename from src/cas/io/bsdSocket/casIntfIO.h
rename to src/ca/legacy/pcas/io/bsdSocket/casIntfIO.h
diff --git a/src/cas/io/bsdSocket/casStreamIO.cc b/src/ca/legacy/pcas/io/bsdSocket/casStreamIO.cc
similarity index 100%
rename from src/cas/io/bsdSocket/casStreamIO.cc
rename to src/ca/legacy/pcas/io/bsdSocket/casStreamIO.cc
diff --git a/src/cas/io/bsdSocket/casStreamIO.h b/src/ca/legacy/pcas/io/bsdSocket/casStreamIO.h
similarity index 100%
rename from src/cas/io/bsdSocket/casStreamIO.h
rename to src/ca/legacy/pcas/io/bsdSocket/casStreamIO.h
diff --git a/src/cas/io/bsdSocket/ipIgnoreEntry.cpp b/src/ca/legacy/pcas/io/bsdSocket/ipIgnoreEntry.cpp
similarity index 100%
rename from src/cas/io/bsdSocket/ipIgnoreEntry.cpp
rename to src/ca/legacy/pcas/io/bsdSocket/ipIgnoreEntry.cpp
diff --git a/src/cas/io/bsdSocket/ipIgnoreEntry.h b/src/ca/legacy/pcas/io/bsdSocket/ipIgnoreEntry.h
similarity index 100%
rename from src/cas/io/bsdSocket/ipIgnoreEntry.h
rename to src/ca/legacy/pcas/io/bsdSocket/ipIgnoreEntry.h
diff --git a/src/cas/os/vms/BUILD_VMS.COM b/src/ca/legacy/pcas/os/vms/BUILD_VMS.COM
similarity index 100%
rename from src/cas/os/vms/BUILD_VMS.COM
rename to src/ca/legacy/pcas/os/vms/BUILD_VMS.COM
diff --git a/src/cas/os/vms/README b/src/ca/legacy/pcas/os/vms/README
similarity index 100%
rename from src/cas/os/vms/README
rename to src/ca/legacy/pcas/os/vms/README
diff --git a/src/cas/os/vms/casSpecificOS.h b/src/ca/legacy/pcas/os/vms/casSpecificOS.h
similarity index 100%
rename from src/cas/os/vms/casSpecificOS.h
rename to src/ca/legacy/pcas/os/vms/casSpecificOS.h
diff --git a/src/cas/os/vms/login.com b/src/ca/legacy/pcas/os/vms/login.com
similarity index 100%
rename from src/cas/os/vms/login.com
rename to src/ca/legacy/pcas/os/vms/login.com
diff --git a/src/cas/os/vms/mitfp.c b/src/ca/legacy/pcas/os/vms/mitfp.c
similarity index 100%
rename from src/cas/os/vms/mitfp.c
rename to src/ca/legacy/pcas/os/vms/mitfp.c
diff --git a/src/cas/os/vms/mitfp.cc b/src/ca/legacy/pcas/os/vms/mitfp.cc
similarity index 100%
rename from src/cas/os/vms/mitfp.cc
rename to src/ca/legacy/pcas/os/vms/mitfp.cc
diff --git a/src/cas/os/vms/mitfp.h b/src/ca/legacy/pcas/os/vms/mitfp.h
similarity index 100%
rename from src/cas/os/vms/mitfp.h
rename to src/ca/legacy/pcas/os/vms/mitfp.h
diff --git a/src/cas/os/vms/vms_depen.h b/src/ca/legacy/pcas/os/vms/vms_depen.h
similarity index 100%
rename from src/cas/os/vms/vms_depen.h
rename to src/ca/legacy/pcas/os/vms/vms_depen.h
diff --git a/src/cas/test/gddAppFuncTableTest.cc b/src/ca/legacy/pcas/test/gddAppFuncTableTest.cc
similarity index 100%
rename from src/cas/test/gddAppFuncTableTest.cc
rename to src/ca/legacy/pcas/test/gddAppFuncTableTest.cc
diff --git a/src/dbStatic/dbStaticIoc.rc b/src/dbStatic/dbStaticIoc.rc
deleted file mode 100755
index 865e8102d..000000000
--- a/src/dbStatic/dbStaticIoc.rc
+++ /dev/null
@@ -1,36 +0,0 @@
-#include
-#include "epicsVersion.h"
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION EPICS_VERSION,EPICS_REVISION,EPICS_MODIFICATION,EPICS_PATCH_LEVEL
- PRODUCTVERSION EPICS_VERSION,EPICS_REVISION,EPICS_MODIFICATION,EPICS_PATCH_LEVEL
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS VOS__WINDOWS32
- FILETYPE VFT_UNKNOWN
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments","Static Ioc Database Library for EPICS\0"
- VALUE "CompanyName", "The EPICS collaboration\0"
- VALUE "FileDescription", "Static Ioc Database Library\0"
- VALUE "FileVersion", EPICS_VERSION_STRING "\0"
- VALUE "InternalName", "dbStaticIoc\0"
- VALUE "LegalCopyright", "Copyright (C) Univ. of California, Univ. of Chicago\0"
- VALUE "OriginalFilename", "dbStaticIoc.dll\0"
- VALUE "ProductName", "Experimental Physics and Industrial Control System (EPICS)\0"
- VALUE "ProductVersion", EPICS_VERSION_STRING "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
diff --git a/src/dbtools/Makefile b/src/dbtools/Makefile
deleted file mode 100644
index 4ae2d322c..000000000
--- a/src/dbtools/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-#*************************************************************************
-# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
-# National Laboratory.
-# Copyright (c) 2002 The Regents of the University of California, as
-# Operator of Los Alamos National Laboratory.
-# EPICS BASE is distributed subject to a Software License Agreement found
-# in file LICENSE that is included with this distribution.
-#*************************************************************************
-TOP=../..
-
-include $(TOP)/configure/CONFIG
-
-INC += dbLoadTemplate.h
-INC += dbtoolsIocRegister.h
-
-LIB_SRCS += dbLoadTemplate.c
-LIB_SRCS += dbtoolsIocRegister.c
-
-LIBRARY_IOC = dbtoolsIoc
-
-dbtoolsIoc_LIBS = dbIoc dbStaticIoc Com
-
-dbtoolsIoc_RCS = dbtoolsIoc.rc
-
-HTMLS += dbLoadTemplate.html
-
-include $(TOP)/configure/RULES
-
-#
-# These lex sources are included in some C sources,
-# so they have to be created in time:
-#
-dbLoadTemplate.c: dbLoadTemplate_lex.c ../dbLoadTemplate.h
-
-clean::
- @$(RM) dbLoadTemplate_lex.c dbLoadTemplate.c
-
diff --git a/src/dbtools/dbtoolsIoc.rc b/src/dbtools/dbtoolsIoc.rc
deleted file mode 100755
index 5f3d70bf4..000000000
--- a/src/dbtools/dbtoolsIoc.rc
+++ /dev/null
@@ -1,36 +0,0 @@
-#include
-#include "epicsVersion.h"
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION EPICS_VERSION,EPICS_REVISION,EPICS_MODIFICATION,EPICS_PATCH_LEVEL
- PRODUCTVERSION EPICS_VERSION,EPICS_REVISION,EPICS_MODIFICATION,EPICS_PATCH_LEVEL
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS VOS__WINDOWS32
- FILETYPE VFT_UNKNOWN
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments","Ioc Database Tools Library for EPICS\0"
- VALUE "CompanyName", "The EPICS collaboration\0"
- VALUE "FileDescription", "Ioc Database Tools Library\0"
- VALUE "FileVersion", EPICS_VERSION_STRING "\0"
- VALUE "InternalName", "dbtoolsIoc\0"
- VALUE "LegalCopyright", "Copyright (C) Univ. of California, Univ. of Chicago\0"
- VALUE "OriginalFilename", "dbtoolsIoc.dll\0"
- VALUE "ProductName", "Experimental Physics and Industrial Control System (EPICS)\0"
- VALUE "ProductVersion", EPICS_VERSION_STRING "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
diff --git a/src/dev/softDev/Makefile b/src/dev/softDev/Makefile
deleted file mode 100644
index 4c3eb5a51..000000000
--- a/src/dev/softDev/Makefile
+++ /dev/null
@@ -1,61 +0,0 @@
-#*************************************************************************
-# Copyright (c) 2006 UChicago Argonne LLC, as Operator of Argonne
-# National Laboratory.
-# Copyright (c) 2002 The Regents of the University of California, as
-# Operator of Los Alamos National Laboratory.
-# EPICS BASE is distributed subject to a Software License Agreement found
-# in file LICENSE that is included with this distribution.
-#*************************************************************************
-TOP=../../..
-
-include $(TOP)/configure/CONFIG
-
-DBD += devSoft.dbd
-
-LIBSRCS += devAaiSoft.c
-LIBSRCS += devAaoSoft.c
-LIBSRCS += devAiSoft.c
-LIBSRCS += devAiSoftRaw.c
-LIBSRCS += devAoSoft.c
-LIBSRCS += devAoSoftRaw.c
-LIBSRCS += devBiSoft.c
-LIBSRCS += devBiSoftRaw.c
-LIBSRCS += devBoSoft.c
-LIBSRCS += devBoSoftRaw.c
-LIBSRCS += devCalcoutSoft.c
-LIBSRCS += devEventSoft.c
-LIBSRCS += devHistogramSoft.c
-LIBSRCS += devLiSoft.c
-LIBSRCS += devLoSoft.c
-LIBSRCS += devMbbiDirectSoft.c
-LIBSRCS += devMbbiDirectSoftRaw.c
-LIBSRCS += devMbbiSoft.c
-LIBSRCS += devMbbiSoftRaw.c
-LIBSRCS += devMbboDirectSoft.c
-LIBSRCS += devMbboDirectSoftRaw.c
-LIBSRCS += devMbboSoft.c
-LIBSRCS += devMbboSoftRaw.c
-LIBSRCS += devSASoft.c
-LIBSRCS += devSiSoft.c
-LIBSRCS += devSoSoft.c
-LIBSRCS += devWfSoft.c
-LIBSRCS += devGeneralTime.c
-
-LIBSRCS += devAoSoftCallback.c
-LIBSRCS += devBoSoftCallback.c
-LIBSRCS += devCalcoutSoftCallback.c
-LIBSRCS += devLoSoftCallback.c
-LIBSRCS += devMbboSoftCallback.c
-LIBSRCS += devMbboDirectSoftCallback.c
-LIBSRCS += devSoSoftCallback.c
-
-LIBSRCS += devTimestamp.c
-LIBSRCS += devSoStdio.c
-
-LIBRARY_IOC += softDevIoc
-softDevIoc_LIBS += miscIoc recIoc asIoc dbIoc registryIoc dbStaticIoc ca Com
-softDevIoc_RCS = softDevIoc.rc
-
-include $(TOP)/configure/RULES
-
-
diff --git a/src/as/Makefile b/src/ioc/Makefile
similarity index 50%
rename from src/as/Makefile
rename to src/ioc/Makefile
index 0f72ae7ab..6dbd13b54 100644
--- a/src/as/Makefile
+++ b/src/ioc/Makefile
@@ -7,39 +7,34 @@
# in file LICENSE that is included with this distribution.
#*************************************************************************
TOP=../..
+
include $(TOP)/configure/CONFIG
-INC += asLib.h
-INC += asDbLib.h
-INC += asCa.h
-INC += asTrapWrite.h
-INC += asIocRegister.h
+SRC = $(TOP)/src
+IOCDIR = $(SRC)/ioc
-LIB_SRCS += asLib.c
-LIB_SRCS += asTrapWrite.c
+LIBRARY_IOC += dbCore
+dbCore_LIBS += ca Com
+dbCore_SYS_LIBS_WIN32 += ws2_32
-asIoc_SRCS += asDbLib.c
-asIoc_SRCS += asCa.c
-asIoc_SRCS += asIocRegister.c
+dbCore_RCS += dbCore.rc
+dbStaticHost_RCS = dbStaticHost.rc
-LIBRARY_HOST = asHost
-LIBRARY_IOC = asIoc
+PROD_LIBS = Com
-asHost_LIBS = dbStaticHost ca Com
-asIoc_LIBS = dbIoc dbStaticIoc ca Com
-
-asHost_RCS = asHost.rc
-asIoc_RCS = asIoc.rc
-
-PROD_HOST = ascheck
-ascheck_SRCS = ascheck.c
-PROD_LIBS = asHost dbStaticHost ca Com
+include $(IOCDIR)/as/Makefile
+include $(IOCDIR)/bpt/Makefile
+include $(IOCDIR)/db/Makefile
+include $(IOCDIR)/dbStatic/Makefile
+include $(IOCDIR)/dbtemplate/Makefile
+include $(IOCDIR)/misc/Makefile
+include $(IOCDIR)/registry/Makefile
+include $(IOCDIR)/rsrv/Makefile
include $(TOP)/configure/RULES
-# Extra rule since asLib_lex.c is included by asLib.c
-asLib$(OBJ): asLib_lex.c
-
-clean::
- @$(RM) asLib.c asLib_lex.c
+include $(IOCDIR)/dbStatic/RULES
+include $(IOCDIR)/bpt/RULES
+include $(IOCDIR)/db/RULES
+include $(IOCDIR)/dbtemplate/RULES
diff --git a/src/ioc/as/Makefile b/src/ioc/as/Makefile
new file mode 100644
index 000000000..a2d973b6d
--- /dev/null
+++ b/src/ioc/as/Makefile
@@ -0,0 +1,27 @@
+#*************************************************************************
+# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# Copyright (c) 2010 Brookhaven Science Associates, as Operator of
+# Brookhaven National Lab.
+# Copyright (c) 2002 The Regents of the University of California, as
+# Operator of Los Alamos National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/ioc/Makefile.
+
+SRC_DIRS += $(IOCDIR)/as
+
+INC += asDbLib.h
+INC += asCa.h
+INC += asIocRegister.h
+
+dbCore_SRCS += asDbLib.c
+dbCore_SRCS += asCa.c
+dbCore_SRCS += asIocRegister.c
+
+PROD_HOST += ascheck
+ascheck_SRCS = ascheck.c
+ascheck_LIBS = dbStaticHost
+
diff --git a/src/as/asCa.c b/src/ioc/as/asCa.c
similarity index 100%
rename from src/as/asCa.c
rename to src/ioc/as/asCa.c
diff --git a/src/as/asCa.h b/src/ioc/as/asCa.h
similarity index 100%
rename from src/as/asCa.h
rename to src/ioc/as/asCa.h
diff --git a/src/as/asDbLib.c b/src/ioc/as/asDbLib.c
similarity index 100%
rename from src/as/asDbLib.c
rename to src/ioc/as/asDbLib.c
diff --git a/src/as/asDbLib.h b/src/ioc/as/asDbLib.h
similarity index 100%
rename from src/as/asDbLib.h
rename to src/ioc/as/asDbLib.h
diff --git a/src/as/asIocRegister.c b/src/ioc/as/asIocRegister.c
similarity index 100%
rename from src/as/asIocRegister.c
rename to src/ioc/as/asIocRegister.c
diff --git a/src/as/asIocRegister.h b/src/ioc/as/asIocRegister.h
similarity index 100%
rename from src/as/asIocRegister.h
rename to src/ioc/as/asIocRegister.h
diff --git a/src/as/ascheck.c b/src/ioc/as/ascheck.c
similarity index 100%
rename from src/as/ascheck.c
rename to src/ioc/as/ascheck.c
diff --git a/src/bpt/Makefile b/src/ioc/bpt/Makefile
similarity index 64%
rename from src/bpt/Makefile
rename to src/ioc/bpt/Makefile
index de98cd0f4..82a1f7ef1 100644
--- a/src/bpt/Makefile
+++ b/src/ioc/bpt/Makefile
@@ -1,29 +1,27 @@
#*************************************************************************
-# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
+# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
-TOP=../..
-include $(TOP)/configure/CONFIG
+
+# This is a Makefile fragment, see src/ioc/Makefile.
+
+SRC_DIRS += $(IOCDIR)/bpt
INC += cvtTable.h
DBD += menuConvert.dbd
INC += menuConvert.h
-DBD += bptTypeJdegC.dbd
-DBD += bptTypeJdegF.dbd
-DBD += bptTypeKdegC.dbd
-DBD += bptTypeKdegF.dbd
+BPT_DBD += bptTypeJdegC.dbd
+BPT_DBD += bptTypeJdegF.dbd
+BPT_DBD += bptTypeKdegC.dbd
+BPT_DBD += bptTypeKdegF.dbd
+DBD += $(BPT_DBD)
-PROD_LIBS = Com
PROD_HOST += makeBpt
makeBpt_SRCS=makeBpt
-include $(TOP)/configure/RULES
-
-$(COMMON_DBDS): $(TOOLS)/makeBpt$(HOSTEXE)
-
diff --git a/src/ioc/bpt/RULES b/src/ioc/bpt/RULES
new file mode 100644
index 000000000..f97606412
--- /dev/null
+++ b/src/ioc/bpt/RULES
@@ -0,0 +1,16 @@
+#*************************************************************************
+# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# Copyright (c) 2010 Brookhaven Science Associates, as Operator of
+# Brookhaven National Lab.
+# Copyright (c) 2002 The Regents of the University of California, as
+# Operator of Los Alamos National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/ioc/Makefile.
+
+$(patsubst %,$(COMMON_DIR)/%,$(BPT_DBD)) : \
+$(COMMON_DIR)/bpt%.dbd : $(call PATH_FILTER, $(TOOLS)/makeBpt$(HOSTEXE))
+
diff --git a/src/bpt/bptTypeJdegC.data b/src/ioc/bpt/bptTypeJdegC.data
similarity index 100%
rename from src/bpt/bptTypeJdegC.data
rename to src/ioc/bpt/bptTypeJdegC.data
diff --git a/src/bpt/bptTypeJdegF.data b/src/ioc/bpt/bptTypeJdegF.data
similarity index 100%
rename from src/bpt/bptTypeJdegF.data
rename to src/ioc/bpt/bptTypeJdegF.data
diff --git a/src/bpt/bptTypeKdegC.data b/src/ioc/bpt/bptTypeKdegC.data
similarity index 100%
rename from src/bpt/bptTypeKdegC.data
rename to src/ioc/bpt/bptTypeKdegC.data
diff --git a/src/bpt/bptTypeKdegF.data b/src/ioc/bpt/bptTypeKdegF.data
similarity index 100%
rename from src/bpt/bptTypeKdegF.data
rename to src/ioc/bpt/bptTypeKdegF.data
diff --git a/src/bpt/cvtTable.h b/src/ioc/bpt/cvtTable.h
similarity index 100%
rename from src/bpt/cvtTable.h
rename to src/ioc/bpt/cvtTable.h
diff --git a/src/bpt/makeBpt.c b/src/ioc/bpt/makeBpt.c
similarity index 100%
rename from src/bpt/makeBpt.c
rename to src/ioc/bpt/makeBpt.c
diff --git a/src/bpt/menuConvert.dbd b/src/ioc/bpt/menuConvert.dbd
similarity index 100%
rename from src/bpt/menuConvert.dbd
rename to src/ioc/bpt/menuConvert.dbd
diff --git a/src/db/Makefile b/src/ioc/db/Makefile
similarity index 51%
rename from src/db/Makefile
rename to src/ioc/db/Makefile
index 6898107a7..50715ad32 100644
--- a/src/db/Makefile
+++ b/src/ioc/db/Makefile
@@ -1,16 +1,16 @@
#*************************************************************************
-# Copyright (c) 2007 UChicago Argonne LLC, as Operator of Argonne
+# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
-TOP=../..
-include $(TOP)/configure/CONFIG
-# includes to install from this sub-project
-#
+# This is a Makefile fragment, see src/ioc/Makefile.
+
+SRC_DIRS += $(IOCDIR)/db
+
INC += callback.h
INC += dbAccess.h
INC += dbAccessDefs.h
@@ -49,43 +49,28 @@ DBDINC += menuSimm
DBDINC += dbCommon
DBD+= menuGlobal.dbd
-LIB_SRCS += dbLock.c
-LIB_SRCS += dbAccess.c
-LIB_SRCS += dbBkpt.c
-LIB_SRCS += dbConvert.c
-LIB_SRCS += dbFastLinkConv.c
-LIB_SRCS += dbNotify.c
-LIB_SRCS += dbScan.c
-LIB_SRCS += dbEvent.c
-LIB_SRCS += dbTest.c
-LIB_SRCS += db_access.c
-LIB_SRCS += db_test.c
-LIB_SRCS += recGbl.c
-LIB_SRCS += callback.c
-LIB_SRCS += dbCa.c
-LIB_SRCS += dbCaTest.c
-LIB_SRCS += initHooks.c
-LIB_SRCS += cvtBpt.c
-LIB_SRCS += dbContext.cpp
-LIB_SRCS += dbChannelIO.cpp
-LIB_SRCS += dbSubscriptionIO.cpp
-LIB_SRCS += dbPutNotifyBlocker.cpp
-LIB_SRCS += dbContextReadNotifyCache.cpp
-LIB_SRCS += templateInstances.cpp
-LIB_SRCS += dbIocRegister.c
-
-LIBRARY_IOC = dbIoc
-dbIoc_LIBS = dbStaticIoc ca Com
-
-dbIoc_RCS = dbIoc.rc
-
-include $(TOP)/configure/RULES
-
-dbCommon.h$(DEP): ../dbCommonRecord.dbd ../dbCommon.dbd
- @$(RM) $@
- @-$(MKMF) -m $@ .. $(COMMON_DIR)/dbCommon.h $<
-
-$(COMMON_DIR)/dbCommon.h: ../dbCommonRecord.dbd ../dbCommon.dbd
- $(RM) $@
- $(DBTORECORDTYPEH) -I .. $< $@
+dbCore_SRCS += dbLock.c
+dbCore_SRCS += dbAccess.c
+dbCore_SRCS += dbBkpt.c
+dbCore_SRCS += dbConvert.c
+dbCore_SRCS += dbFastLinkConv.c
+dbCore_SRCS += dbNotify.c
+dbCore_SRCS += dbScan.c
+dbCore_SRCS += dbEvent.c
+dbCore_SRCS += dbTest.c
+dbCore_SRCS += db_access.c
+dbCore_SRCS += db_test.c
+dbCore_SRCS += recGbl.c
+dbCore_SRCS += callback.c
+dbCore_SRCS += dbCa.c
+dbCore_SRCS += dbCaTest.c
+dbCore_SRCS += initHooks.c
+dbCore_SRCS += cvtBpt.c
+dbCore_SRCS += dbContext.cpp
+dbCore_SRCS += dbChannelIO.cpp
+dbCore_SRCS += dbSubscriptionIO.cpp
+dbCore_SRCS += dbPutNotifyBlocker.cpp
+dbCore_SRCS += dbContextReadNotifyCache.cpp
+dbCore_SRCS += templateInstances.cpp
+dbCore_SRCS += dbIocRegister.c
diff --git a/src/ioc/db/RULES b/src/ioc/db/RULES
new file mode 100644
index 000000000..14a421e5c
--- /dev/null
+++ b/src/ioc/db/RULES
@@ -0,0 +1,28 @@
+#*************************************************************************
+# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# Copyright (c) 2010 Brookhaven Science Associates, as Operator of
+# Brookhaven National Lab.
+# Copyright (c) 2002 The Regents of the University of California, as
+# Operator of Los Alamos National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/ioc/Makefile.
+
+$(filter-out $(STATIC_SRCS),$(dbCore_SRCS)) : $(COMMON_DIR)/dbCommon.h
+
+dbCommon.h$(DEP): $(IOCDIR)/db/dbCommonRecord.dbd $(IOCDIR)/db/dbCommon.dbd
+ @$(RM) $@
+ @-$(MKMF) -m $@ ../db $(COMMON_DIR)/dbCommon.h $<
+
+$(COMMON_DIR)/dbCommon.h: $(IOCDIR)/db/dbCommonRecord.dbd $(IOCDIR)/db/dbCommon.dbd
+ $(RM) $@
+ $(DBTORECORDTYPEH) -I ../db $< $@
+
+$(COMMON_DIR)/dbCommon.h: $(DBTORECORDTYPEH)
+
+$(patsubst %,$(COMMON_DIR)/%.h,$(DBDINC) menuConvert menuGlobal) : \
+$(COMMON_DIR)/%.h : $(DBTOMENUH)
+
diff --git a/src/db/callback.c b/src/ioc/db/callback.c
similarity index 100%
rename from src/db/callback.c
rename to src/ioc/db/callback.c
diff --git a/src/db/callback.h b/src/ioc/db/callback.h
similarity index 100%
rename from src/db/callback.h
rename to src/ioc/db/callback.h
diff --git a/src/db/cvtBpt.c b/src/ioc/db/cvtBpt.c
similarity index 100%
rename from src/db/cvtBpt.c
rename to src/ioc/db/cvtBpt.c
diff --git a/src/db/dbAccess.c b/src/ioc/db/dbAccess.c
similarity index 100%
rename from src/db/dbAccess.c
rename to src/ioc/db/dbAccess.c
diff --git a/src/db/dbAccess.h b/src/ioc/db/dbAccess.h
similarity index 100%
rename from src/db/dbAccess.h
rename to src/ioc/db/dbAccess.h
diff --git a/src/db/dbAccessDefs.h b/src/ioc/db/dbAccessDefs.h
similarity index 100%
rename from src/db/dbAccessDefs.h
rename to src/ioc/db/dbAccessDefs.h
diff --git a/src/db/dbAddr.h b/src/ioc/db/dbAddr.h
similarity index 100%
rename from src/db/dbAddr.h
rename to src/ioc/db/dbAddr.h
diff --git a/src/db/dbBkpt.c b/src/ioc/db/dbBkpt.c
similarity index 100%
rename from src/db/dbBkpt.c
rename to src/ioc/db/dbBkpt.c
diff --git a/src/db/dbBkpt.h b/src/ioc/db/dbBkpt.h
similarity index 100%
rename from src/db/dbBkpt.h
rename to src/ioc/db/dbBkpt.h
diff --git a/src/db/dbCAC.h b/src/ioc/db/dbCAC.h
similarity index 100%
rename from src/db/dbCAC.h
rename to src/ioc/db/dbCAC.h
diff --git a/src/db/dbCa.c b/src/ioc/db/dbCa.c
similarity index 100%
rename from src/db/dbCa.c
rename to src/ioc/db/dbCa.c
diff --git a/src/db/dbCa.h b/src/ioc/db/dbCa.h
similarity index 100%
rename from src/db/dbCa.h
rename to src/ioc/db/dbCa.h
diff --git a/src/db/dbCaPvt.h b/src/ioc/db/dbCaPvt.h
similarity index 100%
rename from src/db/dbCaPvt.h
rename to src/ioc/db/dbCaPvt.h
diff --git a/src/db/dbCaTest.c b/src/ioc/db/dbCaTest.c
similarity index 100%
rename from src/db/dbCaTest.c
rename to src/ioc/db/dbCaTest.c
diff --git a/src/db/dbCaTest.h b/src/ioc/db/dbCaTest.h
similarity index 100%
rename from src/db/dbCaTest.h
rename to src/ioc/db/dbCaTest.h
diff --git a/src/db/dbChannelIO.cpp b/src/ioc/db/dbChannelIO.cpp
similarity index 100%
rename from src/db/dbChannelIO.cpp
rename to src/ioc/db/dbChannelIO.cpp
diff --git a/src/db/dbChannelIO.h b/src/ioc/db/dbChannelIO.h
similarity index 100%
rename from src/db/dbChannelIO.h
rename to src/ioc/db/dbChannelIO.h
diff --git a/src/db/dbCommon.dbd b/src/ioc/db/dbCommon.dbd
similarity index 100%
rename from src/db/dbCommon.dbd
rename to src/ioc/db/dbCommon.dbd
diff --git a/src/db/dbCommonRecord.dbd b/src/ioc/db/dbCommonRecord.dbd
similarity index 100%
rename from src/db/dbCommonRecord.dbd
rename to src/ioc/db/dbCommonRecord.dbd
diff --git a/src/db/dbContext.cpp b/src/ioc/db/dbContext.cpp
similarity index 100%
rename from src/db/dbContext.cpp
rename to src/ioc/db/dbContext.cpp
diff --git a/src/db/dbContextReadNotifyCache.cpp b/src/ioc/db/dbContextReadNotifyCache.cpp
similarity index 100%
rename from src/db/dbContextReadNotifyCache.cpp
rename to src/ioc/db/dbContextReadNotifyCache.cpp
diff --git a/src/db/dbConvert.c b/src/ioc/db/dbConvert.c
similarity index 100%
rename from src/db/dbConvert.c
rename to src/ioc/db/dbConvert.c
diff --git a/src/db/dbConvert.h b/src/ioc/db/dbConvert.h
similarity index 100%
rename from src/db/dbConvert.h
rename to src/ioc/db/dbConvert.h
diff --git a/src/db/dbConvertFast.h b/src/ioc/db/dbConvertFast.h
similarity index 100%
rename from src/db/dbConvertFast.h
rename to src/ioc/db/dbConvertFast.h
diff --git a/src/db/dbEvent.c b/src/ioc/db/dbEvent.c
similarity index 100%
rename from src/db/dbEvent.c
rename to src/ioc/db/dbEvent.c
diff --git a/src/db/dbEvent.h b/src/ioc/db/dbEvent.h
similarity index 100%
rename from src/db/dbEvent.h
rename to src/ioc/db/dbEvent.h
diff --git a/src/db/dbFastLinkConv.c b/src/ioc/db/dbFastLinkConv.c
similarity index 100%
rename from src/db/dbFastLinkConv.c
rename to src/ioc/db/dbFastLinkConv.c
diff --git a/src/db/dbIocRegister.c b/src/ioc/db/dbIocRegister.c
similarity index 100%
rename from src/db/dbIocRegister.c
rename to src/ioc/db/dbIocRegister.c
diff --git a/src/db/dbIocRegister.h b/src/ioc/db/dbIocRegister.h
similarity index 100%
rename from src/db/dbIocRegister.h
rename to src/ioc/db/dbIocRegister.h
diff --git a/src/db/dbLock.c b/src/ioc/db/dbLock.c
similarity index 100%
rename from src/db/dbLock.c
rename to src/ioc/db/dbLock.c
diff --git a/src/db/dbLock.h b/src/ioc/db/dbLock.h
similarity index 100%
rename from src/db/dbLock.h
rename to src/ioc/db/dbLock.h
diff --git a/src/db/dbNotify.c b/src/ioc/db/dbNotify.c
similarity index 100%
rename from src/db/dbNotify.c
rename to src/ioc/db/dbNotify.c
diff --git a/src/db/dbNotify.h b/src/ioc/db/dbNotify.h
similarity index 100%
rename from src/db/dbNotify.h
rename to src/ioc/db/dbNotify.h
diff --git a/src/db/dbPutNotifyBlocker.cpp b/src/ioc/db/dbPutNotifyBlocker.cpp
similarity index 100%
rename from src/db/dbPutNotifyBlocker.cpp
rename to src/ioc/db/dbPutNotifyBlocker.cpp
diff --git a/src/db/dbPutNotifyBlocker.h b/src/ioc/db/dbPutNotifyBlocker.h
similarity index 100%
rename from src/db/dbPutNotifyBlocker.h
rename to src/ioc/db/dbPutNotifyBlocker.h
diff --git a/src/db/dbScan.c b/src/ioc/db/dbScan.c
similarity index 100%
rename from src/db/dbScan.c
rename to src/ioc/db/dbScan.c
diff --git a/src/db/dbScan.h b/src/ioc/db/dbScan.h
similarity index 100%
rename from src/db/dbScan.h
rename to src/ioc/db/dbScan.h
diff --git a/src/db/dbSubscriptionIO.cpp b/src/ioc/db/dbSubscriptionIO.cpp
similarity index 100%
rename from src/db/dbSubscriptionIO.cpp
rename to src/ioc/db/dbSubscriptionIO.cpp
diff --git a/src/db/dbTest.c b/src/ioc/db/dbTest.c
similarity index 100%
rename from src/db/dbTest.c
rename to src/ioc/db/dbTest.c
diff --git a/src/db/dbTest.h b/src/ioc/db/dbTest.h
similarity index 100%
rename from src/db/dbTest.h
rename to src/ioc/db/dbTest.h
diff --git a/src/db/db_access.c b/src/ioc/db/db_access.c
similarity index 100%
rename from src/db/db_access.c
rename to src/ioc/db/db_access.c
diff --git a/src/db/db_access_routines.h b/src/ioc/db/db_access_routines.h
similarity index 100%
rename from src/db/db_access_routines.h
rename to src/ioc/db/db_access_routines.h
diff --git a/src/db/db_convert.h b/src/ioc/db/db_convert.h
similarity index 100%
rename from src/db/db_convert.h
rename to src/ioc/db/db_convert.h
diff --git a/src/db/db_field_log.h b/src/ioc/db/db_field_log.h
similarity index 100%
rename from src/db/db_field_log.h
rename to src/ioc/db/db_field_log.h
diff --git a/src/db/db_test.c b/src/ioc/db/db_test.c
similarity index 100%
rename from src/db/db_test.c
rename to src/ioc/db/db_test.c
diff --git a/src/db/db_test.h b/src/ioc/db/db_test.h
similarity index 100%
rename from src/db/db_test.h
rename to src/ioc/db/db_test.h
diff --git a/src/db/initHooks.c b/src/ioc/db/initHooks.c
similarity index 100%
rename from src/db/initHooks.c
rename to src/ioc/db/initHooks.c
diff --git a/src/db/initHooks.h b/src/ioc/db/initHooks.h
similarity index 100%
rename from src/db/initHooks.h
rename to src/ioc/db/initHooks.h
diff --git a/src/db/menuAlarmSevr.dbd b/src/ioc/db/menuAlarmSevr.dbd
similarity index 100%
rename from src/db/menuAlarmSevr.dbd
rename to src/ioc/db/menuAlarmSevr.dbd
diff --git a/src/db/menuAlarmStat.dbd b/src/ioc/db/menuAlarmStat.dbd
similarity index 100%
rename from src/db/menuAlarmStat.dbd
rename to src/ioc/db/menuAlarmStat.dbd
diff --git a/src/db/menuCompress.dbd b/src/ioc/db/menuCompress.dbd
similarity index 100%
rename from src/db/menuCompress.dbd
rename to src/ioc/db/menuCompress.dbd
diff --git a/src/db/menuFtype.dbd b/src/ioc/db/menuFtype.dbd
similarity index 100%
rename from src/db/menuFtype.dbd
rename to src/ioc/db/menuFtype.dbd
diff --git a/src/db/menuGlobal.dbd b/src/ioc/db/menuGlobal.dbd
similarity index 100%
rename from src/db/menuGlobal.dbd
rename to src/ioc/db/menuGlobal.dbd
diff --git a/src/db/menuIvoa.dbd b/src/ioc/db/menuIvoa.dbd
similarity index 100%
rename from src/db/menuIvoa.dbd
rename to src/ioc/db/menuIvoa.dbd
diff --git a/src/db/menuOmsl.dbd b/src/ioc/db/menuOmsl.dbd
similarity index 100%
rename from src/db/menuOmsl.dbd
rename to src/ioc/db/menuOmsl.dbd
diff --git a/src/db/menuPini.dbd b/src/ioc/db/menuPini.dbd
similarity index 100%
rename from src/db/menuPini.dbd
rename to src/ioc/db/menuPini.dbd
diff --git a/src/db/menuPriority.dbd b/src/ioc/db/menuPriority.dbd
similarity index 100%
rename from src/db/menuPriority.dbd
rename to src/ioc/db/menuPriority.dbd
diff --git a/src/db/menuScan.dbd b/src/ioc/db/menuScan.dbd
similarity index 100%
rename from src/db/menuScan.dbd
rename to src/ioc/db/menuScan.dbd
diff --git a/src/db/menuSimm.dbd b/src/ioc/db/menuSimm.dbd
similarity index 100%
rename from src/db/menuSimm.dbd
rename to src/ioc/db/menuSimm.dbd
diff --git a/src/db/menuYesNo.dbd b/src/ioc/db/menuYesNo.dbd
similarity index 100%
rename from src/db/menuYesNo.dbd
rename to src/ioc/db/menuYesNo.dbd
diff --git a/src/db/recGbl.c b/src/ioc/db/recGbl.c
similarity index 100%
rename from src/db/recGbl.c
rename to src/ioc/db/recGbl.c
diff --git a/src/db/recGbl.h b/src/ioc/db/recGbl.h
similarity index 100%
rename from src/db/recGbl.h
rename to src/ioc/db/recGbl.h
diff --git a/src/db/templateInstances.cpp b/src/ioc/db/templateInstances.cpp
similarity index 100%
rename from src/db/templateInstances.cpp
rename to src/ioc/db/templateInstances.cpp
diff --git a/src/db/test/Makefile b/src/ioc/db/test/Makefile
similarity index 82%
rename from src/db/test/Makefile
rename to src/ioc/db/test/Makefile
index 164ab4d1a..3ee77ca07 100644
--- a/src/db/test/Makefile
+++ b/src/ioc/db/test/Makefile
@@ -6,15 +6,11 @@
# EPICS BASE is distributed subject to a Software License Agreement found
# in the file LICENSE that is included with this distribution.
#*************************************************************************
-TOP=../../..
+TOP=../../../..
include $(TOP)/configure/CONFIG
-callbackTest_LIBS = dbIoc
-callbackTest_LIBS_DEFAULT = dbStaticHost
-callbackTest_LIBS_vxWorks = dbStaticIoc
-callbackTest_LIBS_RTEMS = dbStaticIoc
-PROD_LIBS = ca Com
+PROD_LIBS = dbCore ca Com
TESTPROD_HOST += callbackTest
callbackTest_SRCS += callbackTest.c
diff --git a/src/db/test/callbackTest.c b/src/ioc/db/test/callbackTest.c
similarity index 100%
rename from src/db/test/callbackTest.c
rename to src/ioc/db/test/callbackTest.c
diff --git a/src/rec/recIoc.rc b/src/ioc/dbCore.rc
similarity index 77%
rename from src/rec/recIoc.rc
rename to src/ioc/dbCore.rc
index 7dad57625..79955e350 100755
--- a/src/rec/recIoc.rc
+++ b/src/ioc/dbCore.rc
@@ -18,13 +18,13 @@ BEGIN
BEGIN
BLOCK "040904b0"
BEGIN
- VALUE "Comments","Record Support Library for EPICS\0"
+ VALUE "Comments","Database Core Library for EPICS\0"
VALUE "CompanyName", "The EPICS collaboration\0"
- VALUE "FileDescription", "Record Support Library\0"
+ VALUE "FileDescription", "Database Core Library\0"
VALUE "FileVersion", EPICS_VERSION_STRING "\0"
- VALUE "InternalName", "rec\0"
- VALUE "LegalCopyright", "Copyright (C) Univ. of California, Univ. of Chicago\0"
- VALUE "OriginalFilename", "rec.dll\0"
+ VALUE "InternalName", "dbCore\0"
+ VALUE "LegalCopyright", "Copyright (C) Univ. of California, UChicago Argonne LLC\0"
+ VALUE "OriginalFilename", "dbCore.dll\0"
VALUE "ProductName", "Experimental Physics and Industrial Control System (EPICS)\0"
VALUE "ProductVersion", EPICS_VERSION_STRING "\0"
END
diff --git a/src/dbStatic/Makefile b/src/ioc/dbStatic/Makefile
similarity index 53%
rename from src/dbStatic/Makefile
rename to src/ioc/dbStatic/Makefile
index aa29eb968..8bcc24f41 100644
--- a/src/dbStatic/Makefile
+++ b/src/ioc/dbStatic/Makefile
@@ -1,17 +1,16 @@
#*************************************************************************
-# Copyright (c) 2007 UChicago Argonne LLC, as Operator of Argonne
+# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
-TOP=../..
-include $(TOP)/configure/CONFIG
+# This is a Makefile fragment, see src/ioc/Makefile.
+
+SRC_DIRS += $(IOCDIR)/dbStatic
-INC += alarm.h
-INC += alarmString.h
INC += dbBase.h
INC += dbFldTypes.h
INC += dbStaticLib.h
@@ -24,35 +23,34 @@ INC += drvSup.h
INC += recSup.h
INC += dbStaticIocRegister.h
-LIBSRCS += dbStaticLib.c
-LIBSRCS += dbYacc.c
-LIBSRCS += dbPvdLib.c
+STATIC_SRCS += dbStaticLib.c
+STATIC_SRCS += dbYacc.c
+STATIC_SRCS += dbPvdLib.c
+dbCore_SRCS += $(STATIC_SRCS)
+dbCore_SRCS += dbStaticRun.c
+dbCore_SRCS += dbStaticIocRegister.c
+
+dbStaticHost_SRCS += $(STATIC_SRCS)
dbStaticHost_SRCS += dbStaticNoRun.c
-dbStaticIoc_SRCS += dbStaticRun.c
-dbStaticIoc_SRCS += dbStaticIocRegister.c
LIBRARY_HOST += dbStaticHost
-LIBRARY_IOC += dbStaticIoc
dbStaticHost_LIBS = Com
-dbStaticIoc_LIBS = Com
-dbStaticHost_RCS = dbStaticHost.rc
-dbStaticIoc_RCS = dbStaticIoc.rc
-
-PROD_LIBS := dbStaticHost Com
-PROD_HOST = dbReadTest dbExpand dbToMenuH dbToRecordtypeH
+PROD_HOST += dbReadTest dbExpand dbToMenuH dbToRecordtypeH
dbReadTest_SRCS = dbReadTest.c
dbExpand_SRCS = dbExpand.c
dbToMenuH_SRCS = dbToMenuH.c
dbToRecordtypeH_SRCS = dbToRecordtypeH.c
-include $(TOP)/configure/RULES
+# Include dbStaticHost objects directly in executables
+# because of a Circular dependency induced by a rule
+# $(INSTALL_LIBS): $(INSTALL_SHRLIBS)
+# in RULES_BUILD
+dbReadTest_SRCS += $(dbStaticHost_SRCS)
+dbExpand_SRCS += $(dbStaticHost_SRCS)
+dbToMenuH_SRCS += $(dbStaticHost_SRCS)
+dbToRecordtypeH_SRCS += $(dbStaticHost_SRCS)
-# Extra rule since dbLexRoutines.c is included in dbYacc.c
-dbYacc.c: dbLex.c ../dbLexRoutines.c
-
-clean::
- @$(RM) dbLex.c dbYacc.c
diff --git a/src/ioc/dbStatic/RULES b/src/ioc/dbStatic/RULES
new file mode 100644
index 000000000..94ef256be
--- /dev/null
+++ b/src/ioc/dbStatic/RULES
@@ -0,0 +1,16 @@
+#*************************************************************************
+# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# Copyright (c) 2002 The Regents of the University of California, as
+# Operator of Los Alamos National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/ioc/Makefile.
+
+# dbLexRoutines.c is included in dbYacc.c
+dbYacc.c: dbLex.c $(IOCDIR)/dbStatic/dbLexRoutines.c
+
+clean::
+ @$(RM) dbLex.c dbYacc.c
diff --git a/src/dbStatic/dbBase.h b/src/ioc/dbStatic/dbBase.h
similarity index 100%
rename from src/dbStatic/dbBase.h
rename to src/ioc/dbStatic/dbBase.h
diff --git a/src/dbStatic/dbExpand.c b/src/ioc/dbStatic/dbExpand.c
similarity index 100%
rename from src/dbStatic/dbExpand.c
rename to src/ioc/dbStatic/dbExpand.c
diff --git a/src/dbStatic/dbFldTypes.h b/src/ioc/dbStatic/dbFldTypes.h
similarity index 100%
rename from src/dbStatic/dbFldTypes.h
rename to src/ioc/dbStatic/dbFldTypes.h
diff --git a/src/dbStatic/dbLex.l b/src/ioc/dbStatic/dbLex.l
similarity index 100%
rename from src/dbStatic/dbLex.l
rename to src/ioc/dbStatic/dbLex.l
diff --git a/src/dbStatic/dbLexRoutines.c b/src/ioc/dbStatic/dbLexRoutines.c
similarity index 100%
rename from src/dbStatic/dbLexRoutines.c
rename to src/ioc/dbStatic/dbLexRoutines.c
diff --git a/src/dbStatic/dbPvdLib.c b/src/ioc/dbStatic/dbPvdLib.c
similarity index 100%
rename from src/dbStatic/dbPvdLib.c
rename to src/ioc/dbStatic/dbPvdLib.c
diff --git a/src/dbStatic/dbReadTest.c b/src/ioc/dbStatic/dbReadTest.c
similarity index 100%
rename from src/dbStatic/dbReadTest.c
rename to src/ioc/dbStatic/dbReadTest.c
diff --git a/src/dbStatic/dbStaticIocRegister.c b/src/ioc/dbStatic/dbStaticIocRegister.c
similarity index 100%
rename from src/dbStatic/dbStaticIocRegister.c
rename to src/ioc/dbStatic/dbStaticIocRegister.c
diff --git a/src/dbStatic/dbStaticIocRegister.h b/src/ioc/dbStatic/dbStaticIocRegister.h
similarity index 100%
rename from src/dbStatic/dbStaticIocRegister.h
rename to src/ioc/dbStatic/dbStaticIocRegister.h
diff --git a/src/dbStatic/dbStaticLib.c b/src/ioc/dbStatic/dbStaticLib.c
similarity index 100%
rename from src/dbStatic/dbStaticLib.c
rename to src/ioc/dbStatic/dbStaticLib.c
diff --git a/src/dbStatic/dbStaticLib.h b/src/ioc/dbStatic/dbStaticLib.h
similarity index 100%
rename from src/dbStatic/dbStaticLib.h
rename to src/ioc/dbStatic/dbStaticLib.h
diff --git a/src/dbStatic/dbStaticNoRun.c b/src/ioc/dbStatic/dbStaticNoRun.c
similarity index 100%
rename from src/dbStatic/dbStaticNoRun.c
rename to src/ioc/dbStatic/dbStaticNoRun.c
diff --git a/src/dbStatic/dbStaticPvt.h b/src/ioc/dbStatic/dbStaticPvt.h
similarity index 100%
rename from src/dbStatic/dbStaticPvt.h
rename to src/ioc/dbStatic/dbStaticPvt.h
diff --git a/src/dbStatic/dbStaticRun.c b/src/ioc/dbStatic/dbStaticRun.c
similarity index 100%
rename from src/dbStatic/dbStaticRun.c
rename to src/ioc/dbStatic/dbStaticRun.c
diff --git a/src/dbStatic/dbToMenuH.c b/src/ioc/dbStatic/dbToMenuH.c
similarity index 100%
rename from src/dbStatic/dbToMenuH.c
rename to src/ioc/dbStatic/dbToMenuH.c
diff --git a/src/dbStatic/dbToRecordtypeH.c b/src/ioc/dbStatic/dbToRecordtypeH.c
similarity index 100%
rename from src/dbStatic/dbToRecordtypeH.c
rename to src/ioc/dbStatic/dbToRecordtypeH.c
diff --git a/src/dbStatic/dbYacc.y b/src/ioc/dbStatic/dbYacc.y
similarity index 100%
rename from src/dbStatic/dbYacc.y
rename to src/ioc/dbStatic/dbYacc.y
diff --git a/src/dbStatic/devSup.h b/src/ioc/dbStatic/devSup.h
similarity index 100%
rename from src/dbStatic/devSup.h
rename to src/ioc/dbStatic/devSup.h
diff --git a/src/dbStatic/drvSup.h b/src/ioc/dbStatic/drvSup.h
similarity index 100%
rename from src/dbStatic/drvSup.h
rename to src/ioc/dbStatic/drvSup.h
diff --git a/src/dbStatic/guigroup.h b/src/ioc/dbStatic/guigroup.h
similarity index 100%
rename from src/dbStatic/guigroup.h
rename to src/ioc/dbStatic/guigroup.h
diff --git a/src/dbStatic/link.h b/src/ioc/dbStatic/link.h
similarity index 100%
rename from src/dbStatic/link.h
rename to src/ioc/dbStatic/link.h
diff --git a/src/dbStatic/recSup.h b/src/ioc/dbStatic/recSup.h
similarity index 100%
rename from src/dbStatic/recSup.h
rename to src/ioc/dbStatic/recSup.h
diff --git a/src/dbStatic/special.h b/src/ioc/dbStatic/special.h
similarity index 100%
rename from src/dbStatic/special.h
rename to src/ioc/dbStatic/special.h
diff --git a/src/dbStatic/dbStaticHost.rc b/src/ioc/dbStaticHost.rc
similarity index 100%
rename from src/dbStatic/dbStaticHost.rc
rename to src/ioc/dbStaticHost.rc
diff --git a/src/toolsComm/antelope/Makefile b/src/ioc/dbtemplate/Makefile
similarity index 52%
rename from src/toolsComm/antelope/Makefile
rename to src/ioc/dbtemplate/Makefile
index c7115d56d..fb35e59e6 100644
--- a/src/toolsComm/antelope/Makefile
+++ b/src/ioc/dbtemplate/Makefile
@@ -1,29 +1,21 @@
#*************************************************************************
-# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
+# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
-TOP=../../..
-include $(TOP)/configure/CONFIG
-SRCS += closure.c
-SRCS += error.c
-SRCS += lalr.c
-SRCS += lr0.c
-SRCS += main.c
-SRCS += mkpar.c
-SRCS += output.c
-SRCS += reader.c
-SRCS += skeleton.c
-SRCS += symtab.c
-SRCS += verbose.c
-SRCS += warshall.c
+# This is a Makefile fragment, see src/ioc/Makefile.
-PROD_HOST = antelope
-PROD_LIBS = Com
+SRC_DIRS += $(IOCDIR)/dbtemplate
-include $(TOP)/configure/RULES
+INC += dbLoadTemplate.h
+INC += dbtoolsIocRegister.h
+
+dbCore_SRCS += dbLoadTemplate.c
+dbCore_SRCS += dbtoolsIocRegister.c
+
+HTMLS += dbtemplate/dbLoadTemplate.html
diff --git a/src/ioc/dbtemplate/RULES b/src/ioc/dbtemplate/RULES
new file mode 100644
index 000000000..ecc8113a5
--- /dev/null
+++ b/src/ioc/dbtemplate/RULES
@@ -0,0 +1,17 @@
+#*************************************************************************
+# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# Copyright (c) 2002 The Regents of the University of California, as
+# Operator of Los Alamos National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/ioc/Makefile.
+
+# dbLoadTemplate_lex.c is included by dbLoadTemplate.c
+dbLoadTemplate.c: dbLoadTemplate_lex.c $(IOCDIR)/dbtemplate/dbLoadTemplate.h
+
+clean::
+ @$(RM) dbLoadTemplate_lex.c dbLoadTemplate.c
+
diff --git a/src/dbtools/dbLoadTemplate.h b/src/ioc/dbtemplate/dbLoadTemplate.h
similarity index 100%
rename from src/dbtools/dbLoadTemplate.h
rename to src/ioc/dbtemplate/dbLoadTemplate.h
diff --git a/src/dbtools/dbLoadTemplate.html b/src/ioc/dbtemplate/dbLoadTemplate.html
similarity index 100%
rename from src/dbtools/dbLoadTemplate.html
rename to src/ioc/dbtemplate/dbLoadTemplate.html
diff --git a/src/dbtools/dbLoadTemplate.y b/src/ioc/dbtemplate/dbLoadTemplate.y
similarity index 100%
rename from src/dbtools/dbLoadTemplate.y
rename to src/ioc/dbtemplate/dbLoadTemplate.y
diff --git a/src/dbtools/dbLoadTemplate_lex.l b/src/ioc/dbtemplate/dbLoadTemplate_lex.l
similarity index 100%
rename from src/dbtools/dbLoadTemplate_lex.l
rename to src/ioc/dbtemplate/dbLoadTemplate_lex.l
diff --git a/src/dbtools/dbtoolsIocRegister.c b/src/ioc/dbtemplate/dbtoolsIocRegister.c
similarity index 100%
rename from src/dbtools/dbtoolsIocRegister.c
rename to src/ioc/dbtemplate/dbtoolsIocRegister.c
diff --git a/src/dbtools/dbtoolsIocRegister.h b/src/ioc/dbtemplate/dbtoolsIocRegister.h
similarity index 100%
rename from src/dbtools/dbtoolsIocRegister.h
rename to src/ioc/dbtemplate/dbtoolsIocRegister.h
diff --git a/src/misc/Makefile b/src/ioc/misc/Makefile
similarity index 55%
rename from src/misc/Makefile
rename to src/ioc/misc/Makefile
index 78bf27229..e97efe15a 100644
--- a/src/misc/Makefile
+++ b/src/ioc/misc/Makefile
@@ -1,5 +1,5 @@
#*************************************************************************
-# Copyright (c) 2009 UChicago Argonne LLC, as Operator of Argonne
+# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
@@ -7,30 +7,22 @@
# in file LICENSE that is included with this distribution.
#*************************************************************************
-TOP=../..
-include $(TOP)/configure/CONFIG
+# This is a Makefile fragment, see src/ioc/Makefile.
+
+SRC_DIRS += $(IOCDIR)/misc
-DBD += base.dbd
DBD += system.dbd
DBD += dlload.dbd
+DBD += dbCore.dbd
INC += epicsRelease.h
INC += iocInit.h
INC += miscIocRegister.h
INC += iocshRegisterCommon.h
-LIB_SRCS += epicsRelease.c
-LIB_SRCS += iocInit.c
-LIB_SRCS += asSubRecordFunctions.c
-LIB_SRCS += miscIocRegister.c
-LIB_SRCS += dlload.c
-LIB_SRCS += iocshRegisterCommon.c
-
-
-LIBRARY_IOC = miscIoc
-
-miscIoc_RCS = miscIoc.rc
-miscIoc_LIBS = rsrvIoc asIoc dbtoolsIoc dbIoc registryIoc dbStaticIoc ca Com
-
-include $(TOP)/configure/RULES
+dbCore_SRCS += epicsRelease.c
+dbCore_SRCS += iocInit.c
+dbCore_SRCS += miscIocRegister.c
+dbCore_SRCS += dlload.c
+dbCore_SRCS += iocshRegisterCommon.c
diff --git a/src/ioc/misc/dbCore.dbd b/src/ioc/misc/dbCore.dbd
new file mode 100644
index 000000000..eae942b18
--- /dev/null
+++ b/src/ioc/misc/dbCore.dbd
@@ -0,0 +1,14 @@
+# dbCore.dbd
+#
+# $Revision-Id$
+#
+# This file provides iocsh access to variables that control some lesser-used
+# and debugging features of the IOC database code.
+
+# Access security subroutines
+variable(asCaDebug,int)
+
+# Static database access variables
+variable(dbRecordsOnceOnly,int)
+variable(dbBptNotMonotonic,int)
+
diff --git a/src/misc/dlload.c b/src/ioc/misc/dlload.c
similarity index 100%
rename from src/misc/dlload.c
rename to src/ioc/misc/dlload.c
diff --git a/src/misc/dlload.dbd b/src/ioc/misc/dlload.dbd
similarity index 100%
rename from src/misc/dlload.dbd
rename to src/ioc/misc/dlload.dbd
diff --git a/src/misc/epicsRelease.c b/src/ioc/misc/epicsRelease.c
similarity index 100%
rename from src/misc/epicsRelease.c
rename to src/ioc/misc/epicsRelease.c
diff --git a/src/misc/epicsRelease.h b/src/ioc/misc/epicsRelease.h
similarity index 100%
rename from src/misc/epicsRelease.h
rename to src/ioc/misc/epicsRelease.h
diff --git a/src/misc/iocInit.c b/src/ioc/misc/iocInit.c
similarity index 100%
rename from src/misc/iocInit.c
rename to src/ioc/misc/iocInit.c
diff --git a/src/misc/iocInit.h b/src/ioc/misc/iocInit.h
similarity index 100%
rename from src/misc/iocInit.h
rename to src/ioc/misc/iocInit.h
diff --git a/src/misc/iocshRegisterCommon.c b/src/ioc/misc/iocshRegisterCommon.c
similarity index 100%
rename from src/misc/iocshRegisterCommon.c
rename to src/ioc/misc/iocshRegisterCommon.c
diff --git a/src/misc/iocshRegisterCommon.h b/src/ioc/misc/iocshRegisterCommon.h
similarity index 100%
rename from src/misc/iocshRegisterCommon.h
rename to src/ioc/misc/iocshRegisterCommon.h
diff --git a/src/misc/miscIocRegister.c b/src/ioc/misc/miscIocRegister.c
similarity index 100%
rename from src/misc/miscIocRegister.c
rename to src/ioc/misc/miscIocRegister.c
diff --git a/src/misc/miscIocRegister.h b/src/ioc/misc/miscIocRegister.h
similarity index 100%
rename from src/misc/miscIocRegister.h
rename to src/ioc/misc/miscIocRegister.h
diff --git a/src/misc/system.dbd b/src/ioc/misc/system.dbd
similarity index 100%
rename from src/misc/system.dbd
rename to src/ioc/misc/system.dbd
diff --git a/src/registry/Makefile b/src/ioc/registry/Makefile
similarity index 55%
rename from src/registry/Makefile
rename to src/ioc/registry/Makefile
index 5a4f904ea..e5ed28cf3 100644
--- a/src/registry/Makefile
+++ b/src/ioc/registry/Makefile
@@ -1,14 +1,15 @@
#*************************************************************************
-# Copyright (c) 2007 UChicago Argonne LLC, as Operator of Argonne
+# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
-TOP=../..
-include $(TOP)/configure/CONFIG
+# This is a Makefile fragment, see src/ioc/Makefile.
+
+SRC_DIRS += $(IOCDIR)/registry
INC += registryRecordType.h
INC += registryDeviceSupport.h
@@ -17,19 +18,12 @@ INC += registryFunction.h
INC += registryCommon.h
INC += registryIocRegister.h
-SCRIPTS_HOST += registerRecordDeviceDriver.pl
+SCRIPTS_HOST += registry/registerRecordDeviceDriver.pl
-LIB_SRCS += registryRecordType.c
-LIB_SRCS += registryDeviceSupport.c
-LIB_SRCS += registryDriverSupport.c
-LIB_SRCS += registryFunction.c
-LIB_SRCS += registryCommon.c
-LIB_SRCS += registryIocRegister.c
-
-LIBRARY_IOC = registryIoc
-registryIoc_LIBS = dbStaticIoc Com
-
-registryIoc_RCS = registryIoc.rc
-
-include $(TOP)/configure/RULES
+dbCore_SRCS += registryRecordType.c
+dbCore_SRCS += registryDeviceSupport.c
+dbCore_SRCS += registryDriverSupport.c
+dbCore_SRCS += registryFunction.c
+dbCore_SRCS += registryCommon.c
+dbCore_SRCS += registryIocRegister.c
diff --git a/src/registry/registerRecordDeviceDriver.pl b/src/ioc/registry/registerRecordDeviceDriver.pl
similarity index 100%
rename from src/registry/registerRecordDeviceDriver.pl
rename to src/ioc/registry/registerRecordDeviceDriver.pl
diff --git a/src/registry/registryCommon.c b/src/ioc/registry/registryCommon.c
similarity index 100%
rename from src/registry/registryCommon.c
rename to src/ioc/registry/registryCommon.c
diff --git a/src/registry/registryCommon.h b/src/ioc/registry/registryCommon.h
similarity index 100%
rename from src/registry/registryCommon.h
rename to src/ioc/registry/registryCommon.h
diff --git a/src/registry/registryDeviceSupport.c b/src/ioc/registry/registryDeviceSupport.c
similarity index 100%
rename from src/registry/registryDeviceSupport.c
rename to src/ioc/registry/registryDeviceSupport.c
diff --git a/src/registry/registryDeviceSupport.h b/src/ioc/registry/registryDeviceSupport.h
similarity index 100%
rename from src/registry/registryDeviceSupport.h
rename to src/ioc/registry/registryDeviceSupport.h
diff --git a/src/registry/registryDriverSupport.c b/src/ioc/registry/registryDriverSupport.c
similarity index 100%
rename from src/registry/registryDriverSupport.c
rename to src/ioc/registry/registryDriverSupport.c
diff --git a/src/registry/registryDriverSupport.h b/src/ioc/registry/registryDriverSupport.h
similarity index 100%
rename from src/registry/registryDriverSupport.h
rename to src/ioc/registry/registryDriverSupport.h
diff --git a/src/registry/registryFunction.c b/src/ioc/registry/registryFunction.c
similarity index 100%
rename from src/registry/registryFunction.c
rename to src/ioc/registry/registryFunction.c
diff --git a/src/registry/registryFunction.h b/src/ioc/registry/registryFunction.h
similarity index 100%
rename from src/registry/registryFunction.h
rename to src/ioc/registry/registryFunction.h
diff --git a/src/registry/registryIocRegister.c b/src/ioc/registry/registryIocRegister.c
similarity index 100%
rename from src/registry/registryIocRegister.c
rename to src/ioc/registry/registryIocRegister.c
diff --git a/src/registry/registryIocRegister.h b/src/ioc/registry/registryIocRegister.h
similarity index 100%
rename from src/registry/registryIocRegister.h
rename to src/ioc/registry/registryIocRegister.h
diff --git a/src/registry/registryRecordType.c b/src/ioc/registry/registryRecordType.c
similarity index 100%
rename from src/registry/registryRecordType.c
rename to src/ioc/registry/registryRecordType.c
diff --git a/src/registry/registryRecordType.h b/src/ioc/registry/registryRecordType.h
similarity index 100%
rename from src/registry/registryRecordType.h
rename to src/ioc/registry/registryRecordType.h
diff --git a/src/ioc/rsrv/Makefile b/src/ioc/rsrv/Makefile
new file mode 100644
index 000000000..ba6ed6bd6
--- /dev/null
+++ b/src/ioc/rsrv/Makefile
@@ -0,0 +1,28 @@
+#*************************************************************************
+# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# Copyright (c) 2002 The Regents of the University of California, as
+# Operator of Los Alamos National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/ioc/Makefile.
+
+SRC_DIRS += $(IOCDIR)/rsrv
+
+# These need access to net_convert.h from the CA client
+caserverio_INCLUDES = -I$(SRC)/ca/client
+camessage_INCLUDES = -I$(SRC)/ca/client
+
+INC += rsrv.h
+INC += rsrvIocRegister.h
+
+dbCore_SRCS += caserverio.c
+dbCore_SRCS += caservertask.c
+dbCore_SRCS += camsgtask.c
+dbCore_SRCS += camessage.c
+dbCore_SRCS += cast_server.c
+dbCore_SRCS += online_notify.c
+dbCore_SRCS += rsrvIocRegister.c
+
diff --git a/src/rsrv/camessage.c b/src/ioc/rsrv/camessage.c
similarity index 100%
rename from src/rsrv/camessage.c
rename to src/ioc/rsrv/camessage.c
diff --git a/src/rsrv/camsgtask.c b/src/ioc/rsrv/camsgtask.c
similarity index 100%
rename from src/rsrv/camsgtask.c
rename to src/ioc/rsrv/camsgtask.c
diff --git a/src/rsrv/caserverio.c b/src/ioc/rsrv/caserverio.c
similarity index 100%
rename from src/rsrv/caserverio.c
rename to src/ioc/rsrv/caserverio.c
diff --git a/src/rsrv/caservertask.c b/src/ioc/rsrv/caservertask.c
similarity index 100%
rename from src/rsrv/caservertask.c
rename to src/ioc/rsrv/caservertask.c
diff --git a/src/rsrv/cast_server.c b/src/ioc/rsrv/cast_server.c
similarity index 100%
rename from src/rsrv/cast_server.c
rename to src/ioc/rsrv/cast_server.c
diff --git a/src/rsrv/online_notify.c b/src/ioc/rsrv/online_notify.c
similarity index 100%
rename from src/rsrv/online_notify.c
rename to src/ioc/rsrv/online_notify.c
diff --git a/src/rsrv/rsrv.h b/src/ioc/rsrv/rsrv.h
similarity index 100%
rename from src/rsrv/rsrv.h
rename to src/ioc/rsrv/rsrv.h
diff --git a/src/rsrv/rsrvIocRegister.c b/src/ioc/rsrv/rsrvIocRegister.c
similarity index 100%
rename from src/rsrv/rsrvIocRegister.c
rename to src/ioc/rsrv/rsrvIocRegister.c
diff --git a/src/rsrv/rsrvIocRegister.h b/src/ioc/rsrv/rsrvIocRegister.h
similarity index 100%
rename from src/rsrv/rsrvIocRegister.h
rename to src/ioc/rsrv/rsrvIocRegister.h
diff --git a/src/rsrv/server.h b/src/ioc/rsrv/server.h
similarity index 100%
rename from src/rsrv/server.h
rename to src/ioc/rsrv/server.h
diff --git a/src/libCom/Makefile b/src/libCom/Makefile
index 57c2f7ab0..676a805ec 100644
--- a/src/libCom/Makefile
+++ b/src/libCom/Makefile
@@ -1,5 +1,5 @@
#*************************************************************************
-# Copyright (c) 2007 UChicago Argonne LLC, as Operator of Argonne
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
@@ -9,318 +9,48 @@
TOP = ../..
include $(TOP)/configure/CONFIG
-LIBCOM = $(TOP)/src/libCom
+SRC = $(TOP)/src
+LIBCOM = $(SRC)/libCom
-# Command-line input support
-epicsReadline_CFLAGS += -DEPICS_COMMANDLINE_LIBRARY=EPICS_COMMANDLINE_LIBRARY_$(COMMANDLINE_LIBRARY)
-epicsReadline_INCLUDES += $(INCLUDES_$(COMMANDLINE_LIBRARY))
+include $(LIBCOM)/as/Makefile
+include $(LIBCOM)/bucketLib/Makefile
+include $(LIBCOM)/calc/Makefile
+include $(LIBCOM)/cvtFast/Makefile
+include $(LIBCOM)/cppStd/Makefile
+include $(LIBCOM)/cxxTemplates/Makefile
+include $(LIBCOM)/dbmf/Makefile
+include $(LIBCOM)/ellLib/Makefile
+include $(LIBCOM)/env/Makefile
+include $(LIBCOM)/error/Makefile
+include $(LIBCOM)/fdmgr/Makefile
+include $(LIBCOM)/flex/Makefile
+include $(LIBCOM)/freeList/Makefile
+include $(LIBCOM)/gpHash/Makefile
+include $(LIBCOM)/iocsh/Makefile
+include $(LIBCOM)/log/Makefile
+include $(LIBCOM)/macLib/Makefile
+include $(LIBCOM)/misc/Makefile
+include $(LIBCOM)/osi/Makefile
+include $(LIBCOM)/ring/Makefile
+include $(LIBCOM)/taskwd/Makefile
+include $(LIBCOM)/timer/Makefile
+include $(LIBCOM)/tsDefs/Makefile
+include $(LIBCOM)/yacc/Makefile
-#POSIX thread priority scheduling flag
-THREAD_CPPFLAGS_NO += -DDONT_USE_POSIX_THREAD_PRIORITY_SCHEDULING
-osdThread_CPPFLAGS += $(THREAD_CPPFLAGS_$(USE_POSIX_THREAD_PRIORITY_SCHEDULING))
-
-#epicsVersion is created by this Makefile
-INC += epicsVersion.h
-
-SRC_DIRS += $(LIBCOM)/bucketLib
-INC += bucketLib.h
-SRCS += bucketLib.c
-
-SRC_DIRS += $(LIBCOM)/ring
-#following needed for locating epicsRingPointer.h and epicsRingBytes.h
-INC += epicsRingPointer.h
-INC += epicsRingBytes.h
-SRCS += epicsRingPointer.cpp
-SRCS += epicsRingBytes.c
-
-SRC_DIRS += $(LIBCOM)/calc
-INC += postfix.h
-SRCS += postfix.c
-SRCS += calcPerform.c
-
-SRC_DIRS += $(LIBCOM)/cvtFast
-INC += cvtFast.h
-SRCS += cvtFast.c
-
-# From cppStd
-SRC_DIRS += $(LIBCOM)/cppStd
-INC += epicsAlgorithm.h
-INC += epicsExcept.h
-INC += epicsMemory.h
-
-# From cxxTemplates
-SRC_DIRS += $(LIBCOM)/cxxTemplates
-INC += resourceLib.h
-INC += tsDLList.h
-INC += tsSLList.h
-INC += tsMinMax.h
-INC += tsBTree.h
-INC += tsFreeList.h
-INC += epicsSingleton.h
-INC += epicsGuard.h
-INC += epicsOnce.h
-SRCS += resourceLib.cpp
-SRCS += epicsOnce.cpp
-SRCS += epicsSingletonMutex.cpp
-
-SRC_DIRS += $(LIBCOM)/dbmf
-INC += dbmf.h
-SRCS += dbmf.c
-
-SRC_DIRS += $(LIBCOM)/ellLib
-INC += ellLib.h
-SRCS += ellLib.c
-
-SRC_DIRS += $(LIBCOM)/env
-INC += envDefs.h
-SRCS += envSubr.c
-SRCS += envData.c
-
-SRC_DIRS += $(LIBCOM)/error
-INC += epicsPrint.h
-INC += errMdef.h
-INC += errSymTbl.h
-INC += errlog.h
-INC += error.h
-SRCS += errlog.c
-SRCS += errSymLib.c
-SRCS += errSymTbl.c
-
-SRC_DIRS += $(LIBCOM)/fdmgr
-INC += fdManager.h
-INC += fdmgr.h
-SRCS += fdmgr.cpp
-SRCS += fdManager.cpp
-
-SRC_DIRS += $(LIBCOM)/freeList
-INC += freeList.h
-SRCS += freeListLib.c
-HTMLS += freeList/freeList.html
-
-SRC_DIRS += $(LIBCOM)/gpHash
-INC += gpHash.h
-SRCS += gpHashLib.c
-HTMLS += gpHash/gpHash.html
-
-SRC_DIRS += $(LIBCOM)/iocsh
-INC += iocsh.h
-INC += registry.h
-INC += libComRegister.h
-SRCS += iocsh.cpp
-SRCS += registry.c
-SRCS += libComRegister.c
-
-SRC_DIRS += $(LIBCOM)/logClient
-INC += iocLog.h
-INC += logClient.h
-SRCS += iocLog.c
-SRCS += logClient.c
-
-SRC_DIRS += $(LIBCOM)/macLib
-INC += macLib.h
-SRCS += macCore.c
-SRCS += macEnv.c
-SRCS += macUtil.c
-
-SRC_DIRS += $(LIBCOM)/misc
-INC += adjustment.h
-INC += cantProceed.h
-INC += dbDefs.h
-INC += epicsConvert.h
-INC += epicsExit.h
-INC += epicsStdlib.h
-INC += epicsString.h
-INC += epicsTypes.h
-INC += shareLib.h
-INC += epicsExport.h
-INC += unixFileName.h
-INC += locationException.h
-INC += ipAddrToAsciiAsynchronous.h
-INC += compilerDependencies.h
-INC += epicsUnitTest.h
-INC += testMain.h
-SRCS += aToIPAddr.c
-SRCS += adjustment.c
-SRCS += cantProceed.c
-SRCS += epicsConvert.c
-SRCS += epicsExit.c
-SRCS += epicsStdlib.c
-SRCS += epicsString.c
-SRCS += truncateFile.c
-SRCS += ipAddrToAsciiAsynchronous.cpp
-SRCS += epicsUnitTest.c
-
-# From osi
-SRC_DIRS += $(LIBCOM)/osi
-INC += osiFileName.h
-INC += osiSock.h
-INC += osdSock.h
-INC += epicsInterrupt.h
-INC += osdInterrupt.h
-
-INC += epicsMutex.h
-INC += osdMutex.h
-INC += epicsEvent.h
-INC += osdEvent.h
-INC += epicsMath.h
-INC += osdMessageQueue.h
-INC += osdStrtod.h
-
-INC += epicsAssert.h
-INC += epicsFindSymbol.h
-INC += osiPoolStatus.h
-INC += osdPoolStatus.h
-INC += osdThread.h
-
-INC += epicsThread.h
-INC += epicsTime.h
-INC += epicsGeneralTime.h
-INC += osdTime.h
-INC += generalTimeSup.h
-INC += osiClockTime.h
-INC += epicsSignal.h
-INC += osiProcess.h
-INC += osiUnistd.h
-INC += osiWireFormat.h
-INC += osdWireFormat.h
-INC += osdWireConfig.h
-INC += epicsEndian.h
-INC += epicsReadline.h
-INC += epicsMessageQueue.h
-INC += epicsStdio.h
-INC += epicsStdioRedirect.h
-INC += epicsGetopt.h
-
-INC += devLib.h
-INC += devLibVME.h
-INC += devLibVMEImpl.h
-INC += osdVME.h
-
-SRCS += epicsThread.cpp
-SRCS += epicsMutex.cpp
-SRCS += epicsEvent.cpp
-SRCS += epicsTime.cpp
-SRCS += epicsMessageQueue.cpp
-SRCS += epicsMath.cpp
-
-SRCS += epicsGeneralTime.c
-SRCS += osiClockTime.c
-
-SRCS += osdSock.c
-SRCS += osdSockAddrReuse.cpp
-SRCS += osiSock.c
-SRCS += systemCallIntMech.cpp
-SRCS += epicsSocketConvertErrnoToString.cpp
-SRCS += osdAssert.c
-SRCS += osdFindSymbol.c
-SRCS += osdInterrupt.c
-SRCS += osdPoolStatus.c
-SRCS += osdSignal.cpp
-SRCS += osdEnv.c
-SRCS += epicsReadline.c
-SRCS += epicsTempFile.cpp
-SRCS += epicsStdio.c
-SRCS += osdStdio.c
-
-osdEnv_CFLAGS_WIN32= -U__STDC__
-
-SRCS += osdThread.c
-SRCS += osdMutex.c
-SRCS += osdEvent.c
-SRCS += osdTime.cpp
-SRCS += osdProcess.c
-SRCS += osdNetIntf.c
-SRCS += osdMessageQueue.c
-
-SRCS += devLibVME.c
-SRCS += devLibVMEOSD.c
-
-SRC_DIRS += $(LIBCOM)/taskwd
-INC += taskwd.h
-SRCS += taskwd.c
-
-SRC_DIRS += $(LIBCOM)/timer
-INC += epicsTimer.h
-SRCS += epicsTimer.cpp
-SRCS += timer.cpp
-SRCS += timerQueue.cpp
-SRCS += timerQueueActive.cpp
-SRCS += timerQueueActiveMgr.cpp
-SRCS += timerQueuePassive.cpp
-
-#tsDefs contains R3.13 compatibility tsStamp code
-SRC_DIRS += $(LIBCOM)/tsDefs
-INC += tsDefs.h
-SRCS += tsDefs.c
-
-# Time providers, in osi
-SRCS_vxWorks += osiNTPTime.c
-SRCS_RTEMS += osiNTPTime.c
-
-# These files are in osi/os/vxWorks
-# Special reboot hook
-SRCS_vxWorks += atReboot.cpp
-# For old vxWorks applications
-INC_vxWorks += camacLib.h
-INC_vxWorks += epicsDynLink.h
-INC_vxWorks += module_types.h
-INC_vxWorks += task_params.h
-SRCS_vxWorks += epicsDynLink.c
-SRCS_vxWorks += veclist.c
-SRCS_vxWorks += logMsgToErrlog.cpp
-
-#This forces the vxWorks compatibility stuff to be loaded
-OBJS_vxWorks = vxComLibrary
-
-# These files are in osi/os/WIN32
-SRCS_WIN32 += epicsGetopt.c
-SRCS_WIN32 += setThreadName.cpp
-#SRCS_WIN32 += dllmain.cpp
-SRCS_WIN32 += forceBadAllocException.cpp
-
-# Library to build:
-# lib$(LIBRARY).a or ..dll/..exp/..lib
-#
+# Library to build:
LIBRARY=Com
Com_SYS_LIBS_WIN32 = ws2_32 advapi32 user32
Com_RCS = Com.rc
-# libs needed for PROD and TESTPRODUCT
-PROD_LIBS = Com
-PROD_SYS_LIBS_WIN32 = ws2_32 advapi32
-
-# for bldErrSymTbl:
-#
-ERR_S_FILES += $(TOP)/src/libCom/osi/devLib.h
-ERR_S_FILES += $(TOP)/src/as/asLib.h
-ERR_S_FILES += $(TOP)/src/db/dbAccessDefs.h
-ERR_S_FILES += $(TOP)/src/dbStatic/devSup.h
-ERR_S_FILES += $(TOP)/src/dbStatic/drvSup.h
-ERR_S_FILES += $(TOP)/src/dbStatic/recSup.h
-ERR_S_FILES += $(TOP)/src/dbStatic/dbStaticLib.h
-ERR_S_FILES += $(LIBCOM)/error/errMdef.h
-ERR_S_FILES += $(TOP)/src/cas/generic/casdef.h
-ERR_S_FILES += $(TOP)/src/gdd/gddAppFuncTable.h
-
include $(TOP)/configure/RULES
-osdAssert$(OBJ): $(COMMON_DIR)/epicsVersion.h
-epicsTime$(OBJ): $(COMMON_DIR)/epicsVersion.h
-osdNetIntf$(OBJ): $(COMMON_DIR)/epicsVersion.h
-osdSock$(OBJ): $(COMMON_DIR)/epicsVersion.h
-
-envData.c: $(LIBCOM)/env/envDefs.h $(LIBCOM)/env/bldEnvData.pl \
- $(CONFIG)/CONFIG_ENV $(CONFIG)/CONFIG_SITE_ENV
- $(PERL) $(LIBCOM)/env/bldEnvData.pl $(CONFIG)
-
-errSymTbl.c: $(ERR_S_FILES) $(LIBCOM)/error/makeStatTbl.pl
- $(PERL) $(LIBCOM)/error/makeStatTbl.pl $(ERR_S_FILES)
-
-$(COMMON_DIR)/epicsVersion.h: $(CONFIG)/CONFIG_BASE_VERSION $(CONFIG)/CONFIG_SITE
- $(PERL) $(LIBCOM)/misc/makeEpicsVersion.pl $(CONFIG)/CONFIG_BASE_VERSION $(@D) $(EPICS_SITE_VERSION)
-
-clean::
- @$(RM) errSymTbl.c envData.c
+include $(LIBCOM)/as/RULES
+include $(LIBCOM)/env/RULES
+include $(LIBCOM)/error/RULES
+include $(LIBCOM)/flex/RULES
+include $(LIBCOM)/log/RULES
+include $(LIBCOM)/misc/RULES
+include $(LIBCOM)/osi/RULES
diff --git a/src/RTEMS/Makefile b/src/libCom/RTEMS/Makefile
similarity index 98%
rename from src/RTEMS/Makefile
rename to src/libCom/RTEMS/Makefile
index 93a7c26d7..0709ac2ff 100644
--- a/src/RTEMS/Makefile
+++ b/src/libCom/RTEMS/Makefile
@@ -6,7 +6,7 @@
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
-TOP=../..
+TOP=../../..
include $(TOP)/configure/CONFIG
INC += epicsRtemsInitHooks.h
diff --git a/src/RTEMS/epicsRtemsInitHookPost.c b/src/libCom/RTEMS/epicsRtemsInitHookPost.c
similarity index 100%
rename from src/RTEMS/epicsRtemsInitHookPost.c
rename to src/libCom/RTEMS/epicsRtemsInitHookPost.c
diff --git a/src/RTEMS/epicsRtemsInitHookPre.c b/src/libCom/RTEMS/epicsRtemsInitHookPre.c
similarity index 100%
rename from src/RTEMS/epicsRtemsInitHookPre.c
rename to src/libCom/RTEMS/epicsRtemsInitHookPre.c
diff --git a/src/RTEMS/epicsRtemsInitHooks.h b/src/libCom/RTEMS/epicsRtemsInitHooks.h
similarity index 100%
rename from src/RTEMS/epicsRtemsInitHooks.h
rename to src/libCom/RTEMS/epicsRtemsInitHooks.h
diff --git a/src/RTEMS/rtems_config.c b/src/libCom/RTEMS/rtems_config.c
similarity index 100%
rename from src/RTEMS/rtems_config.c
rename to src/libCom/RTEMS/rtems_config.c
diff --git a/src/RTEMS/rtems_init.c b/src/libCom/RTEMS/rtems_init.c
similarity index 100%
rename from src/RTEMS/rtems_init.c
rename to src/libCom/RTEMS/rtems_init.c
diff --git a/src/RTEMS/rtems_netconfig.c b/src/libCom/RTEMS/rtems_netconfig.c
similarity index 100%
rename from src/RTEMS/rtems_netconfig.c
rename to src/libCom/RTEMS/rtems_netconfig.c
diff --git a/src/RTEMS/rtems_util.c b/src/libCom/RTEMS/rtems_util.c
similarity index 100%
rename from src/RTEMS/rtems_util.c
rename to src/libCom/RTEMS/rtems_util.c
diff --git a/src/RTEMS/setBootConfigFromNVRAM.c b/src/libCom/RTEMS/setBootConfigFromNVRAM.c
similarity index 100%
rename from src/RTEMS/setBootConfigFromNVRAM.c
rename to src/libCom/RTEMS/setBootConfigFromNVRAM.c
diff --git a/src/libCom/as/Makefile b/src/libCom/as/Makefile
new file mode 100644
index 000000000..898bc8b1e
--- /dev/null
+++ b/src/libCom/as/Makefile
@@ -0,0 +1,21 @@
+#*************************************************************************
+# Copyright (c) 2010 Brookhaven Science Associates, as Operator of
+# Brookhaven National Lab.
+# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# Copyright (c) 2002 The Regents of the University of California, as
+# Operator of Los Alamos National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+SRC_DIRS += $(LIBCOM)/as
+
+INC += asLib.h
+INC += asTrapWrite.h
+
+LIB_SRCS += asLib.c
+LIB_SRCS += asTrapWrite.c
+
diff --git a/src/libCom/as/RULES b/src/libCom/as/RULES
new file mode 100644
index 000000000..5b47b7604
--- /dev/null
+++ b/src/libCom/as/RULES
@@ -0,0 +1,22 @@
+#*************************************************************************
+# Copyright (c) 2010 Brookhaven Science Associates, as Operator of
+# Brookhaven National Lab.
+# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# Copyright (c) 2002 The Regents of the University of California, as
+# Operator of Los Alamos National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+# Extra rule since asLib_lex.c is included by asLib.c
+asLib$(OBJ): asLib_lex.c
+
+# Ensure that lexer and parser are built before they are needed
+asLib.c: $(call PATH_FILTER, $(TOOLS)/antelope$(HOSTEXE))
+asLib_lex.c: $(call PATH_FILTER, $(TOOLS)/e_flex$(HOSTEXE))
+
+clean::
+ @$(RM) asLib.c asLib_lex.c
diff --git a/src/as/asLib.h b/src/libCom/as/asLib.h
similarity index 100%
rename from src/as/asLib.h
rename to src/libCom/as/asLib.h
diff --git a/src/as/asLib.y b/src/libCom/as/asLib.y
similarity index 100%
rename from src/as/asLib.y
rename to src/libCom/as/asLib.y
diff --git a/src/as/asLibRoutines.c b/src/libCom/as/asLibRoutines.c
similarity index 100%
rename from src/as/asLibRoutines.c
rename to src/libCom/as/asLibRoutines.c
diff --git a/src/as/asLib_lex.l b/src/libCom/as/asLib_lex.l
similarity index 100%
rename from src/as/asLib_lex.l
rename to src/libCom/as/asLib_lex.l
diff --git a/src/as/asTrapWrite.c b/src/libCom/as/asTrapWrite.c
similarity index 100%
rename from src/as/asTrapWrite.c
rename to src/libCom/as/asTrapWrite.c
diff --git a/src/as/asTrapWrite.h b/src/libCom/as/asTrapWrite.h
similarity index 100%
rename from src/as/asTrapWrite.h
rename to src/libCom/as/asTrapWrite.h
diff --git a/src/libCom/bucketLib/Makefile b/src/libCom/bucketLib/Makefile
new file mode 100644
index 000000000..f66dc7d47
--- /dev/null
+++ b/src/libCom/bucketLib/Makefile
@@ -0,0 +1,12 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+SRC_DIRS += $(LIBCOM)/bucketLib
+INC += bucketLib.h
+Com_SRCS += bucketLib.c
diff --git a/src/libCom/calc/Makefile b/src/libCom/calc/Makefile
new file mode 100644
index 000000000..493cb3245
--- /dev/null
+++ b/src/libCom/calc/Makefile
@@ -0,0 +1,14 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+SRC_DIRS += $(LIBCOM)/calc
+INC += postfix.h
+Com_SRCS += postfix.c
+Com_SRCS += calcPerform.c
+
diff --git a/src/libCom/cppStd/Makefile b/src/libCom/cppStd/Makefile
new file mode 100644
index 000000000..989b87eb0
--- /dev/null
+++ b/src/libCom/cppStd/Makefile
@@ -0,0 +1,14 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+SRC_DIRS += $(LIBCOM)/cppStd
+INC += epicsAlgorithm.h
+INC += epicsExcept.h
+INC += epicsMemory.h
+
diff --git a/src/libCom/cvtFast/Makefile b/src/libCom/cvtFast/Makefile
new file mode 100644
index 000000000..473693c83
--- /dev/null
+++ b/src/libCom/cvtFast/Makefile
@@ -0,0 +1,13 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+SRC_DIRS += $(LIBCOM)/cvtFast
+INC += cvtFast.h
+Com_SRCS += cvtFast.c
+
diff --git a/src/libCom/cxxTemplates/Makefile b/src/libCom/cxxTemplates/Makefile
new file mode 100644
index 000000000..b15464aef
--- /dev/null
+++ b/src/libCom/cxxTemplates/Makefile
@@ -0,0 +1,23 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+SRC_DIRS += $(LIBCOM)/cxxTemplates
+INC += resourceLib.h
+INC += tsDLList.h
+INC += tsSLList.h
+INC += tsMinMax.h
+INC += tsBTree.h
+INC += tsFreeList.h
+INC += epicsSingleton.h
+INC += epicsGuard.h
+INC += epicsOnce.h
+Com_SRCS += resourceLib.cpp
+Com_SRCS += epicsOnce.cpp
+Com_SRCS += epicsSingletonMutex.cpp
+
diff --git a/src/libCom/dbmf/Makefile b/src/libCom/dbmf/Makefile
new file mode 100644
index 000000000..2a190eac6
--- /dev/null
+++ b/src/libCom/dbmf/Makefile
@@ -0,0 +1,13 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+SRC_DIRS += $(LIBCOM)/dbmf
+INC += dbmf.h
+Com_SRCS += dbmf.c
+
diff --git a/src/libCom/ellLib/Makefile b/src/libCom/ellLib/Makefile
new file mode 100644
index 000000000..b325a453e
--- /dev/null
+++ b/src/libCom/ellLib/Makefile
@@ -0,0 +1,12 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+SRC_DIRS += $(LIBCOM)/ellLib
+INC += ellLib.h
+Com_SRCS += ellLib.c
diff --git a/src/libCom/env/Makefile b/src/libCom/env/Makefile
new file mode 100644
index 000000000..1f9d6812a
--- /dev/null
+++ b/src/libCom/env/Makefile
@@ -0,0 +1,16 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+SRC_DIRS += $(LIBCOM)/env
+
+INC += envDefs.h
+
+Com_SRCS += envSubr.c
+Com_SRCS += envData.c
+
diff --git a/src/libCom/env/RULES b/src/libCom/env/RULES
new file mode 100644
index 000000000..68804e05f
--- /dev/null
+++ b/src/libCom/env/RULES
@@ -0,0 +1,15 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+envData.c: $(LIBCOM)/env/envDefs.h $(LIBCOM)/env/bldEnvData.pl \
+ $(CONFIG)/CONFIG_ENV $(CONFIG)/CONFIG_SITE_ENV
+ $(PERL) $(LIBCOM)/env/bldEnvData.pl $(CONFIG)
+
+clean::
+ @$(RM) envData.c
diff --git a/src/libCom/error/Makefile b/src/libCom/error/Makefile
new file mode 100644
index 000000000..e07e86891
--- /dev/null
+++ b/src/libCom/error/Makefile
@@ -0,0 +1,34 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+SRC_DIRS += $(LIBCOM)/error
+
+INC += epicsPrint.h
+INC += errMdef.h
+INC += errSymTbl.h
+INC += errlog.h
+INC += error.h
+
+Com_SRCS += errlog.c
+Com_SRCS += errSymLib.c
+Com_SRCS += errSymTbl.c
+
+# For bldErrSymTbl
+#
+ERR_S_FILES += $(LIBCOM)/osi/devLib.h
+ERR_S_FILES += $(LIBCOM)/as/asLib.h
+ERR_S_FILES += $(SRC)/ioc/db/dbAccessDefs.h
+ERR_S_FILES += $(SRC)/ioc/dbStatic/devSup.h
+ERR_S_FILES += $(SRC)/ioc/dbStatic/drvSup.h
+ERR_S_FILES += $(SRC)/ioc/dbStatic/recSup.h
+ERR_S_FILES += $(SRC)/ioc/dbStatic/dbStaticLib.h
+ERR_S_FILES += $(LIBCOM)/error/errMdef.h
+ERR_S_FILES += $(SRC)/ca/legacy/pcas/generic/casdef.h
+ERR_S_FILES += $(SRC)/ca/legacy/gdd/gddAppFuncTable.h
+
diff --git a/src/libCom/error/RULES b/src/libCom/error/RULES
new file mode 100644
index 000000000..7d26e8659
--- /dev/null
+++ b/src/libCom/error/RULES
@@ -0,0 +1,14 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+errSymTbl.c: $(ERR_S_FILES) $(LIBCOM)/error/makeStatTbl.pl
+ $(PERL) $(LIBCOM)/error/makeStatTbl.pl $(ERR_S_FILES)
+
+clean::
+ @$(RM) errSymTbl.c
diff --git a/src/libCom/fdmgr/Makefile b/src/libCom/fdmgr/Makefile
new file mode 100644
index 000000000..34b1a3dbc
--- /dev/null
+++ b/src/libCom/fdmgr/Makefile
@@ -0,0 +1,14 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+SRC_DIRS += $(LIBCOM)/fdmgr
+INC += fdManager.h
+INC += fdmgr.h
+Com_SRCS += fdmgr.cpp
+Com_SRCS += fdManager.cpp
diff --git a/src/toolsComm/flex/COPYING b/src/libCom/flex/COPYING
similarity index 100%
rename from src/toolsComm/flex/COPYING
rename to src/libCom/flex/COPYING
diff --git a/src/toolsComm/flex/Changes b/src/libCom/flex/Changes
similarity index 100%
rename from src/toolsComm/flex/Changes
rename to src/libCom/flex/Changes
diff --git a/src/toolsComm/flex/EPICS_READ_THIS b/src/libCom/flex/EPICS_READ_THIS
similarity index 100%
rename from src/toolsComm/flex/EPICS_READ_THIS
rename to src/libCom/flex/EPICS_READ_THIS
diff --git a/src/toolsComm/flex/Flex.doc b/src/libCom/flex/Flex.doc
similarity index 100%
rename from src/toolsComm/flex/Flex.doc
rename to src/libCom/flex/Flex.doc
diff --git a/src/libCom/flex/Makefile b/src/libCom/flex/Makefile
new file mode 100644
index 000000000..25048350a
--- /dev/null
+++ b/src/libCom/flex/Makefile
@@ -0,0 +1,35 @@
+#*************************************************************************
+# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# Copyright (c) 2002 The Regents of the University of California, as
+# Operator of Los Alamos National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+SRC_DIRS += $(LIBCOM)/flex
+
+parse_YACCOPT = -l -d
+
+SKELETON_FILE = include/flex.skel.static
+
+parse_CPPFLAGS = -DDEFAULT_SKELETON_FILE=$(SKELETON_FILE)
+
+INC += flex.skel.static
+
+# flex.c is included in parse.c
+e_flex_SRCS += ccl.c
+e_flex_SRCS += dfa.c
+e_flex_SRCS += ecs.c
+e_flex_SRCS += gen.c
+e_flex_SRCS += misc.c
+e_flex_SRCS += nfa.c
+e_flex_SRCS += sym.c
+e_flex_SRCS += tblcmp.c
+e_flex_SRCS += parse.c
+e_flex_OBJS += epicsTempFile$(OBJ)
+
+PROD_HOST += e_flex
+
diff --git a/src/toolsComm/flex/README b/src/libCom/flex/README
similarity index 100%
rename from src/toolsComm/flex/README
rename to src/libCom/flex/README
diff --git a/src/toolsComm/Makefile b/src/libCom/flex/RULES
similarity index 66%
rename from src/toolsComm/Makefile
rename to src/libCom/flex/RULES
index cf31067b2..6cf044524 100644
--- a/src/toolsComm/Makefile
+++ b/src/libCom/flex/RULES
@@ -1,5 +1,5 @@
#*************************************************************************
-# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
+# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
@@ -7,13 +7,10 @@
# in file LICENSE that is included with this distribution.
#*************************************************************************
-TOP=../..
+# This is a Makefile fragment, see src/libCom/Makefile.
-include $(TOP)/configure/CONFIG
-
-DIRS = antelope flex
-
-flex_DEPEND_DIRS += antelope
-
-include $(TOP)/configure/RULES_DIRS
+# Ensure that the lexer is built before it is needed
+parse.c: $(YACC)
+clean::
+ $(RM) parse.c parse.h
diff --git a/src/toolsComm/flex/ccl.c b/src/libCom/flex/ccl.c
similarity index 100%
rename from src/toolsComm/flex/ccl.c
rename to src/libCom/flex/ccl.c
diff --git a/src/toolsComm/flex/dfa.c b/src/libCom/flex/dfa.c
similarity index 100%
rename from src/toolsComm/flex/dfa.c
rename to src/libCom/flex/dfa.c
diff --git a/src/toolsComm/flex/ecs.c b/src/libCom/flex/ecs.c
similarity index 100%
rename from src/toolsComm/flex/ecs.c
rename to src/libCom/flex/ecs.c
diff --git a/src/toolsComm/flex/main.c b/src/libCom/flex/flex.c
similarity index 100%
rename from src/toolsComm/flex/main.c
rename to src/libCom/flex/flex.c
diff --git a/src/toolsComm/flex/flex.html b/src/libCom/flex/flex.html
similarity index 100%
rename from src/toolsComm/flex/flex.html
rename to src/libCom/flex/flex.html
diff --git a/src/toolsComm/flex/flex.skel b/src/libCom/flex/flex.skel
similarity index 100%
rename from src/toolsComm/flex/flex.skel
rename to src/libCom/flex/flex.skel
diff --git a/src/toolsComm/flex/flex.skel.static b/src/libCom/flex/flex.skel.static
similarity index 100%
rename from src/toolsComm/flex/flex.skel.static
rename to src/libCom/flex/flex.skel.static
diff --git a/src/toolsComm/flex/flexdef.h b/src/libCom/flex/flexdef.h
similarity index 100%
rename from src/toolsComm/flex/flexdef.h
rename to src/libCom/flex/flexdef.h
diff --git a/src/toolsComm/flex/flexdoc.html b/src/libCom/flex/flexdoc.html
similarity index 100%
rename from src/toolsComm/flex/flexdoc.html
rename to src/libCom/flex/flexdoc.html
diff --git a/src/toolsComm/flex/gen.c b/src/libCom/flex/gen.c
similarity index 100%
rename from src/toolsComm/flex/gen.c
rename to src/libCom/flex/gen.c
diff --git a/src/toolsComm/flex/libmain.c b/src/libCom/flex/libmain.c
similarity index 100%
rename from src/toolsComm/flex/libmain.c
rename to src/libCom/flex/libmain.c
diff --git a/src/toolsComm/flex/misc.c b/src/libCom/flex/misc.c
similarity index 100%
rename from src/toolsComm/flex/misc.c
rename to src/libCom/flex/misc.c
diff --git a/src/toolsComm/flex/nfa.c b/src/libCom/flex/nfa.c
similarity index 100%
rename from src/toolsComm/flex/nfa.c
rename to src/libCom/flex/nfa.c
diff --git a/src/toolsComm/flex/parse.y b/src/libCom/flex/parse.y
similarity index 99%
rename from src/toolsComm/flex/parse.y
rename to src/libCom/flex/parse.y
index 402232d81..e65ecdc63 100644
--- a/src/toolsComm/flex/parse.y
+++ b/src/libCom/flex/parse.y
@@ -703,5 +703,5 @@ char msg[];
#include "scan.c"
#include "yylex.c"
-#include "main.c"
+#include "flex.c"
diff --git a/src/toolsComm/flex/scan.c b/src/libCom/flex/scan.c
similarity index 100%
rename from src/toolsComm/flex/scan.c
rename to src/libCom/flex/scan.c
diff --git a/src/toolsComm/flex/scan.l.DISTRIB b/src/libCom/flex/scan.l.DISTRIB
similarity index 100%
rename from src/toolsComm/flex/scan.l.DISTRIB
rename to src/libCom/flex/scan.l.DISTRIB
diff --git a/src/toolsComm/flex/sym.c b/src/libCom/flex/sym.c
similarity index 100%
rename from src/toolsComm/flex/sym.c
rename to src/libCom/flex/sym.c
diff --git a/src/toolsComm/flex/tblcmp.c b/src/libCom/flex/tblcmp.c
similarity index 100%
rename from src/toolsComm/flex/tblcmp.c
rename to src/libCom/flex/tblcmp.c
diff --git a/src/toolsComm/flex/yylex.c b/src/libCom/flex/yylex.c
similarity index 100%
rename from src/toolsComm/flex/yylex.c
rename to src/libCom/flex/yylex.c
diff --git a/src/libCom/freeList/Makefile b/src/libCom/freeList/Makefile
new file mode 100644
index 000000000..f5afa3de5
--- /dev/null
+++ b/src/libCom/freeList/Makefile
@@ -0,0 +1,13 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+SRC_DIRS += $(LIBCOM)/freeList
+INC += freeList.h
+Com_SRCS += freeListLib.c
+HTMLS += freeList/freeList.html
diff --git a/src/libCom/gpHash/Makefile b/src/libCom/gpHash/Makefile
new file mode 100644
index 000000000..cc6b6a5f4
--- /dev/null
+++ b/src/libCom/gpHash/Makefile
@@ -0,0 +1,13 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+SRC_DIRS += $(LIBCOM)/gpHash
+INC += gpHash.h
+Com_SRCS += gpHashLib.c
+HTMLS += gpHash/gpHash.html
diff --git a/src/libCom/iocsh/Makefile b/src/libCom/iocsh/Makefile
new file mode 100644
index 000000000..766577354
--- /dev/null
+++ b/src/libCom/iocsh/Makefile
@@ -0,0 +1,16 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+SRC_DIRS += $(LIBCOM)/iocsh
+INC += iocsh.h
+INC += registry.h
+INC += libComRegister.h
+Com_SRCS += iocsh.cpp
+Com_SRCS += registry.c
+Com_SRCS += libComRegister.c
diff --git a/src/libCom/log/Makefile b/src/libCom/log/Makefile
new file mode 100644
index 000000000..92e4933f7
--- /dev/null
+++ b/src/libCom/log/Makefile
@@ -0,0 +1,26 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+SRC_DIRS += $(LIBCOM)/log
+INC += iocLog.h
+INC += logClient.h
+Com_SRCS += iocLog.c
+Com_SRCS += logClient.c
+
+PROD_HOST += iocLogServer
+
+iocLogServer_SRCS = iocLogServer.c
+iocLogServer_LIBS = Com
+
+iocLogServer_SYS_LIBS_solaris += socket
+iocLogServer_SYS_LIBS_WIN32 += user32
+
+SCRIPTS_solaris := S99logServer
+SCRIPTS_Linux := S99logServer
+
diff --git a/src/libCom/log/RULES b/src/libCom/log/RULES
new file mode 100644
index 000000000..0483b0518
--- /dev/null
+++ b/src/libCom/log/RULES
@@ -0,0 +1,12 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+S99%: ../log/rc2.%
+ sed -e s%:INSTALL_BIN:%`cd $(INSTALL_BIN); pwd`% $< >$@
+
diff --git a/src/libCom/logClient/iocLog.c b/src/libCom/log/iocLog.c
similarity index 100%
rename from src/libCom/logClient/iocLog.c
rename to src/libCom/log/iocLog.c
diff --git a/src/libCom/logClient/iocLog.h b/src/libCom/log/iocLog.h
similarity index 100%
rename from src/libCom/logClient/iocLog.h
rename to src/libCom/log/iocLog.h
diff --git a/src/util/iocLogServer.c b/src/libCom/log/iocLogServer.c
similarity index 100%
rename from src/util/iocLogServer.c
rename to src/libCom/log/iocLogServer.c
diff --git a/src/libCom/logClient/logClient.c b/src/libCom/log/logClient.c
similarity index 100%
rename from src/libCom/logClient/logClient.c
rename to src/libCom/log/logClient.c
diff --git a/src/libCom/logClient/logClient.h b/src/libCom/log/logClient.h
similarity index 100%
rename from src/libCom/logClient/logClient.h
rename to src/libCom/log/logClient.h
diff --git a/src/util/rc2.logServer b/src/libCom/log/rc2.logServer
similarity index 100%
rename from src/util/rc2.logServer
rename to src/libCom/log/rc2.logServer
diff --git a/src/libCom/macLib/Makefile b/src/libCom/macLib/Makefile
new file mode 100644
index 000000000..c0be82af8
--- /dev/null
+++ b/src/libCom/macLib/Makefile
@@ -0,0 +1,14 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+SRC_DIRS += $(LIBCOM)/macLib
+INC += macLib.h
+Com_SRCS += macCore.c
+Com_SRCS += macEnv.c
+Com_SRCS += macUtil.c
diff --git a/src/libCom/misc/Makefile b/src/libCom/misc/Makefile
new file mode 100644
index 000000000..d623b3225
--- /dev/null
+++ b/src/libCom/misc/Makefile
@@ -0,0 +1,43 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+SRC_DIRS += $(LIBCOM)/misc
+
+INC += alarm.h
+INC += alarmString.h
+INC += adjustment.h
+INC += cantProceed.h
+INC += dbDefs.h
+INC += epicsConvert.h
+INC += epicsExit.h
+INC += epicsStdlib.h
+INC += epicsString.h
+INC += epicsTypes.h
+INC += shareLib.h
+INC += epicsExport.h
+INC += unixFileName.h
+INC += locationException.h
+INC += ipAddrToAsciiAsynchronous.h
+INC += compilerDependencies.h
+INC += epicsUnitTest.h
+INC += testMain.h
+
+# epicsVersion.h is created by this Makefile
+INC += epicsVersion.h
+
+Com_SRCS += aToIPAddr.c
+Com_SRCS += adjustment.c
+Com_SRCS += cantProceed.c
+Com_SRCS += epicsConvert.c
+Com_SRCS += epicsExit.c
+Com_SRCS += epicsStdlib.c
+Com_SRCS += epicsString.c
+Com_SRCS += truncateFile.c
+Com_SRCS += ipAddrToAsciiAsynchronous.cpp
+Com_SRCS += epicsUnitTest.c
diff --git a/src/libCom/misc/RULES b/src/libCom/misc/RULES
new file mode 100644
index 000000000..fe180a83f
--- /dev/null
+++ b/src/libCom/misc/RULES
@@ -0,0 +1,12 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+$(COMMON_DIR)/epicsVersion.h: $(CONFIG)/CONFIG_BASE_VERSION $(CONFIG)/CONFIG_SITE
+ $(PERL) $(LIBCOM)/misc/makeEpicsVersion.pl $(CONFIG)/CONFIG_BASE_VERSION $(@D) $(EPICS_SITE_VERSION)
+
diff --git a/src/dbStatic/alarm.h b/src/libCom/misc/alarm.h
similarity index 100%
rename from src/dbStatic/alarm.h
rename to src/libCom/misc/alarm.h
diff --git a/src/dbStatic/alarmString.h b/src/libCom/misc/alarmString.h
similarity index 100%
rename from src/dbStatic/alarmString.h
rename to src/libCom/misc/alarmString.h
diff --git a/src/libCom/osi/Makefile b/src/libCom/osi/Makefile
new file mode 100644
index 000000000..208ec6a3a
--- /dev/null
+++ b/src/libCom/osi/Makefile
@@ -0,0 +1,127 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+SRC_DIRS += $(LIBCOM)/osi
+INC += osiFileName.h
+INC += osiSock.h
+INC += osdSock.h
+INC += epicsInterrupt.h
+INC += osdInterrupt.h
+
+INC += epicsMutex.h
+INC += osdMutex.h
+INC += epicsEvent.h
+INC += osdEvent.h
+INC += epicsMath.h
+INC += osdMessageQueue.h
+INC += osdStrtod.h
+
+INC += epicsAssert.h
+INC += epicsFindSymbol.h
+INC += osiPoolStatus.h
+INC += osdPoolStatus.h
+INC += osdThread.h
+
+INC += epicsThread.h
+INC += epicsTime.h
+INC += epicsGeneralTime.h
+INC += osdTime.h
+INC += generalTimeSup.h
+INC += osiClockTime.h
+INC += epicsSignal.h
+INC += osiProcess.h
+INC += osiUnistd.h
+INC += osiWireFormat.h
+INC += osdWireFormat.h
+INC += osdWireConfig.h
+INC += epicsEndian.h
+INC += epicsReadline.h
+INC += epicsMessageQueue.h
+INC += epicsStdio.h
+INC += epicsStdioRedirect.h
+INC += epicsGetopt.h
+
+INC += devLib.h
+INC += devLibVME.h
+INC += devLibVMEImpl.h
+INC += osdVME.h
+
+Com_SRCS += epicsThread.cpp
+Com_SRCS += epicsMutex.cpp
+Com_SRCS += epicsEvent.cpp
+Com_SRCS += epicsTime.cpp
+Com_SRCS += epicsMessageQueue.cpp
+Com_SRCS += epicsMath.cpp
+
+Com_SRCS += epicsGeneralTime.c
+
+# Time providers
+Com_SRCS += osiClockTime.c
+Com_SRCS_vxWorks += osiNTPTime.c
+Com_SRCS_RTEMS += osiNTPTime.c
+
+Com_SRCS += osdSock.c
+Com_SRCS += osdSockAddrReuse.cpp
+Com_SRCS += osiSock.c
+Com_SRCS += systemCallIntMech.cpp
+Com_SRCS += epicsSocketConvertErrnoToString.cpp
+Com_SRCS += osdAssert.c
+Com_SRCS += osdFindSymbol.c
+Com_SRCS += osdInterrupt.c
+Com_SRCS += osdPoolStatus.c
+Com_SRCS += osdSignal.cpp
+
+osdEnv_CFLAGS_WIN32= -U__STDC__
+
+Com_SRCS += osdEnv.c
+
+# Command-line input support
+epicsReadline_CFLAGS += -DEPICS_COMMANDLINE_LIBRARY=EPICS_COMMANDLINE_LIBRARY_$(COMMANDLINE_LIBRARY)
+epicsReadline_INCLUDES += $(INCLUDES_$(COMMANDLINE_LIBRARY))
+
+Com_SRCS += epicsReadline.c
+
+Com_SRCS += epicsTempFile.cpp
+Com_SRCS += epicsStdio.c
+Com_SRCS += osdStdio.c
+
+#POSIX thread priority scheduling flag
+THREAD_CPPFLAGS_NO += -DDONT_USE_POSIX_THREAD_PRIORITY_SCHEDULING
+osdThread_CPPFLAGS += $(THREAD_CPPFLAGS_$(USE_POSIX_THREAD_PRIORITY_SCHEDULING))
+
+Com_SRCS += osdThread.c
+Com_SRCS += osdMutex.c
+Com_SRCS += osdEvent.c
+Com_SRCS += osdTime.cpp
+Com_SRCS += osdProcess.c
+Com_SRCS += osdNetIntf.c
+Com_SRCS += osdMessageQueue.c
+
+Com_SRCS += devLibVME.c
+Com_SRCS += devLibVMEOSD.c
+
+Com_SRCS_vxWorks += atReboot.cpp
+
+# For old vxWorks applications
+INC_vxWorks += camacLib.h
+INC_vxWorks += epicsDynLink.h
+INC_vxWorks += module_types.h
+INC_vxWorks += task_params.h
+
+Com_SRCS_vxWorks += epicsDynLink.c
+Com_SRCS_vxWorks += veclist.c
+Com_SRCS_vxWorks += logMsgToErrlog.cpp
+
+#This forces the vxWorks compatibility stuff to be loaded
+OBJS_vxWorks = vxComLibrary
+
+Com_SRCS_WIN32 += epicsGetopt.c
+Com_SRCS_WIN32 += setThreadName.cpp
+#Com_SRCS_WIN32 += dllmain.cpp
+Com_SRCS_WIN32 += forceBadAllocException.cpp
diff --git a/src/libCom/osi/RULES b/src/libCom/osi/RULES
new file mode 100644
index 000000000..d23033c3f
--- /dev/null
+++ b/src/libCom/osi/RULES
@@ -0,0 +1,15 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+# Ensure epicsVersion.h gets built first
+osdAssert$(OBJ): $(COMMON_DIR)/epicsVersion.h
+epicsTime$(OBJ): $(COMMON_DIR)/epicsVersion.h
+osdNetIntf$(OBJ): $(COMMON_DIR)/epicsVersion.h
+osdSock$(OBJ): $(COMMON_DIR)/epicsVersion.h
+
diff --git a/src/libCom/ring/Makefile b/src/libCom/ring/Makefile
new file mode 100644
index 000000000..ec2ecbd2d
--- /dev/null
+++ b/src/libCom/ring/Makefile
@@ -0,0 +1,15 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+SRC_DIRS += $(LIBCOM)/ring
+#following needed for locating epicsRingPointer.h and epicsRingBytes.h
+INC += epicsRingPointer.h
+INC += epicsRingBytes.h
+Com_SRCS += epicsRingPointer.cpp
+Com_SRCS += epicsRingBytes.c
diff --git a/src/libCom/taskwd/Makefile b/src/libCom/taskwd/Makefile
new file mode 100644
index 000000000..af738f0d6
--- /dev/null
+++ b/src/libCom/taskwd/Makefile
@@ -0,0 +1,12 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+SRC_DIRS += $(LIBCOM)/taskwd
+INC += taskwd.h
+Com_SRCS += taskwd.c
diff --git a/src/libCom/timer/Makefile b/src/libCom/timer/Makefile
new file mode 100644
index 000000000..51094d069
--- /dev/null
+++ b/src/libCom/timer/Makefile
@@ -0,0 +1,17 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+SRC_DIRS += $(LIBCOM)/timer
+INC += epicsTimer.h
+Com_SRCS += epicsTimer.cpp
+Com_SRCS += timer.cpp
+Com_SRCS += timerQueue.cpp
+Com_SRCS += timerQueueActive.cpp
+Com_SRCS += timerQueueActiveMgr.cpp
+Com_SRCS += timerQueuePassive.cpp
diff --git a/src/libCom/tsDefs/Makefile b/src/libCom/tsDefs/Makefile
new file mode 100644
index 000000000..62420e138
--- /dev/null
+++ b/src/libCom/tsDefs/Makefile
@@ -0,0 +1,13 @@
+#*************************************************************************
+# Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+#tsDefs contains R3.13 compatibility tsStamp code
+SRC_DIRS += $(LIBCOM)/tsDefs
+INC += tsDefs.h
+Com_SRCS += tsDefs.c
diff --git a/src/toolsComm/antelope/ACKNOWLEDGEMENTS b/src/libCom/yacc/ACKNOWLEDGEMENTS
similarity index 100%
rename from src/toolsComm/antelope/ACKNOWLEDGEMENTS
rename to src/libCom/yacc/ACKNOWLEDGEMENTS
diff --git a/src/toolsComm/antelope/EPICS_READ_THIS b/src/libCom/yacc/EPICS_READ_THIS
similarity index 100%
rename from src/toolsComm/antelope/EPICS_READ_THIS
rename to src/libCom/yacc/EPICS_READ_THIS
diff --git a/src/libCom/yacc/Makefile b/src/libCom/yacc/Makefile
new file mode 100644
index 000000000..4f2083037
--- /dev/null
+++ b/src/libCom/yacc/Makefile
@@ -0,0 +1,29 @@
+#*************************************************************************
+# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
+# National Laboratory.
+# Copyright (c) 2002 The Regents of the University of California, as
+# Operator of Los Alamos National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/libCom/Makefile.
+
+SRC_DIRS += $(LIBCOM)/yacc
+
+antelope_SRCS += closure.c
+antelope_SRCS += error.c
+antelope_SRCS += lalr.c
+antelope_SRCS += lr0.c
+antelope_SRCS += antelope.c
+antelope_SRCS += mkpar.c
+antelope_SRCS += output.c
+antelope_SRCS += reader.c
+antelope_SRCS += skeleton.c
+antelope_SRCS += symtab.c
+antelope_SRCS += verbose.c
+antelope_SRCS += warshall.c
+antelope_OBJS += epicsTempFile$(OBJ)
+
+PROD_HOST += antelope
+
diff --git a/src/toolsComm/antelope/NEW_FEATURES b/src/libCom/yacc/NEW_FEATURES
similarity index 100%
rename from src/toolsComm/antelope/NEW_FEATURES
rename to src/libCom/yacc/NEW_FEATURES
diff --git a/src/toolsComm/antelope/NOTES b/src/libCom/yacc/NOTES
similarity index 100%
rename from src/toolsComm/antelope/NOTES
rename to src/libCom/yacc/NOTES
diff --git a/src/toolsComm/antelope/NO_WARRANTY b/src/libCom/yacc/NO_WARRANTY
similarity index 100%
rename from src/toolsComm/antelope/NO_WARRANTY
rename to src/libCom/yacc/NO_WARRANTY
diff --git a/src/toolsComm/antelope/README b/src/libCom/yacc/README
similarity index 100%
rename from src/toolsComm/antelope/README
rename to src/libCom/yacc/README
diff --git a/src/toolsComm/antelope/main.c b/src/libCom/yacc/antelope.c
similarity index 100%
rename from src/toolsComm/antelope/main.c
rename to src/libCom/yacc/antelope.c
diff --git a/src/toolsComm/antelope/closure.c b/src/libCom/yacc/closure.c
similarity index 100%
rename from src/toolsComm/antelope/closure.c
rename to src/libCom/yacc/closure.c
diff --git a/src/toolsComm/antelope/defs.h b/src/libCom/yacc/defs.h
similarity index 100%
rename from src/toolsComm/antelope/defs.h
rename to src/libCom/yacc/defs.h
diff --git a/src/toolsComm/antelope/error.c b/src/libCom/yacc/error.c
similarity index 100%
rename from src/toolsComm/antelope/error.c
rename to src/libCom/yacc/error.c
diff --git a/src/toolsComm/antelope/lalr.c b/src/libCom/yacc/lalr.c
similarity index 100%
rename from src/toolsComm/antelope/lalr.c
rename to src/libCom/yacc/lalr.c
diff --git a/src/toolsComm/antelope/lr0.c b/src/libCom/yacc/lr0.c
similarity index 100%
rename from src/toolsComm/antelope/lr0.c
rename to src/libCom/yacc/lr0.c
diff --git a/src/toolsComm/antelope/mkpar.c b/src/libCom/yacc/mkpar.c
similarity index 100%
rename from src/toolsComm/antelope/mkpar.c
rename to src/libCom/yacc/mkpar.c
diff --git a/src/toolsComm/antelope/output.c b/src/libCom/yacc/output.c
similarity index 100%
rename from src/toolsComm/antelope/output.c
rename to src/libCom/yacc/output.c
diff --git a/src/toolsComm/antelope/reader.c b/src/libCom/yacc/reader.c
similarity index 100%
rename from src/toolsComm/antelope/reader.c
rename to src/libCom/yacc/reader.c
diff --git a/src/toolsComm/antelope/skeleton.c b/src/libCom/yacc/skeleton.c
similarity index 100%
rename from src/toolsComm/antelope/skeleton.c
rename to src/libCom/yacc/skeleton.c
diff --git a/src/toolsComm/antelope/symtab.c b/src/libCom/yacc/symtab.c
similarity index 100%
rename from src/toolsComm/antelope/symtab.c
rename to src/libCom/yacc/symtab.c
diff --git a/src/toolsComm/antelope/verbose.c b/src/libCom/yacc/verbose.c
similarity index 100%
rename from src/toolsComm/antelope/verbose.c
rename to src/libCom/yacc/verbose.c
diff --git a/src/toolsComm/antelope/warshall.c b/src/libCom/yacc/warshall.c
similarity index 100%
rename from src/toolsComm/antelope/warshall.c
rename to src/libCom/yacc/warshall.c
diff --git a/src/toolsComm/antelope/yacc.html b/src/libCom/yacc/yacc.html
similarity index 100%
rename from src/toolsComm/antelope/yacc.html
rename to src/libCom/yacc/yacc.html
diff --git a/src/misc/base.dbd b/src/misc/base.dbd
deleted file mode 100644
index bade516b1..000000000
--- a/src/misc/base.dbd
+++ /dev/null
@@ -1,51 +0,0 @@
-# $Revision-Id$
-#
-# This file defines the standard record types and device support
-# provided by Base and (usually) loaded into all IOCs.
-
-# Menus
-include "menuGlobal.dbd"
-include "menuConvert.dbd"
-
-# Record types
-include "aaiRecord.dbd"
-include "aaoRecord.dbd"
-include "aiRecord.dbd"
-include "aoRecord.dbd"
-include "aSubRecord.dbd"
-include "biRecord.dbd"
-include "boRecord.dbd"
-include "calcRecord.dbd"
-include "calcoutRecord.dbd"
-include "compressRecord.dbd"
-include "dfanoutRecord.dbd"
-include "eventRecord.dbd"
-include "fanoutRecord.dbd"
-include "histogramRecord.dbd"
-include "longinRecord.dbd"
-include "longoutRecord.dbd"
-include "mbbiRecord.dbd"
-include "mbbiDirectRecord.dbd"
-include "mbboRecord.dbd"
-include "mbboDirectRecord.dbd"
-include "permissiveRecord.dbd"
-include "selRecord.dbd"
-include "seqRecord.dbd"
-include "stateRecord.dbd"
-include "stringinRecord.dbd"
-include "stringoutRecord.dbd"
-include "subRecord.dbd"
-include "subArrayRecord.dbd"
-include "waveformRecord.dbd"
-
-# "Soft Channel", "Raw Soft Channel", and "Async Soft Channel" device support
-include "devSoft.dbd"
-
-# Access security subroutines
-registrar(asSub)
-variable(asCaDebug,int)
-
-# dbStaticLib settings
-variable(dbRecordsOnceOnly,int)
-variable(dbBptNotMonotonic,int)
-
diff --git a/src/misc/misc.rc b/src/misc/misc.rc
deleted file mode 100755
index 040cf26c8..000000000
--- a/src/misc/misc.rc
+++ /dev/null
@@ -1,36 +0,0 @@
-#include
-#include "epicsVersion.h"
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION EPICS_VERSION,EPICS_REVISION,EPICS_MODIFICATION,EPICS_PATCH_LEVEL
- PRODUCTVERSION EPICS_VERSION,EPICS_REVISION,EPICS_MODIFICATION,EPICS_PATCH_LEVEL
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS VOS__WINDOWS32
- FILETYPE VFT_UNKNOWN
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments","Miscellaneous Tools Library for EPICS\0"
- VALUE "CompanyName", "The EPICS collaboration\0"
- VALUE "FileDescription", "Miscellaneous Tools Library\0"
- VALUE "FileVersion", EPICS_VERSION_STRING "\0"
- VALUE "InternalName", "misc\0"
- VALUE "LegalCopyright", "Copyright (C) Univ. of California, Univ. of Chicago\0"
- VALUE "OriginalFilename", "misc.dll\0"
- VALUE "ProductName", "Experimental Physics and Industrial Control System (EPICS)\0"
- VALUE "ProductVersion", EPICS_VERSION_STRING "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
diff --git a/src/misc/miscIoc.rc b/src/misc/miscIoc.rc
deleted file mode 100755
index abff0a137..000000000
--- a/src/misc/miscIoc.rc
+++ /dev/null
@@ -1,36 +0,0 @@
-#include
-#include "epicsVersion.h"
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION EPICS_VERSION,EPICS_REVISION,EPICS_MODIFICATION,EPICS_PATCH_LEVEL
- PRODUCTVERSION EPICS_VERSION,EPICS_REVISION,EPICS_MODIFICATION,EPICS_PATCH_LEVEL
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS VOS__WINDOWS32
- FILETYPE VFT_UNKNOWN
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments","Miscellaneous Ioc Tools Library for EPICS\0"
- VALUE "CompanyName", "The EPICS collaboration\0"
- VALUE "FileDescription", "Miscellaneous Ioc Tools Library\0"
- VALUE "FileVersion", EPICS_VERSION_STRING "\0"
- VALUE "InternalName", "miscIoc\0"
- VALUE "LegalCopyright", "Copyright (C) Univ. of California, Univ. of Chicago\0"
- VALUE "OriginalFilename", "miscIoc.dll\0"
- VALUE "ProductName", "Experimental Physics and Industrial Control System (EPICS)\0"
- VALUE "ProductVersion", EPICS_VERSION_STRING "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
diff --git a/src/rec/Makefile b/src/rec/Makefile
deleted file mode 100644
index c634062ba..000000000
--- a/src/rec/Makefile
+++ /dev/null
@@ -1,78 +0,0 @@
-#*************************************************************************
-# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
-# National Laboratory.
-# Copyright (c) 2002 The Regents of the University of California, as
-# Operator of Los Alamos National Laboratory.
-# EPICS BASE is distributed subject to a Software License Agreement found
-# in file LICENSE that is included with this distribution.
-#*************************************************************************
-TOP=../..
-include $(TOP)/configure/CONFIG
-
-DBDINC += aaiRecord
-DBDINC += aaoRecord
-DBDINC += aiRecord
-DBDINC += aoRecord
-DBDINC += aSubRecord
-DBDINC += biRecord
-DBDINC += boRecord
-DBDINC += calcRecord
-DBDINC += calcoutRecord
-DBDINC += compressRecord
-DBDINC += dfanoutRecord
-DBDINC += eventRecord
-DBDINC += fanoutRecord
-DBDINC += histogramRecord
-DBDINC += longinRecord
-DBDINC += longoutRecord
-DBDINC += mbbiRecord
-DBDINC += mbbiDirectRecord
-DBDINC += mbboRecord
-DBDINC += mbboDirectRecord
-DBDINC += permissiveRecord
-DBDINC += selRecord
-DBDINC += seqRecord
-DBDINC += stateRecord
-DBDINC += stringinRecord
-DBDINC += stringoutRecord
-DBDINC += subRecord
-DBDINC += subArrayRecord
-DBDINC += waveformRecord
-
-LIBSRCS += aaiRecord.c
-LIBSRCS += aaoRecord.c
-LIBSRCS += aiRecord.c
-LIBSRCS += aoRecord.c
-LIBSRCS += aSubRecord.c
-LIBSRCS += biRecord.c
-LIBSRCS += boRecord.c
-LIBSRCS += calcRecord.c
-LIBSRCS += calcoutRecord.c
-LIBSRCS += compressRecord.c
-LIBSRCS += dfanoutRecord.c
-LIBSRCS += eventRecord.c
-LIBSRCS += fanoutRecord.c
-LIBSRCS += histogramRecord.c
-LIBSRCS += longinRecord.c
-LIBSRCS += longoutRecord.c
-LIBSRCS += mbbiRecord.c
-LIBSRCS += mbbiDirectRecord.c
-LIBSRCS += mbboRecord.c
-LIBSRCS += mbboDirectRecord.c
-LIBSRCS += permissiveRecord.c
-LIBSRCS += selRecord.c
-LIBSRCS += seqRecord.c
-LIBSRCS += stateRecord.c
-LIBSRCS += stringinRecord.c
-LIBSRCS += stringoutRecord.c
-LIBSRCS += subRecord.c
-LIBSRCS += subArrayRecord.c
-LIBSRCS += waveformRecord.c
-
-LIBRARY_IOC += recIoc
-
-recIoc_LIBS = asIoc dbIoc registryIoc dbStaticIoc ca Com
-recIoc_RCS = recIoc.rc
-
-include $(TOP)/configure/RULES
-
diff --git a/src/registry/registryIoc.rc b/src/registry/registryIoc.rc
deleted file mode 100755
index e2397ba0b..000000000
--- a/src/registry/registryIoc.rc
+++ /dev/null
@@ -1,36 +0,0 @@
-#include
-#include "epicsVersion.h"
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION EPICS_VERSION,EPICS_REVISION,EPICS_MODIFICATION,EPICS_PATCH_LEVEL
- PRODUCTVERSION EPICS_VERSION,EPICS_REVISION,EPICS_MODIFICATION,EPICS_PATCH_LEVEL
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS VOS__WINDOWS32
- FILETYPE VFT_UNKNOWN
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments","Registry Ioc Library for EPICS\0"
- VALUE "CompanyName", "The EPICS collaboration\0"
- VALUE "FileDescription", "Registry Ioc Library\0"
- VALUE "FileVersion", EPICS_VERSION_STRING "\0"
- VALUE "InternalName", "registryIoc\0"
- VALUE "LegalCopyright", "Copyright (C) Univ. of California, Univ. of Chicago\0"
- VALUE "OriginalFilename", "registryIoc.dll\0"
- VALUE "ProductName", "Experimental Physics and Industrial Control System (EPICS)\0"
- VALUE "ProductVersion", EPICS_VERSION_STRING "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
diff --git a/src/rsrv/rsrvIoc.rc b/src/rsrv/rsrvIoc.rc
deleted file mode 100755
index 758096e16..000000000
--- a/src/rsrv/rsrvIoc.rc
+++ /dev/null
@@ -1,36 +0,0 @@
-#include
-#include "epicsVersion.h"
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION EPICS_VERSION,EPICS_REVISION,EPICS_MODIFICATION,EPICS_PATCH_LEVEL
- PRODUCTVERSION EPICS_VERSION,EPICS_REVISION,EPICS_MODIFICATION,EPICS_PATCH_LEVEL
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS VOS__WINDOWS32
- FILETYPE VFT_UNKNOWN
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "Comments","Channel Access Ioc Resource Server Library for EPICS\0"
- VALUE "CompanyName", "The EPICS collaboration\0"
- VALUE "FileDescription", "Channel Access Ioc Resource Server Library\0"
- VALUE "FileVersion", EPICS_VERSION_STRING "\0"
- VALUE "InternalName", "rsrv\0"
- VALUE "LegalCopyright", "Copyright (C) Univ. of California, Univ. of Chicago\0"
- VALUE "OriginalFilename", "rsrv.dll\0"
- VALUE "ProductName", "Experimental Physics and Industrial Control System (EPICS)\0"
- VALUE "ProductVersion", EPICS_VERSION_STRING "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
diff --git a/src/rsrv/Makefile b/src/std/Makefile
similarity index 61%
rename from src/rsrv/Makefile
rename to src/std/Makefile
index 002cc42d8..a3cb4fbbb 100644
--- a/src/rsrv/Makefile
+++ b/src/std/Makefile
@@ -10,24 +10,21 @@ TOP=../..
include $(TOP)/configure/CONFIG
-USR_INCLUDES = -I../../ca
+STDDIR=$(TOP)/src/std
-INC += rsrv.h
-INC += rsrvIocRegister.h
+USR_DBDFLAGS += -I ../rec -I ../dev -I ../softIoc
-LIB_SRCS += caserverio.c
-LIB_SRCS += caservertask.c
-LIB_SRCS += camsgtask.c
-LIB_SRCS += camessage.c
-LIB_SRCS += cast_server.c
-LIB_SRCS += online_notify.c
-LIB_SRCS += rsrvIocRegister.c
+LIBRARY_IOC += dbRecStd
+dbRecStd_LIBS = dbCore ca Com
-LIBRARY_IOC = rsrvIoc
+dbRecStd_RCS += dbRecStd.rc
-rsrvIoc_LIBS = asIoc dbIoc ca Com
-
-rsrvIoc_SYS_LIBS_WIN32 := ws2_32
-rsrvIoc_RCS = rsrvIoc.rc
+include $(STDDIR)/dev/Makefile
+include $(STDDIR)/rec/Makefile
+include $(STDDIR)/softIoc/Makefile
include $(TOP)/configure/RULES
+
+include $(STDDIR)/rec/RULES
+include $(STDDIR)/softIoc/RULES
+
diff --git a/src/db/dbIoc.rc b/src/std/dbRecStd.rc
similarity index 78%
rename from src/db/dbIoc.rc
rename to src/std/dbRecStd.rc
index 6b261fff3..c7ba829fa 100755
--- a/src/db/dbIoc.rc
+++ b/src/std/dbRecStd.rc
@@ -18,13 +18,13 @@ BEGIN
BEGIN
BLOCK "040904b0"
BEGIN
- VALUE "Comments","Database Library for EPICS\0"
+ VALUE "Comments","Record and Soft Device Support Library for EPICS\0"
VALUE "CompanyName", "The EPICS collaboration\0"
- VALUE "FileDescription", "Database Library\0"
+ VALUE "FileDescription", "Record and Soft Device Support Library\0"
VALUE "FileVersion", EPICS_VERSION_STRING "\0"
- VALUE "InternalName", "dbIoc\0"
+ VALUE "InternalName", "dbRecStd\0"
VALUE "LegalCopyright", "Copyright (C) Univ. of California, Univ. of Chicago\0"
- VALUE "OriginalFilename", "dbIoc.dll\0"
+ VALUE "OriginalFilename", "dbRecStd.dll\0"
VALUE "ProductName", "Experimental Physics and Industrial Control System (EPICS)\0"
VALUE "ProductVersion", EPICS_VERSION_STRING "\0"
END
diff --git a/src/std/dev/Makefile b/src/std/dev/Makefile
new file mode 100644
index 000000000..a118f7057
--- /dev/null
+++ b/src/std/dev/Makefile
@@ -0,0 +1,57 @@
+#*************************************************************************
+# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# Copyright (c) 2002 The Regents of the University of California, as
+# Operator of Los Alamos National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/std/Makefile.
+
+SRC_DIRS += $(STDDIR)/dev
+
+DBD += devSoft.dbd
+
+dbRecStd_SRCS += devAaiSoft.c
+dbRecStd_SRCS += devAaoSoft.c
+dbRecStd_SRCS += devAiSoft.c
+dbRecStd_SRCS += devAiSoftRaw.c
+dbRecStd_SRCS += devAoSoft.c
+dbRecStd_SRCS += devAoSoftRaw.c
+dbRecStd_SRCS += devBiSoft.c
+dbRecStd_SRCS += devBiSoftRaw.c
+dbRecStd_SRCS += devBoSoft.c
+dbRecStd_SRCS += devBoSoftRaw.c
+dbRecStd_SRCS += devCalcoutSoft.c
+dbRecStd_SRCS += devEventSoft.c
+dbRecStd_SRCS += devHistogramSoft.c
+dbRecStd_SRCS += devLiSoft.c
+dbRecStd_SRCS += devLoSoft.c
+dbRecStd_SRCS += devMbbiDirectSoft.c
+dbRecStd_SRCS += devMbbiDirectSoftRaw.c
+dbRecStd_SRCS += devMbbiSoft.c
+dbRecStd_SRCS += devMbbiSoftRaw.c
+dbRecStd_SRCS += devMbboDirectSoft.c
+dbRecStd_SRCS += devMbboDirectSoftRaw.c
+dbRecStd_SRCS += devMbboSoft.c
+dbRecStd_SRCS += devMbboSoftRaw.c
+dbRecStd_SRCS += devSASoft.c
+dbRecStd_SRCS += devSiSoft.c
+dbRecStd_SRCS += devSoSoft.c
+dbRecStd_SRCS += devWfSoft.c
+dbRecStd_SRCS += devGeneralTime.c
+
+dbRecStd_SRCS += devAoSoftCallback.c
+dbRecStd_SRCS += devBoSoftCallback.c
+dbRecStd_SRCS += devCalcoutSoftCallback.c
+dbRecStd_SRCS += devLoSoftCallback.c
+dbRecStd_SRCS += devMbboSoftCallback.c
+dbRecStd_SRCS += devMbboDirectSoftCallback.c
+dbRecStd_SRCS += devSoSoftCallback.c
+
+dbRecStd_SRCS += devTimestamp.c
+dbRecStd_SRCS += devSoStdio.c
+
+dbRecStd_SRCS += asSubRecordFunctions.c
+
diff --git a/src/misc/asSubRecordFunctions.c b/src/std/dev/asSubRecordFunctions.c
similarity index 100%
rename from src/misc/asSubRecordFunctions.c
rename to src/std/dev/asSubRecordFunctions.c
diff --git a/src/dev/softDev/devAaiSoft.c b/src/std/dev/devAaiSoft.c
similarity index 100%
rename from src/dev/softDev/devAaiSoft.c
rename to src/std/dev/devAaiSoft.c
diff --git a/src/dev/softDev/devAaoSoft.c b/src/std/dev/devAaoSoft.c
similarity index 100%
rename from src/dev/softDev/devAaoSoft.c
rename to src/std/dev/devAaoSoft.c
diff --git a/src/dev/softDev/devAiSoft.c b/src/std/dev/devAiSoft.c
similarity index 100%
rename from src/dev/softDev/devAiSoft.c
rename to src/std/dev/devAiSoft.c
diff --git a/src/dev/softDev/devAiSoftRaw.c b/src/std/dev/devAiSoftRaw.c
similarity index 100%
rename from src/dev/softDev/devAiSoftRaw.c
rename to src/std/dev/devAiSoftRaw.c
diff --git a/src/dev/softDev/devAoSoft.c b/src/std/dev/devAoSoft.c
similarity index 100%
rename from src/dev/softDev/devAoSoft.c
rename to src/std/dev/devAoSoft.c
diff --git a/src/dev/softDev/devAoSoftCallback.c b/src/std/dev/devAoSoftCallback.c
similarity index 100%
rename from src/dev/softDev/devAoSoftCallback.c
rename to src/std/dev/devAoSoftCallback.c
diff --git a/src/dev/softDev/devAoSoftRaw.c b/src/std/dev/devAoSoftRaw.c
similarity index 100%
rename from src/dev/softDev/devAoSoftRaw.c
rename to src/std/dev/devAoSoftRaw.c
diff --git a/src/dev/softDev/devBiSoft.c b/src/std/dev/devBiSoft.c
similarity index 100%
rename from src/dev/softDev/devBiSoft.c
rename to src/std/dev/devBiSoft.c
diff --git a/src/dev/softDev/devBiSoftRaw.c b/src/std/dev/devBiSoftRaw.c
similarity index 100%
rename from src/dev/softDev/devBiSoftRaw.c
rename to src/std/dev/devBiSoftRaw.c
diff --git a/src/dev/softDev/devBoSoft.c b/src/std/dev/devBoSoft.c
similarity index 100%
rename from src/dev/softDev/devBoSoft.c
rename to src/std/dev/devBoSoft.c
diff --git a/src/dev/softDev/devBoSoftCallback.c b/src/std/dev/devBoSoftCallback.c
similarity index 100%
rename from src/dev/softDev/devBoSoftCallback.c
rename to src/std/dev/devBoSoftCallback.c
diff --git a/src/dev/softDev/devBoSoftRaw.c b/src/std/dev/devBoSoftRaw.c
similarity index 100%
rename from src/dev/softDev/devBoSoftRaw.c
rename to src/std/dev/devBoSoftRaw.c
diff --git a/src/dev/softDev/devCalcoutSoft.c b/src/std/dev/devCalcoutSoft.c
similarity index 100%
rename from src/dev/softDev/devCalcoutSoft.c
rename to src/std/dev/devCalcoutSoft.c
diff --git a/src/dev/softDev/devCalcoutSoftCallback.c b/src/std/dev/devCalcoutSoftCallback.c
similarity index 100%
rename from src/dev/softDev/devCalcoutSoftCallback.c
rename to src/std/dev/devCalcoutSoftCallback.c
diff --git a/src/dev/softDev/devEventSoft.c b/src/std/dev/devEventSoft.c
similarity index 100%
rename from src/dev/softDev/devEventSoft.c
rename to src/std/dev/devEventSoft.c
diff --git a/src/dev/softDev/devGeneralTime.c b/src/std/dev/devGeneralTime.c
similarity index 100%
rename from src/dev/softDev/devGeneralTime.c
rename to src/std/dev/devGeneralTime.c
diff --git a/src/dev/softDev/devHistogramSoft.c b/src/std/dev/devHistogramSoft.c
similarity index 100%
rename from src/dev/softDev/devHistogramSoft.c
rename to src/std/dev/devHistogramSoft.c
diff --git a/src/dev/softDev/devLiSoft.c b/src/std/dev/devLiSoft.c
similarity index 100%
rename from src/dev/softDev/devLiSoft.c
rename to src/std/dev/devLiSoft.c
diff --git a/src/dev/softDev/devLoSoft.c b/src/std/dev/devLoSoft.c
similarity index 100%
rename from src/dev/softDev/devLoSoft.c
rename to src/std/dev/devLoSoft.c
diff --git a/src/dev/softDev/devLoSoftCallback.c b/src/std/dev/devLoSoftCallback.c
similarity index 100%
rename from src/dev/softDev/devLoSoftCallback.c
rename to src/std/dev/devLoSoftCallback.c
diff --git a/src/dev/softDev/devMbbiDirectSoft.c b/src/std/dev/devMbbiDirectSoft.c
similarity index 100%
rename from src/dev/softDev/devMbbiDirectSoft.c
rename to src/std/dev/devMbbiDirectSoft.c
diff --git a/src/dev/softDev/devMbbiDirectSoftRaw.c b/src/std/dev/devMbbiDirectSoftRaw.c
similarity index 100%
rename from src/dev/softDev/devMbbiDirectSoftRaw.c
rename to src/std/dev/devMbbiDirectSoftRaw.c
diff --git a/src/dev/softDev/devMbbiSoft.c b/src/std/dev/devMbbiSoft.c
similarity index 100%
rename from src/dev/softDev/devMbbiSoft.c
rename to src/std/dev/devMbbiSoft.c
diff --git a/src/dev/softDev/devMbbiSoftRaw.c b/src/std/dev/devMbbiSoftRaw.c
similarity index 100%
rename from src/dev/softDev/devMbbiSoftRaw.c
rename to src/std/dev/devMbbiSoftRaw.c
diff --git a/src/dev/softDev/devMbboDirectSoft.c b/src/std/dev/devMbboDirectSoft.c
similarity index 100%
rename from src/dev/softDev/devMbboDirectSoft.c
rename to src/std/dev/devMbboDirectSoft.c
diff --git a/src/dev/softDev/devMbboDirectSoftCallback.c b/src/std/dev/devMbboDirectSoftCallback.c
similarity index 100%
rename from src/dev/softDev/devMbboDirectSoftCallback.c
rename to src/std/dev/devMbboDirectSoftCallback.c
diff --git a/src/dev/softDev/devMbboDirectSoftRaw.c b/src/std/dev/devMbboDirectSoftRaw.c
similarity index 100%
rename from src/dev/softDev/devMbboDirectSoftRaw.c
rename to src/std/dev/devMbboDirectSoftRaw.c
diff --git a/src/dev/softDev/devMbboSoft.c b/src/std/dev/devMbboSoft.c
similarity index 100%
rename from src/dev/softDev/devMbboSoft.c
rename to src/std/dev/devMbboSoft.c
diff --git a/src/dev/softDev/devMbboSoftCallback.c b/src/std/dev/devMbboSoftCallback.c
similarity index 100%
rename from src/dev/softDev/devMbboSoftCallback.c
rename to src/std/dev/devMbboSoftCallback.c
diff --git a/src/dev/softDev/devMbboSoftRaw.c b/src/std/dev/devMbboSoftRaw.c
similarity index 100%
rename from src/dev/softDev/devMbboSoftRaw.c
rename to src/std/dev/devMbboSoftRaw.c
diff --git a/src/dev/softDev/devSASoft.c b/src/std/dev/devSASoft.c
similarity index 100%
rename from src/dev/softDev/devSASoft.c
rename to src/std/dev/devSASoft.c
diff --git a/src/dev/softDev/devSiSoft.c b/src/std/dev/devSiSoft.c
similarity index 100%
rename from src/dev/softDev/devSiSoft.c
rename to src/std/dev/devSiSoft.c
diff --git a/src/dev/softDev/devSoSoft.c b/src/std/dev/devSoSoft.c
similarity index 100%
rename from src/dev/softDev/devSoSoft.c
rename to src/std/dev/devSoSoft.c
diff --git a/src/dev/softDev/devSoSoftCallback.c b/src/std/dev/devSoSoftCallback.c
similarity index 100%
rename from src/dev/softDev/devSoSoftCallback.c
rename to src/std/dev/devSoSoftCallback.c
diff --git a/src/dev/softDev/devSoStdio.c b/src/std/dev/devSoStdio.c
similarity index 100%
rename from src/dev/softDev/devSoStdio.c
rename to src/std/dev/devSoStdio.c
diff --git a/src/dev/softDev/devSoft.dbd b/src/std/dev/devSoft.dbd
similarity index 100%
rename from src/dev/softDev/devSoft.dbd
rename to src/std/dev/devSoft.dbd
diff --git a/src/dev/softDev/devTimestamp.c b/src/std/dev/devTimestamp.c
similarity index 100%
rename from src/dev/softDev/devTimestamp.c
rename to src/std/dev/devTimestamp.c
diff --git a/src/dev/softDev/devWfSoft.c b/src/std/dev/devWfSoft.c
similarity index 100%
rename from src/dev/softDev/devWfSoft.c
rename to src/std/dev/devWfSoft.c
diff --git a/src/dev/softDev/softDevIoc.rc b/src/std/dev/softDevIoc.rc
similarity index 100%
rename from src/dev/softDev/softDevIoc.rc
rename to src/std/dev/softDevIoc.rc
diff --git a/src/std/rec/Makefile b/src/std/rec/Makefile
new file mode 100644
index 000000000..fbd23fd5a
--- /dev/null
+++ b/src/std/rec/Makefile
@@ -0,0 +1,77 @@
+#*************************************************************************
+# Copyright (c) 2011 The University of Chicago, as Operator of Argonne
+# National Laboratory.
+# Copyright (c) 2002 The Regents of the University of California, as
+# Operator of Los Alamos National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# This is a Makefile fragment, see src/std/Makefile.
+
+SRC_DIRS += $(STDDIR)/rec
+
+DBDINC += aaiRecord
+DBDINC += aaoRecord
+DBDINC += aiRecord
+DBDINC += aoRecord
+DBDINC += aSubRecord
+DBDINC += biRecord
+DBDINC += boRecord
+DBDINC += calcRecord
+DBDINC += calcoutRecord
+DBDINC += compressRecord
+DBDINC += dfanoutRecord
+DBDINC += eventRecord
+DBDINC += fanoutRecord
+DBDINC += histogramRecord
+DBDINC += longinRecord
+DBDINC += longoutRecord
+DBDINC += mbbiRecord
+DBDINC += mbbiDirectRecord
+DBDINC += mbboRecord
+DBDINC += mbboDirectRecord
+DBDINC += permissiveRecord
+DBDINC += selRecord
+DBDINC += seqRecord
+DBDINC += stateRecord
+DBDINC += stringinRecord
+DBDINC += stringoutRecord
+DBDINC += subRecord
+DBDINC += subArrayRecord
+DBDINC += waveformRecord
+
+DBD += stdRecords.dbd
+
+stdRecords_DBD = $(patsubst %,%.dbd,$(DBDINC))
+
+dbRecStd_SRCS += aaiRecord.c
+dbRecStd_SRCS += aaoRecord.c
+dbRecStd_SRCS += aiRecord.c
+dbRecStd_SRCS += aoRecord.c
+dbRecStd_SRCS += aSubRecord.c
+dbRecStd_SRCS += biRecord.c
+dbRecStd_SRCS += boRecord.c
+dbRecStd_SRCS += calcRecord.c
+dbRecStd_SRCS += calcoutRecord.c
+dbRecStd_SRCS += compressRecord.c
+dbRecStd_SRCS += dfanoutRecord.c
+dbRecStd_SRCS += eventRecord.c
+dbRecStd_SRCS += fanoutRecord.c
+dbRecStd_SRCS += histogramRecord.c
+dbRecStd_SRCS += longinRecord.c
+dbRecStd_SRCS += longoutRecord.c
+dbRecStd_SRCS += mbbiRecord.c
+dbRecStd_SRCS += mbbiDirectRecord.c
+dbRecStd_SRCS += mbboRecord.c
+dbRecStd_SRCS += mbboDirectRecord.c
+dbRecStd_SRCS += permissiveRecord.c
+dbRecStd_SRCS += selRecord.c
+dbRecStd_SRCS += seqRecord.c
+dbRecStd_SRCS += stateRecord.c
+dbRecStd_SRCS += stringinRecord.c
+dbRecStd_SRCS += stringoutRecord.c
+dbRecStd_SRCS += subRecord.c
+dbRecStd_SRCS += subArrayRecord.c
+dbRecStd_SRCS += waveformRecord.c
+
diff --git a/src/dev/Makefile b/src/std/rec/RULES
similarity index 67%
rename from src/dev/Makefile
rename to src/std/rec/RULES
index cdd320ca5..702ff7009 100644
--- a/src/dev/Makefile
+++ b/src/std/rec/RULES
@@ -1,5 +1,5 @@
#*************************************************************************
-# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
+# Copyright (c) 2011 The University of Chicago, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
@@ -7,12 +7,9 @@
# in file LICENSE that is included with this distribution.
#*************************************************************************
-TOP=../..
+# This is a Makefile fragment, see src/std/Makefile.
-include $(TOP)/configure/CONFIG
-
-DIRS += softDev
-DIRS += testDev
-
-include $(TOP)/configure/RULES_DIRS
+$(COMMON_DIR)/stdRecords.dbd:
+ $(RM) $@
+ $(PERL) $(TOOLS)/makeIncludeDbd.pl $(stdRecords_DBD) $@
diff --git a/src/rec/aSubRecord.c b/src/std/rec/aSubRecord.c
similarity index 100%
rename from src/rec/aSubRecord.c
rename to src/std/rec/aSubRecord.c
diff --git a/src/rec/aSubRecord.dbd b/src/std/rec/aSubRecord.dbd
similarity index 100%
rename from src/rec/aSubRecord.dbd
rename to src/std/rec/aSubRecord.dbd
diff --git a/src/rec/aaiRecord.c b/src/std/rec/aaiRecord.c
similarity index 100%
rename from src/rec/aaiRecord.c
rename to src/std/rec/aaiRecord.c
diff --git a/src/rec/aaiRecord.dbd b/src/std/rec/aaiRecord.dbd
similarity index 100%
rename from src/rec/aaiRecord.dbd
rename to src/std/rec/aaiRecord.dbd
diff --git a/src/rec/aaoRecord.c b/src/std/rec/aaoRecord.c
similarity index 100%
rename from src/rec/aaoRecord.c
rename to src/std/rec/aaoRecord.c
diff --git a/src/rec/aaoRecord.dbd b/src/std/rec/aaoRecord.dbd
similarity index 100%
rename from src/rec/aaoRecord.dbd
rename to src/std/rec/aaoRecord.dbd
diff --git a/src/rec/aiRecord.c b/src/std/rec/aiRecord.c
similarity index 100%
rename from src/rec/aiRecord.c
rename to src/std/rec/aiRecord.c
diff --git a/src/rec/aiRecord.dbd b/src/std/rec/aiRecord.dbd
similarity index 100%
rename from src/rec/aiRecord.dbd
rename to src/std/rec/aiRecord.dbd
diff --git a/src/rec/aoRecord.c b/src/std/rec/aoRecord.c
similarity index 100%
rename from src/rec/aoRecord.c
rename to src/std/rec/aoRecord.c
diff --git a/src/rec/aoRecord.dbd b/src/std/rec/aoRecord.dbd
similarity index 100%
rename from src/rec/aoRecord.dbd
rename to src/std/rec/aoRecord.dbd
diff --git a/src/rec/biRecord.c b/src/std/rec/biRecord.c
similarity index 100%
rename from src/rec/biRecord.c
rename to src/std/rec/biRecord.c
diff --git a/src/rec/biRecord.dbd b/src/std/rec/biRecord.dbd
similarity index 100%
rename from src/rec/biRecord.dbd
rename to src/std/rec/biRecord.dbd
diff --git a/src/rec/boRecord.c b/src/std/rec/boRecord.c
similarity index 100%
rename from src/rec/boRecord.c
rename to src/std/rec/boRecord.c
diff --git a/src/rec/boRecord.dbd b/src/std/rec/boRecord.dbd
similarity index 100%
rename from src/rec/boRecord.dbd
rename to src/std/rec/boRecord.dbd
diff --git a/src/rec/calcRecord.c b/src/std/rec/calcRecord.c
similarity index 100%
rename from src/rec/calcRecord.c
rename to src/std/rec/calcRecord.c
diff --git a/src/rec/calcRecord.dbd b/src/std/rec/calcRecord.dbd
similarity index 100%
rename from src/rec/calcRecord.dbd
rename to src/std/rec/calcRecord.dbd
diff --git a/src/rec/calcoutRecord.c b/src/std/rec/calcoutRecord.c
similarity index 100%
rename from src/rec/calcoutRecord.c
rename to src/std/rec/calcoutRecord.c
diff --git a/src/rec/calcoutRecord.dbd b/src/std/rec/calcoutRecord.dbd
similarity index 100%
rename from src/rec/calcoutRecord.dbd
rename to src/std/rec/calcoutRecord.dbd
diff --git a/src/rec/compressRecord.c b/src/std/rec/compressRecord.c
similarity index 100%
rename from src/rec/compressRecord.c
rename to src/std/rec/compressRecord.c
diff --git a/src/rec/compressRecord.dbd b/src/std/rec/compressRecord.dbd
similarity index 100%
rename from src/rec/compressRecord.dbd
rename to src/std/rec/compressRecord.dbd
diff --git a/src/rec/dfanoutRecord.c b/src/std/rec/dfanoutRecord.c
similarity index 100%
rename from src/rec/dfanoutRecord.c
rename to src/std/rec/dfanoutRecord.c
diff --git a/src/rec/dfanoutRecord.dbd b/src/std/rec/dfanoutRecord.dbd
similarity index 100%
rename from src/rec/dfanoutRecord.dbd
rename to src/std/rec/dfanoutRecord.dbd
diff --git a/src/rec/eventRecord.c b/src/std/rec/eventRecord.c
similarity index 100%
rename from src/rec/eventRecord.c
rename to src/std/rec/eventRecord.c
diff --git a/src/rec/eventRecord.dbd b/src/std/rec/eventRecord.dbd
similarity index 100%
rename from src/rec/eventRecord.dbd
rename to src/std/rec/eventRecord.dbd
diff --git a/src/rec/fanoutRecord.c b/src/std/rec/fanoutRecord.c
similarity index 100%
rename from src/rec/fanoutRecord.c
rename to src/std/rec/fanoutRecord.c
diff --git a/src/rec/fanoutRecord.dbd b/src/std/rec/fanoutRecord.dbd
similarity index 100%
rename from src/rec/fanoutRecord.dbd
rename to src/std/rec/fanoutRecord.dbd
diff --git a/src/rec/histogramRecord.c b/src/std/rec/histogramRecord.c
similarity index 100%
rename from src/rec/histogramRecord.c
rename to src/std/rec/histogramRecord.c
diff --git a/src/rec/histogramRecord.dbd b/src/std/rec/histogramRecord.dbd
similarity index 100%
rename from src/rec/histogramRecord.dbd
rename to src/std/rec/histogramRecord.dbd
diff --git a/src/rec/longinRecord.c b/src/std/rec/longinRecord.c
similarity index 100%
rename from src/rec/longinRecord.c
rename to src/std/rec/longinRecord.c
diff --git a/src/rec/longinRecord.dbd b/src/std/rec/longinRecord.dbd
similarity index 100%
rename from src/rec/longinRecord.dbd
rename to src/std/rec/longinRecord.dbd
diff --git a/src/rec/longoutRecord.c b/src/std/rec/longoutRecord.c
similarity index 100%
rename from src/rec/longoutRecord.c
rename to src/std/rec/longoutRecord.c
diff --git a/src/rec/longoutRecord.dbd b/src/std/rec/longoutRecord.dbd
similarity index 100%
rename from src/rec/longoutRecord.dbd
rename to src/std/rec/longoutRecord.dbd
diff --git a/src/rec/mbbiDirectRecord.c b/src/std/rec/mbbiDirectRecord.c
similarity index 100%
rename from src/rec/mbbiDirectRecord.c
rename to src/std/rec/mbbiDirectRecord.c
diff --git a/src/rec/mbbiDirectRecord.dbd b/src/std/rec/mbbiDirectRecord.dbd
similarity index 100%
rename from src/rec/mbbiDirectRecord.dbd
rename to src/std/rec/mbbiDirectRecord.dbd
diff --git a/src/rec/mbbiRecord.c b/src/std/rec/mbbiRecord.c
similarity index 100%
rename from src/rec/mbbiRecord.c
rename to src/std/rec/mbbiRecord.c
diff --git a/src/rec/mbbiRecord.dbd b/src/std/rec/mbbiRecord.dbd
similarity index 100%
rename from src/rec/mbbiRecord.dbd
rename to src/std/rec/mbbiRecord.dbd
diff --git a/src/rec/mbboDirectRecord.c b/src/std/rec/mbboDirectRecord.c
similarity index 100%
rename from src/rec/mbboDirectRecord.c
rename to src/std/rec/mbboDirectRecord.c
diff --git a/src/rec/mbboDirectRecord.dbd b/src/std/rec/mbboDirectRecord.dbd
similarity index 100%
rename from src/rec/mbboDirectRecord.dbd
rename to src/std/rec/mbboDirectRecord.dbd
diff --git a/src/rec/mbboRecord.c b/src/std/rec/mbboRecord.c
similarity index 100%
rename from src/rec/mbboRecord.c
rename to src/std/rec/mbboRecord.c
diff --git a/src/rec/mbboRecord.dbd b/src/std/rec/mbboRecord.dbd
similarity index 100%
rename from src/rec/mbboRecord.dbd
rename to src/std/rec/mbboRecord.dbd
diff --git a/src/rec/permissiveRecord.c b/src/std/rec/permissiveRecord.c
similarity index 100%
rename from src/rec/permissiveRecord.c
rename to src/std/rec/permissiveRecord.c
diff --git a/src/rec/permissiveRecord.dbd b/src/std/rec/permissiveRecord.dbd
similarity index 100%
rename from src/rec/permissiveRecord.dbd
rename to src/std/rec/permissiveRecord.dbd
diff --git a/src/rec/selRecord.c b/src/std/rec/selRecord.c
similarity index 100%
rename from src/rec/selRecord.c
rename to src/std/rec/selRecord.c
diff --git a/src/rec/selRecord.dbd b/src/std/rec/selRecord.dbd
similarity index 100%
rename from src/rec/selRecord.dbd
rename to src/std/rec/selRecord.dbd
diff --git a/src/rec/seqRecord.c b/src/std/rec/seqRecord.c
similarity index 100%
rename from src/rec/seqRecord.c
rename to src/std/rec/seqRecord.c
diff --git a/src/rec/seqRecord.dbd b/src/std/rec/seqRecord.dbd
similarity index 100%
rename from src/rec/seqRecord.dbd
rename to src/std/rec/seqRecord.dbd
diff --git a/src/rec/stateRecord.c b/src/std/rec/stateRecord.c
similarity index 100%
rename from src/rec/stateRecord.c
rename to src/std/rec/stateRecord.c
diff --git a/src/rec/stateRecord.dbd b/src/std/rec/stateRecord.dbd
similarity index 100%
rename from src/rec/stateRecord.dbd
rename to src/std/rec/stateRecord.dbd
diff --git a/src/rec/stringinRecord.c b/src/std/rec/stringinRecord.c
similarity index 100%
rename from src/rec/stringinRecord.c
rename to src/std/rec/stringinRecord.c
diff --git a/src/rec/stringinRecord.dbd b/src/std/rec/stringinRecord.dbd
similarity index 100%
rename from src/rec/stringinRecord.dbd
rename to src/std/rec/stringinRecord.dbd
diff --git a/src/rec/stringoutRecord.c b/src/std/rec/stringoutRecord.c
similarity index 100%
rename from src/rec/stringoutRecord.c
rename to src/std/rec/stringoutRecord.c
diff --git a/src/rec/stringoutRecord.dbd b/src/std/rec/stringoutRecord.dbd
similarity index 100%
rename from src/rec/stringoutRecord.dbd
rename to src/std/rec/stringoutRecord.dbd
diff --git a/src/rec/subArrayRecord.c b/src/std/rec/subArrayRecord.c
similarity index 100%
rename from src/rec/subArrayRecord.c
rename to src/std/rec/subArrayRecord.c
diff --git a/src/rec/subArrayRecord.dbd b/src/std/rec/subArrayRecord.dbd
similarity index 100%
rename from src/rec/subArrayRecord.dbd
rename to src/std/rec/subArrayRecord.dbd
diff --git a/src/rec/subRecord.c b/src/std/rec/subRecord.c
similarity index 100%
rename from src/rec/subRecord.c
rename to src/std/rec/subRecord.c
diff --git a/src/rec/subRecord.dbd b/src/std/rec/subRecord.dbd
similarity index 100%
rename from src/rec/subRecord.dbd
rename to src/std/rec/subRecord.dbd
diff --git a/src/rec/waveformRecord.c b/src/std/rec/waveformRecord.c
similarity index 100%
rename from src/rec/waveformRecord.c
rename to src/std/rec/waveformRecord.c
diff --git a/src/rec/waveformRecord.dbd b/src/std/rec/waveformRecord.dbd
similarity index 100%
rename from src/rec/waveformRecord.dbd
rename to src/std/rec/waveformRecord.dbd
diff --git a/src/softIoc/Makefile b/src/std/softIoc/Makefile
similarity index 68%
rename from src/softIoc/Makefile
rename to src/std/softIoc/Makefile
index 80989a450..fff5c466d 100644
--- a/src/softIoc/Makefile
+++ b/src/std/softIoc/Makefile
@@ -1,17 +1,19 @@
##########################################################################
-# Copyright (c) 2009 UChicago Argonne LLC, as Operator of Argonne
+# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
# National Laboratory.
# EPICS BASE is distributed subject to a Software License Agreement found
# in the file LICENSE that is included with this distribution.
##########################################################################
-TOP=../..
+# This is a Makefile fragment, see src/ioc/Makefile.
-include $(TOP)/configure/CONFIG
+SRC_DIRS += $(STDDIR)/softIoc
PROD_IOC = softIoc
+DBD += base.dbd
DBD += softIoc.dbd
+
softIoc_DBD += base.dbd
softIoc_DBD += dlload.dbd
softIoc_DBD += system.dbd
@@ -26,14 +28,3 @@ DB += softIocExit.db
FINAL_LOCATION ?= $(shell $(PERL) $(TOOLS)/fullPathName.pl $(INSTALL_LOCATION))
-include $(TOP)/configure/RULES
-
-softMain$(OBJ) : epicsInstallDir.h
-
-epicsInstallDir.h:
- $(ECHO) "FINAL_LOCATION=$(FINAL_LOCATION)"
- $(PERL) ../makeInstallDir.pl '$(FINAL_LOCATION)' > $@
-
-clean::
- @$(RM) epicsInstallDir.h
-
diff --git a/src/std/softIoc/RULES b/src/std/softIoc/RULES
new file mode 100644
index 000000000..e57ec913d
--- /dev/null
+++ b/src/std/softIoc/RULES
@@ -0,0 +1,20 @@
+##########################################################################
+# Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in the file LICENSE that is included with this distribution.
+##########################################################################
+
+# This is a Makefile fragment, see src/ioc/Makefile.
+
+$(COMMON_DIR)/softIoc.dbd: $(INSTALL_DBD)/stdRecords.dbd
+
+softMain$(OBJ): epicsInstallDir.h
+
+epicsInstallDir.h:
+ $(ECHO) "FINAL_LOCATION=$(FINAL_LOCATION)"
+ $(PERL) $(STDDIR)/softIoc/makeInstallDir.pl '$(FINAL_LOCATION)' > $@
+
+clean::
+ @$(RM) epicsInstallDir.h
+
diff --git a/src/std/softIoc/base.dbd b/src/std/softIoc/base.dbd
new file mode 100644
index 000000000..894a46722
--- /dev/null
+++ b/src/std/softIoc/base.dbd
@@ -0,0 +1,20 @@
+# $Revision-Id$
+#
+# This file defines the standard record types and device support
+# provided by Base and (usually) loaded into all IOCs.
+
+# Menus
+include "menuGlobal.dbd"
+include "menuConvert.dbd"
+
+# Record types
+include "stdRecords.dbd"
+
+# "Soft Channel", "Raw Soft Channel", and "Async Soft Channel" device support
+include "devSoft.dbd"
+
+# Access security subroutines
+registrar(asSub)
+
+include "dbCore.dbd"
+
diff --git a/src/softIoc/makeInstallDir.pl b/src/std/softIoc/makeInstallDir.pl
similarity index 100%
rename from src/softIoc/makeInstallDir.pl
rename to src/std/softIoc/makeInstallDir.pl
diff --git a/src/softIoc/softIocExit.db b/src/std/softIoc/softIocExit.db
similarity index 100%
rename from src/softIoc/softIocExit.db
rename to src/std/softIoc/softIocExit.db
diff --git a/src/softIoc/softMain.cpp b/src/std/softIoc/softMain.cpp
similarity index 100%
rename from src/softIoc/softMain.cpp
rename to src/std/softIoc/softMain.cpp
diff --git a/src/dev/testDev/Makefile b/src/std/test/Makefile
similarity index 100%
rename from src/dev/testDev/Makefile
rename to src/std/test/Makefile
diff --git a/src/dev/testDev/devHistogramTestAsyn.c b/src/std/test/devHistogramTestAsyn.c
similarity index 100%
rename from src/dev/testDev/devHistogramTestAsyn.c
rename to src/std/test/devHistogramTestAsyn.c
diff --git a/src/dev/testDev/devTestAsyn.c b/src/std/test/devTestAsyn.c
similarity index 100%
rename from src/dev/testDev/devTestAsyn.c
rename to src/std/test/devTestAsyn.c
diff --git a/src/dev/testDev/devTestAsyn.dbd b/src/std/test/devTestAsyn.dbd
similarity index 100%
rename from src/dev/testDev/devTestAsyn.dbd
rename to src/std/test/devTestAsyn.dbd
diff --git a/src/dev/testDev/testDevIoc.rc b/src/std/test/testDevIoc.rc
similarity index 100%
rename from src/dev/testDev/testDevIoc.rc
rename to src/std/test/testDevIoc.rc
diff --git a/src/makeBaseApp/Makefile b/src/template/base/Makefile
similarity index 99%
rename from src/makeBaseApp/Makefile
rename to src/template/base/Makefile
index c7f89f8e1..8873d258c 100644
--- a/src/makeBaseApp/Makefile
+++ b/src/template/base/Makefile
@@ -1,4 +1,4 @@
-TOP=../..
+TOP=../../..
include $(TOP)/configure/CONFIG
diff --git a/src/makeBaseApp/makeBaseApp.pl b/src/template/base/makeBaseApp.pl
similarity index 100%
rename from src/makeBaseApp/makeBaseApp.pl
rename to src/template/base/makeBaseApp.pl
diff --git a/src/makeBaseApp/top/Makefile b/src/template/base/top/Makefile
similarity index 100%
rename from src/makeBaseApp/top/Makefile
rename to src/template/base/top/Makefile
diff --git a/src/makeBaseApp/top/caClientApp/Makefile b/src/template/base/top/caClientApp/Makefile
similarity index 100%
rename from src/makeBaseApp/top/caClientApp/Makefile
rename to src/template/base/top/caClientApp/Makefile
diff --git a/src/makeBaseApp/top/caClientApp/caExample.c b/src/template/base/top/caClientApp/caExample.c
similarity index 100%
rename from src/makeBaseApp/top/caClientApp/caExample.c
rename to src/template/base/top/caClientApp/caExample.c
diff --git a/src/makeBaseApp/top/caClientApp/caMonitor.c b/src/template/base/top/caClientApp/caMonitor.c
similarity index 100%
rename from src/makeBaseApp/top/caClientApp/caMonitor.c
rename to src/template/base/top/caClientApp/caMonitor.c
diff --git a/src/makeBaseApp/top/caServerApp/Makefile b/src/template/base/top/caServerApp/Makefile
similarity index 100%
rename from src/makeBaseApp/top/caServerApp/Makefile
rename to src/template/base/top/caServerApp/Makefile
diff --git a/src/makeBaseApp/top/caServerApp/README b/src/template/base/top/caServerApp/README
similarity index 100%
rename from src/makeBaseApp/top/caServerApp/README
rename to src/template/base/top/caServerApp/README
diff --git a/src/makeBaseApp/top/caServerApp/exAsyncPV.cc b/src/template/base/top/caServerApp/exAsyncPV.cc
similarity index 100%
rename from src/makeBaseApp/top/caServerApp/exAsyncPV.cc
rename to src/template/base/top/caServerApp/exAsyncPV.cc
diff --git a/src/makeBaseApp/top/caServerApp/exChannel.cc b/src/template/base/top/caServerApp/exChannel.cc
similarity index 100%
rename from src/makeBaseApp/top/caServerApp/exChannel.cc
rename to src/template/base/top/caServerApp/exChannel.cc
diff --git a/src/makeBaseApp/top/caServerApp/exPV.cc b/src/template/base/top/caServerApp/exPV.cc
similarity index 100%
rename from src/makeBaseApp/top/caServerApp/exPV.cc
rename to src/template/base/top/caServerApp/exPV.cc
diff --git a/src/makeBaseApp/top/caServerApp/exScalarPV.cc b/src/template/base/top/caServerApp/exScalarPV.cc
similarity index 100%
rename from src/makeBaseApp/top/caServerApp/exScalarPV.cc
rename to src/template/base/top/caServerApp/exScalarPV.cc
diff --git a/src/makeBaseApp/top/caServerApp/exServer.cc b/src/template/base/top/caServerApp/exServer.cc
similarity index 100%
rename from src/makeBaseApp/top/caServerApp/exServer.cc
rename to src/template/base/top/caServerApp/exServer.cc
diff --git a/src/makeBaseApp/top/caServerApp/exServer.h b/src/template/base/top/caServerApp/exServer.h
similarity index 100%
rename from src/makeBaseApp/top/caServerApp/exServer.h
rename to src/template/base/top/caServerApp/exServer.h
diff --git a/src/makeBaseApp/top/caServerApp/exVectorPV.cc b/src/template/base/top/caServerApp/exVectorPV.cc
similarity index 100%
rename from src/makeBaseApp/top/caServerApp/exVectorPV.cc
rename to src/template/base/top/caServerApp/exVectorPV.cc
diff --git a/src/makeBaseApp/top/caServerApp/main.cc b/src/template/base/top/caServerApp/main.cc
similarity index 100%
rename from src/makeBaseApp/top/caServerApp/main.cc
rename to src/template/base/top/caServerApp/main.cc
diff --git a/src/makeBaseApp/top/caServerApp/test.adl b/src/template/base/top/caServerApp/test.adl
similarity index 100%
rename from src/makeBaseApp/top/caServerApp/test.adl
rename to src/template/base/top/caServerApp/test.adl
diff --git a/src/makeBaseApp/top/caServerApp/vxEntry.cc b/src/template/base/top/caServerApp/vxEntry.cc
similarity index 100%
rename from src/makeBaseApp/top/caServerApp/vxEntry.cc
rename to src/template/base/top/caServerApp/vxEntry.cc
diff --git a/src/makeBaseApp/top/configure/CONFIG b/src/template/base/top/configure/CONFIG
similarity index 100%
rename from src/makeBaseApp/top/configure/CONFIG
rename to src/template/base/top/configure/CONFIG
diff --git a/src/makeBaseApp/top/configure/CONFIG_SITE b/src/template/base/top/configure/CONFIG_SITE
similarity index 100%
rename from src/makeBaseApp/top/configure/CONFIG_SITE
rename to src/template/base/top/configure/CONFIG_SITE
diff --git a/src/makeBaseApp/top/configure/Makefile b/src/template/base/top/configure/Makefile
similarity index 100%
rename from src/makeBaseApp/top/configure/Makefile
rename to src/template/base/top/configure/Makefile
diff --git a/src/makeBaseApp/top/configure/RELEASE b/src/template/base/top/configure/RELEASE
similarity index 100%
rename from src/makeBaseApp/top/configure/RELEASE
rename to src/template/base/top/configure/RELEASE
diff --git a/src/makeBaseApp/top/configure/RULES b/src/template/base/top/configure/RULES
similarity index 100%
rename from src/makeBaseApp/top/configure/RULES
rename to src/template/base/top/configure/RULES
diff --git a/src/makeBaseApp/top/configure/RULES.ioc b/src/template/base/top/configure/RULES.ioc
similarity index 100%
rename from src/makeBaseApp/top/configure/RULES.ioc
rename to src/template/base/top/configure/RULES.ioc
diff --git a/src/makeBaseApp/top/configure/RULES_DIRS b/src/template/base/top/configure/RULES_DIRS
similarity index 100%
rename from src/makeBaseApp/top/configure/RULES_DIRS
rename to src/template/base/top/configure/RULES_DIRS
diff --git a/src/makeBaseApp/top/configure/RULES_TOP b/src/template/base/top/configure/RULES_TOP
similarity index 100%
rename from src/makeBaseApp/top/configure/RULES_TOP
rename to src/template/base/top/configure/RULES_TOP
diff --git a/src/makeBaseApp/top/exampleApp/Db/Makefile b/src/template/base/top/exampleApp/Db/Makefile
similarity index 100%
rename from src/makeBaseApp/top/exampleApp/Db/Makefile
rename to src/template/base/top/exampleApp/Db/Makefile
diff --git a/src/makeBaseApp/top/exampleApp/Db/dbExample1.db b/src/template/base/top/exampleApp/Db/dbExample1.db
similarity index 100%
rename from src/makeBaseApp/top/exampleApp/Db/dbExample1.db
rename to src/template/base/top/exampleApp/Db/dbExample1.db
diff --git a/src/makeBaseApp/top/exampleApp/Db/dbExample2.db b/src/template/base/top/exampleApp/Db/dbExample2.db
similarity index 100%
rename from src/makeBaseApp/top/exampleApp/Db/dbExample2.db
rename to src/template/base/top/exampleApp/Db/dbExample2.db
diff --git a/src/makeBaseApp/top/exampleApp/Db/dbSubExample.db b/src/template/base/top/exampleApp/Db/dbSubExample.db
similarity index 100%
rename from src/makeBaseApp/top/exampleApp/Db/dbSubExample.db
rename to src/template/base/top/exampleApp/Db/dbSubExample.db
diff --git a/src/makeBaseApp/top/exampleApp/Db/user.substitutions b/src/template/base/top/exampleApp/Db/user.substitutions
similarity index 100%
rename from src/makeBaseApp/top/exampleApp/Db/user.substitutions
rename to src/template/base/top/exampleApp/Db/user.substitutions
diff --git a/src/makeBaseApp/top/exampleApp/Db/userHost.substitutions b/src/template/base/top/exampleApp/Db/userHost.substitutions
similarity index 100%
rename from src/makeBaseApp/top/exampleApp/Db/userHost.substitutions
rename to src/template/base/top/exampleApp/Db/userHost.substitutions
diff --git a/src/makeBaseApp/top/exampleApp/Makefile b/src/template/base/top/exampleApp/Makefile
similarity index 100%
rename from src/makeBaseApp/top/exampleApp/Makefile
rename to src/template/base/top/exampleApp/Makefile
diff --git a/src/makeBaseApp/top/exampleApp/src/Makefile b/src/template/base/top/exampleApp/src/Makefile
similarity index 100%
rename from src/makeBaseApp/top/exampleApp/src/Makefile
rename to src/template/base/top/exampleApp/src/Makefile
diff --git a/src/makeBaseApp/top/exampleApp/src/_APPNAME_Hello.c b/src/template/base/top/exampleApp/src/_APPNAME_Hello.c
similarity index 100%
rename from src/makeBaseApp/top/exampleApp/src/_APPNAME_Hello.c
rename to src/template/base/top/exampleApp/src/_APPNAME_Hello.c
diff --git a/src/makeBaseApp/top/exampleApp/src/_APPNAME_Hello.dbd b/src/template/base/top/exampleApp/src/_APPNAME_Hello.dbd
similarity index 100%
rename from src/makeBaseApp/top/exampleApp/src/_APPNAME_Hello.dbd
rename to src/template/base/top/exampleApp/src/_APPNAME_Hello.dbd
diff --git a/src/makeBaseApp/top/exampleApp/src/_APPNAME_Main.cpp b/src/template/base/top/exampleApp/src/_APPNAME_Main.cpp
similarity index 100%
rename from src/makeBaseApp/top/exampleApp/src/_APPNAME_Main.cpp
rename to src/template/base/top/exampleApp/src/_APPNAME_Main.cpp
diff --git a/src/makeBaseApp/top/exampleApp/src/dbSubExample.c b/src/template/base/top/exampleApp/src/dbSubExample.c
similarity index 100%
rename from src/makeBaseApp/top/exampleApp/src/dbSubExample.c
rename to src/template/base/top/exampleApp/src/dbSubExample.c
diff --git a/src/makeBaseApp/top/exampleApp/src/dbSubExample.dbd b/src/template/base/top/exampleApp/src/dbSubExample.dbd
similarity index 100%
rename from src/makeBaseApp/top/exampleApp/src/dbSubExample.dbd
rename to src/template/base/top/exampleApp/src/dbSubExample.dbd
diff --git a/src/makeBaseApp/top/exampleApp/src/devXxxSoft.c b/src/template/base/top/exampleApp/src/devXxxSoft.c
similarity index 100%
rename from src/makeBaseApp/top/exampleApp/src/devXxxSoft.c
rename to src/template/base/top/exampleApp/src/devXxxSoft.c
diff --git a/src/makeBaseApp/top/exampleApp/src/initTrace.c b/src/template/base/top/exampleApp/src/initTrace.c
similarity index 100%
rename from src/makeBaseApp/top/exampleApp/src/initTrace.c
rename to src/template/base/top/exampleApp/src/initTrace.c
diff --git a/src/makeBaseApp/top/exampleApp/src/initTrace.dbd b/src/template/base/top/exampleApp/src/initTrace.dbd
similarity index 100%
rename from src/makeBaseApp/top/exampleApp/src/initTrace.dbd
rename to src/template/base/top/exampleApp/src/initTrace.dbd
diff --git a/src/makeBaseApp/top/exampleApp/src/sncExample.dbd b/src/template/base/top/exampleApp/src/sncExample.dbd
similarity index 100%
rename from src/makeBaseApp/top/exampleApp/src/sncExample.dbd
rename to src/template/base/top/exampleApp/src/sncExample.dbd
diff --git a/src/makeBaseApp/top/exampleApp/src/sncExample.stt b/src/template/base/top/exampleApp/src/sncExample.stt
similarity index 100%
rename from src/makeBaseApp/top/exampleApp/src/sncExample.stt
rename to src/template/base/top/exampleApp/src/sncExample.stt
diff --git a/src/makeBaseApp/top/exampleApp/src/sncProgram.st b/src/template/base/top/exampleApp/src/sncProgram.st
similarity index 100%
rename from src/makeBaseApp/top/exampleApp/src/sncProgram.st
rename to src/template/base/top/exampleApp/src/sncProgram.st
diff --git a/src/makeBaseApp/top/exampleApp/src/xxxRecord.c b/src/template/base/top/exampleApp/src/xxxRecord.c
similarity index 100%
rename from src/makeBaseApp/top/exampleApp/src/xxxRecord.c
rename to src/template/base/top/exampleApp/src/xxxRecord.c
diff --git a/src/makeBaseApp/top/exampleApp/src/xxxRecord.dbd b/src/template/base/top/exampleApp/src/xxxRecord.dbd
similarity index 100%
rename from src/makeBaseApp/top/exampleApp/src/xxxRecord.dbd
rename to src/template/base/top/exampleApp/src/xxxRecord.dbd
diff --git a/src/makeBaseApp/top/exampleApp/src/xxxSupport.dbd b/src/template/base/top/exampleApp/src/xxxSupport.dbd
similarity index 100%
rename from src/makeBaseApp/top/exampleApp/src/xxxSupport.dbd
rename to src/template/base/top/exampleApp/src/xxxSupport.dbd
diff --git a/src/makeBaseApp/top/exampleBoot/Makefile b/src/template/base/top/exampleBoot/Makefile
similarity index 100%
rename from src/makeBaseApp/top/exampleBoot/Makefile
rename to src/template/base/top/exampleBoot/Makefile
diff --git a/src/makeBaseApp/top/exampleBoot/ioc/Makefile@Common b/src/template/base/top/exampleBoot/ioc/Makefile@Common
similarity index 100%
rename from src/makeBaseApp/top/exampleBoot/ioc/Makefile@Common
rename to src/template/base/top/exampleBoot/ioc/Makefile@Common
diff --git a/src/makeBaseApp/top/exampleBoot/ioc/Makefile@vxWorks b/src/template/base/top/exampleBoot/ioc/Makefile@vxWorks
similarity index 100%
rename from src/makeBaseApp/top/exampleBoot/ioc/Makefile@vxWorks
rename to src/template/base/top/exampleBoot/ioc/Makefile@vxWorks
diff --git a/src/makeBaseApp/top/exampleBoot/ioc/Makefile@win32 b/src/template/base/top/exampleBoot/ioc/Makefile@win32
similarity index 100%
rename from src/makeBaseApp/top/exampleBoot/ioc/Makefile@win32
rename to src/template/base/top/exampleBoot/ioc/Makefile@win32
diff --git a/src/makeBaseApp/top/exampleBoot/ioc/README@Common b/src/template/base/top/exampleBoot/ioc/README@Common
similarity index 100%
rename from src/makeBaseApp/top/exampleBoot/ioc/README@Common
rename to src/template/base/top/exampleBoot/ioc/README@Common
diff --git a/src/makeBaseApp/top/exampleBoot/ioc/README@RTEMS b/src/template/base/top/exampleBoot/ioc/README@RTEMS
similarity index 100%
rename from src/makeBaseApp/top/exampleBoot/ioc/README@RTEMS
rename to src/template/base/top/exampleBoot/ioc/README@RTEMS
diff --git a/src/makeBaseApp/top/exampleBoot/ioc/README@vxWorks b/src/template/base/top/exampleBoot/ioc/README@vxWorks
similarity index 100%
rename from src/makeBaseApp/top/exampleBoot/ioc/README@vxWorks
rename to src/template/base/top/exampleBoot/ioc/README@vxWorks
diff --git a/src/makeBaseApp/top/exampleBoot/ioc/st.cmd@Common b/src/template/base/top/exampleBoot/ioc/st.cmd@Common
similarity index 100%
rename from src/makeBaseApp/top/exampleBoot/ioc/st.cmd@Common
rename to src/template/base/top/exampleBoot/ioc/st.cmd@Common
diff --git a/src/makeBaseApp/top/exampleBoot/ioc/st.cmd@RTEMS b/src/template/base/top/exampleBoot/ioc/st.cmd@RTEMS
similarity index 100%
rename from src/makeBaseApp/top/exampleBoot/ioc/st.cmd@RTEMS
rename to src/template/base/top/exampleBoot/ioc/st.cmd@RTEMS
diff --git a/src/makeBaseApp/top/exampleBoot/ioc/st.cmd@vxWorks b/src/template/base/top/exampleBoot/ioc/st.cmd@vxWorks
similarity index 100%
rename from src/makeBaseApp/top/exampleBoot/ioc/st.cmd@vxWorks
rename to src/template/base/top/exampleBoot/ioc/st.cmd@vxWorks
diff --git a/src/makeBaseApp/top/exampleBoot/nfsCommands@RTEMS b/src/template/base/top/exampleBoot/nfsCommands@RTEMS
similarity index 100%
rename from src/makeBaseApp/top/exampleBoot/nfsCommands@RTEMS
rename to src/template/base/top/exampleBoot/nfsCommands@RTEMS
diff --git a/src/makeBaseApp/top/exampleBoot/nfsCommands@vxWorks b/src/template/base/top/exampleBoot/nfsCommands@vxWorks
similarity index 100%
rename from src/makeBaseApp/top/exampleBoot/nfsCommands@vxWorks
rename to src/template/base/top/exampleBoot/nfsCommands@vxWorks
diff --git a/src/makeBaseApp/top/iocApp/Db/Makefile b/src/template/base/top/iocApp/Db/Makefile
similarity index 100%
rename from src/makeBaseApp/top/iocApp/Db/Makefile
rename to src/template/base/top/iocApp/Db/Makefile
diff --git a/src/makeBaseApp/top/iocApp/Makefile b/src/template/base/top/iocApp/Makefile
similarity index 100%
rename from src/makeBaseApp/top/iocApp/Makefile
rename to src/template/base/top/iocApp/Makefile
diff --git a/src/makeBaseApp/top/iocApp/src/Makefile b/src/template/base/top/iocApp/src/Makefile
similarity index 100%
rename from src/makeBaseApp/top/iocApp/src/Makefile
rename to src/template/base/top/iocApp/src/Makefile
diff --git a/src/makeBaseApp/top/iocApp/src/_APPNAME_Main.cpp b/src/template/base/top/iocApp/src/_APPNAME_Main.cpp
similarity index 100%
rename from src/makeBaseApp/top/iocApp/src/_APPNAME_Main.cpp
rename to src/template/base/top/iocApp/src/_APPNAME_Main.cpp
diff --git a/src/makeBaseApp/top/iocBoot/Makefile b/src/template/base/top/iocBoot/Makefile
similarity index 100%
rename from src/makeBaseApp/top/iocBoot/Makefile
rename to src/template/base/top/iocBoot/Makefile
diff --git a/src/makeBaseApp/top/iocBoot/ioc/Makefile@Common b/src/template/base/top/iocBoot/ioc/Makefile@Common
similarity index 100%
rename from src/makeBaseApp/top/iocBoot/ioc/Makefile@Common
rename to src/template/base/top/iocBoot/ioc/Makefile@Common
diff --git a/src/makeBaseApp/top/iocBoot/ioc/Makefile@vxWorks b/src/template/base/top/iocBoot/ioc/Makefile@vxWorks
similarity index 100%
rename from src/makeBaseApp/top/iocBoot/ioc/Makefile@vxWorks
rename to src/template/base/top/iocBoot/ioc/Makefile@vxWorks
diff --git a/src/makeBaseApp/top/iocBoot/ioc/Makefile@win32 b/src/template/base/top/iocBoot/ioc/Makefile@win32
similarity index 100%
rename from src/makeBaseApp/top/iocBoot/ioc/Makefile@win32
rename to src/template/base/top/iocBoot/ioc/Makefile@win32
diff --git a/src/makeBaseApp/top/iocBoot/ioc/st.cmd@Common b/src/template/base/top/iocBoot/ioc/st.cmd@Common
similarity index 100%
rename from src/makeBaseApp/top/iocBoot/ioc/st.cmd@Common
rename to src/template/base/top/iocBoot/ioc/st.cmd@Common
diff --git a/src/makeBaseApp/top/iocBoot/ioc/st.cmd@Cross b/src/template/base/top/iocBoot/ioc/st.cmd@Cross
similarity index 100%
rename from src/makeBaseApp/top/iocBoot/ioc/st.cmd@Cross
rename to src/template/base/top/iocBoot/ioc/st.cmd@Cross
diff --git a/src/makeBaseApp/top/iocBoot/ioc/st.cmd@RTEMS b/src/template/base/top/iocBoot/ioc/st.cmd@RTEMS
similarity index 100%
rename from src/makeBaseApp/top/iocBoot/ioc/st.cmd@RTEMS
rename to src/template/base/top/iocBoot/ioc/st.cmd@RTEMS
diff --git a/src/makeBaseApp/top/iocBoot/ioc/st.cmd@vxWorks b/src/template/base/top/iocBoot/ioc/st.cmd@vxWorks
similarity index 100%
rename from src/makeBaseApp/top/iocBoot/ioc/st.cmd@vxWorks
rename to src/template/base/top/iocBoot/ioc/st.cmd@vxWorks
diff --git a/src/makeBaseApp/top/iocBoot/nfsCommands@RTEMS b/src/template/base/top/iocBoot/nfsCommands@RTEMS
similarity index 100%
rename from src/makeBaseApp/top/iocBoot/nfsCommands@RTEMS
rename to src/template/base/top/iocBoot/nfsCommands@RTEMS
diff --git a/src/makeBaseApp/top/iocBoot/nfsCommands@vxWorks b/src/template/base/top/iocBoot/nfsCommands@vxWorks
similarity index 100%
rename from src/makeBaseApp/top/iocBoot/nfsCommands@vxWorks
rename to src/template/base/top/iocBoot/nfsCommands@vxWorks
diff --git a/src/makeBaseApp/top/supportApp/Db/Makefile b/src/template/base/top/supportApp/Db/Makefile
similarity index 100%
rename from src/makeBaseApp/top/supportApp/Db/Makefile
rename to src/template/base/top/supportApp/Db/Makefile
diff --git a/src/makeBaseApp/top/supportApp/Makefile b/src/template/base/top/supportApp/Makefile
similarity index 100%
rename from src/makeBaseApp/top/supportApp/Makefile
rename to src/template/base/top/supportApp/Makefile
diff --git a/src/makeBaseApp/top/supportApp/src/Makefile b/src/template/base/top/supportApp/src/Makefile
similarity index 100%
rename from src/makeBaseApp/top/supportApp/src/Makefile
rename to src/template/base/top/supportApp/src/Makefile
diff --git a/src/makeBaseApp/top/supportApp/src/_APPNAME_.dbd b/src/template/base/top/supportApp/src/_APPNAME_.dbd
similarity index 100%
rename from src/makeBaseApp/top/supportApp/src/_APPNAME_.dbd
rename to src/template/base/top/supportApp/src/_APPNAME_.dbd
diff --git a/src/makeBaseExt/Makefile b/src/template/ext/Makefile
similarity index 98%
rename from src/makeBaseExt/Makefile
rename to src/template/ext/Makefile
index b4e9635d1..06c529aa1 100644
--- a/src/makeBaseExt/Makefile
+++ b/src/template/ext/Makefile
@@ -1,4 +1,4 @@
-TOP=../..
+TOP=../../..
include $(TOP)/configure/CONFIG
diff --git a/src/makeBaseExt/makeBaseExt.pl b/src/template/ext/makeBaseExt.pl
similarity index 100%
rename from src/makeBaseExt/makeBaseExt.pl
rename to src/template/ext/makeBaseExt.pl
diff --git a/src/makeBaseExt/top/Makefile b/src/template/ext/top/Makefile
similarity index 100%
rename from src/makeBaseExt/top/Makefile
rename to src/template/ext/top/Makefile
diff --git a/src/makeBaseExt/top/README b/src/template/ext/top/README
similarity index 100%
rename from src/makeBaseExt/top/README
rename to src/template/ext/top/README
diff --git a/src/makeBaseExt/top/configure/CONFIG b/src/template/ext/top/configure/CONFIG
similarity index 100%
rename from src/makeBaseExt/top/configure/CONFIG
rename to src/template/ext/top/configure/CONFIG
diff --git a/src/makeBaseExt/top/configure/CONFIG_SITE b/src/template/ext/top/configure/CONFIG_SITE
similarity index 100%
rename from src/makeBaseExt/top/configure/CONFIG_SITE
rename to src/template/ext/top/configure/CONFIG_SITE
diff --git a/src/makeBaseExt/top/configure/Makefile b/src/template/ext/top/configure/Makefile
similarity index 100%
rename from src/makeBaseExt/top/configure/Makefile
rename to src/template/ext/top/configure/Makefile
diff --git a/src/makeBaseExt/top/configure/RELEASE b/src/template/ext/top/configure/RELEASE
similarity index 100%
rename from src/makeBaseExt/top/configure/RELEASE
rename to src/template/ext/top/configure/RELEASE
diff --git a/src/makeBaseExt/top/configure/RULES b/src/template/ext/top/configure/RULES
similarity index 100%
rename from src/makeBaseExt/top/configure/RULES
rename to src/template/ext/top/configure/RULES
diff --git a/src/makeBaseExt/top/configure/RULES_DIRS b/src/template/ext/top/configure/RULES_DIRS
similarity index 100%
rename from src/makeBaseExt/top/configure/RULES_DIRS
rename to src/template/ext/top/configure/RULES_DIRS
diff --git a/src/makeBaseExt/top/configure/RULES_IDL b/src/template/ext/top/configure/RULES_IDL
similarity index 100%
rename from src/makeBaseExt/top/configure/RULES_IDL
rename to src/template/ext/top/configure/RULES_IDL
diff --git a/src/makeBaseExt/top/configure/RULES_PYTHON b/src/template/ext/top/configure/RULES_PYTHON
similarity index 100%
rename from src/makeBaseExt/top/configure/RULES_PYTHON
rename to src/template/ext/top/configure/RULES_PYTHON
diff --git a/src/makeBaseExt/top/configure/RULES_TOP b/src/template/ext/top/configure/RULES_TOP
similarity index 100%
rename from src/makeBaseExt/top/configure/RULES_TOP
rename to src/template/ext/top/configure/RULES_TOP
diff --git a/src/makeBaseExt/top/configure/os/CONFIG.linux-x86.linux-386 b/src/template/ext/top/configure/os/CONFIG.linux-x86.linux-386
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG.linux-x86.linux-386
rename to src/template/ext/top/configure/os/CONFIG.linux-x86.linux-386
diff --git a/src/makeBaseExt/top/configure/os/CONFIG.win32-x86-borland.win32-x86-borland b/src/template/ext/top/configure/os/CONFIG.win32-x86-borland.win32-x86-borland
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG.win32-x86-borland.win32-x86-borland
rename to src/template/ext/top/configure/os/CONFIG.win32-x86-borland.win32-x86-borland
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.Common.Common b/src/template/ext/top/configure/os/CONFIG_SITE.Common.Common
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.Common.Common
rename to src/template/ext/top/configure/os/CONFIG_SITE.Common.Common
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.aix-ppc-gnu.aix-ppc-gnu b/src/template/ext/top/configure/os/CONFIG_SITE.aix-ppc-gnu.aix-ppc-gnu
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.aix-ppc-gnu.aix-ppc-gnu
rename to src/template/ext/top/configure/os/CONFIG_SITE.aix-ppc-gnu.aix-ppc-gnu
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.aix-ppc.aix-ppc b/src/template/ext/top/configure/os/CONFIG_SITE.aix-ppc.aix-ppc
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.aix-ppc.aix-ppc
rename to src/template/ext/top/configure/os/CONFIG_SITE.aix-ppc.aix-ppc
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.cygwin-x86.cygwin-x86 b/src/template/ext/top/configure/os/CONFIG_SITE.cygwin-x86.cygwin-x86
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.cygwin-x86.cygwin-x86
rename to src/template/ext/top/configure/os/CONFIG_SITE.cygwin-x86.cygwin-x86
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.darwin-ppc.darwin-ppc b/src/template/ext/top/configure/os/CONFIG_SITE.darwin-ppc.darwin-ppc
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.darwin-ppc.darwin-ppc
rename to src/template/ext/top/configure/os/CONFIG_SITE.darwin-ppc.darwin-ppc
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.darwin-ppcx86.darwin-ppcx86 b/src/template/ext/top/configure/os/CONFIG_SITE.darwin-ppcx86.darwin-ppcx86
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.darwin-ppcx86.darwin-ppcx86
rename to src/template/ext/top/configure/os/CONFIG_SITE.darwin-ppcx86.darwin-ppcx86
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.darwin-x86.darwin-x86 b/src/template/ext/top/configure/os/CONFIG_SITE.darwin-x86.darwin-x86
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.darwin-x86.darwin-x86
rename to src/template/ext/top/configure/os/CONFIG_SITE.darwin-x86.darwin-x86
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.freebsd-x86_64.freebsd-x86_64 b/src/template/ext/top/configure/os/CONFIG_SITE.freebsd-x86_64.freebsd-x86_64
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.freebsd-x86_64.freebsd-x86_64
rename to src/template/ext/top/configure/os/CONFIG_SITE.freebsd-x86_64.freebsd-x86_64
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.hpux-parisc-gnu.hpux-parisc-gnu b/src/template/ext/top/configure/os/CONFIG_SITE.hpux-parisc-gnu.hpux-parisc-gnu
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.hpux-parisc-gnu.hpux-parisc-gnu
rename to src/template/ext/top/configure/os/CONFIG_SITE.hpux-parisc-gnu.hpux-parisc-gnu
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.hpux-parisc.hpux-parisc b/src/template/ext/top/configure/os/CONFIG_SITE.hpux-parisc.hpux-parisc
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.hpux-parisc.hpux-parisc
rename to src/template/ext/top/configure/os/CONFIG_SITE.hpux-parisc.hpux-parisc
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.interix-x86.interix-x86 b/src/template/ext/top/configure/os/CONFIG_SITE.interix-x86.interix-x86
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.interix-x86.interix-x86
rename to src/template/ext/top/configure/os/CONFIG_SITE.interix-x86.interix-x86
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-ppc.linux-ppc b/src/template/ext/top/configure/os/CONFIG_SITE.linux-ppc.linux-ppc
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-ppc.linux-ppc
rename to src/template/ext/top/configure/os/CONFIG_SITE.linux-ppc.linux-ppc
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86-borland.linux-x86-borland b/src/template/ext/top/configure/os/CONFIG_SITE.linux-x86-borland.linux-x86-borland
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86-borland.linux-x86-borland
rename to src/template/ext/top/configure/os/CONFIG_SITE.linux-x86-borland.linux-x86-borland
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86-debug.linux-x86-debug b/src/template/ext/top/configure/os/CONFIG_SITE.linux-x86-debug.linux-x86-debug
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86-debug.linux-x86-debug
rename to src/template/ext/top/configure/os/CONFIG_SITE.linux-x86-debug.linux-x86-debug
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86.linux-athlon b/src/template/ext/top/configure/os/CONFIG_SITE.linux-x86.linux-athlon
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86.linux-athlon
rename to src/template/ext/top/configure/os/CONFIG_SITE.linux-x86.linux-athlon
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86.linux-x86 b/src/template/ext/top/configure/os/CONFIG_SITE.linux-x86.linux-x86
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86.linux-x86
rename to src/template/ext/top/configure/os/CONFIG_SITE.linux-x86.linux-x86
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86_64-debug.linux-x86_64-debug b/src/template/ext/top/configure/os/CONFIG_SITE.linux-x86_64-debug.linux-x86_64-debug
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86_64-debug.linux-x86_64-debug
rename to src/template/ext/top/configure/os/CONFIG_SITE.linux-x86_64-debug.linux-x86_64-debug
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86_64.linux-x86_64 b/src/template/ext/top/configure/os/CONFIG_SITE.linux-x86_64.linux-x86_64
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86_64.linux-x86_64
rename to src/template/ext/top/configure/os/CONFIG_SITE.linux-x86_64.linux-x86_64
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc-debug.solaris-sparc-debug b/src/template/ext/top/configure/os/CONFIG_SITE.solaris-sparc-debug.solaris-sparc-debug
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc-debug.solaris-sparc-debug
rename to src/template/ext/top/configure/os/CONFIG_SITE.solaris-sparc-debug.solaris-sparc-debug
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc-gnu.solaris-sparc-gnu b/src/template/ext/top/configure/os/CONFIG_SITE.solaris-sparc-gnu.solaris-sparc-gnu
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc-gnu.solaris-sparc-gnu
rename to src/template/ext/top/configure/os/CONFIG_SITE.solaris-sparc-gnu.solaris-sparc-gnu
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc.solaris-sparc b/src/template/ext/top/configure/os/CONFIG_SITE.solaris-sparc.solaris-sparc
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc.solaris-sparc
rename to src/template/ext/top/configure/os/CONFIG_SITE.solaris-sparc.solaris-sparc
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc64-gnu.solaris-sparc64-gnu b/src/template/ext/top/configure/os/CONFIG_SITE.solaris-sparc64-gnu.solaris-sparc64-gnu
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc64-gnu.solaris-sparc64-gnu
rename to src/template/ext/top/configure/os/CONFIG_SITE.solaris-sparc64-gnu.solaris-sparc64-gnu
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc64.solaris-sparc64 b/src/template/ext/top/configure/os/CONFIG_SITE.solaris-sparc64.solaris-sparc64
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc64.solaris-sparc64
rename to src/template/ext/top/configure/os/CONFIG_SITE.solaris-sparc64.solaris-sparc64
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-x86-debug.solaris-x86-debug b/src/template/ext/top/configure/os/CONFIG_SITE.solaris-x86-debug.solaris-x86-debug
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-x86-debug.solaris-x86-debug
rename to src/template/ext/top/configure/os/CONFIG_SITE.solaris-x86-debug.solaris-x86-debug
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-x86-gnu.solaris-x86-gnu b/src/template/ext/top/configure/os/CONFIG_SITE.solaris-x86-gnu.solaris-x86-gnu
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-x86-gnu.solaris-x86-gnu
rename to src/template/ext/top/configure/os/CONFIG_SITE.solaris-x86-gnu.solaris-x86-gnu
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-x86.solaris-x86 b/src/template/ext/top/configure/os/CONFIG_SITE.solaris-x86.solaris-x86
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-x86.solaris-x86
rename to src/template/ext/top/configure/os/CONFIG_SITE.solaris-x86.solaris-x86
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-x86_64.solaris-x86_64 b/src/template/ext/top/configure/os/CONFIG_SITE.solaris-x86_64.solaris-x86_64
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-x86_64.solaris-x86_64
rename to src/template/ext/top/configure/os/CONFIG_SITE.solaris-x86_64.solaris-x86_64
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86-borland.win32-x86-borland b/src/template/ext/top/configure/os/CONFIG_SITE.win32-x86-borland.win32-x86-borland
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86-borland.win32-x86-borland
rename to src/template/ext/top/configure/os/CONFIG_SITE.win32-x86-borland.win32-x86-borland
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86-cygwin.win32-x86-cygwin b/src/template/ext/top/configure/os/CONFIG_SITE.win32-x86-cygwin.win32-x86-cygwin
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86-cygwin.win32-x86-cygwin
rename to src/template/ext/top/configure/os/CONFIG_SITE.win32-x86-cygwin.win32-x86-cygwin
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86-debug.win32-x86-debug b/src/template/ext/top/configure/os/CONFIG_SITE.win32-x86-debug.win32-x86-debug
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86-debug.win32-x86-debug
rename to src/template/ext/top/configure/os/CONFIG_SITE.win32-x86-debug.win32-x86-debug
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86-mingw.win32-x86-mingw b/src/template/ext/top/configure/os/CONFIG_SITE.win32-x86-mingw.win32-x86-mingw
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86-mingw.win32-x86-mingw
rename to src/template/ext/top/configure/os/CONFIG_SITE.win32-x86-mingw.win32-x86-mingw
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86.win32-x86 b/src/template/ext/top/configure/os/CONFIG_SITE.win32-x86.win32-x86
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86.win32-x86
rename to src/template/ext/top/configure/os/CONFIG_SITE.win32-x86.win32-x86
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.windows-x64.windows-x64 b/src/template/ext/top/configure/os/CONFIG_SITE.windows-x64.windows-x64
similarity index 100%
rename from src/makeBaseExt/top/configure/os/CONFIG_SITE.windows-x64.windows-x64
rename to src/template/ext/top/configure/os/CONFIG_SITE.windows-x64.windows-x64
diff --git a/src/makeBaseExt/top/exampleExt/Makefile b/src/template/ext/top/exampleExt/Makefile
similarity index 100%
rename from src/makeBaseExt/top/exampleExt/Makefile
rename to src/template/ext/top/exampleExt/Makefile
diff --git a/src/makeBaseExt/top/exampleExt/RELEASE_NOTES.HTM b/src/template/ext/top/exampleExt/RELEASE_NOTES.HTM
similarity index 100%
rename from src/makeBaseExt/top/exampleExt/RELEASE_NOTES.HTM
rename to src/template/ext/top/exampleExt/RELEASE_NOTES.HTM
diff --git a/src/makeBaseExt/top/exampleExt/caExample.c b/src/template/ext/top/exampleExt/caExample.c
similarity index 100%
rename from src/makeBaseExt/top/exampleExt/caExample.c
rename to src/template/ext/top/exampleExt/caExample.c
diff --git a/src/makeBaseExt/top/simpleExt/Makefile b/src/template/ext/top/simpleExt/Makefile
similarity index 100%
rename from src/makeBaseExt/top/simpleExt/Makefile
rename to src/template/ext/top/simpleExt/Makefile
diff --git a/src/makeBaseExt/top/src/Makefile b/src/template/ext/top/src/Makefile
similarity index 100%
rename from src/makeBaseExt/top/src/Makefile
rename to src/template/ext/top/src/Makefile
diff --git a/src/toolsComm/flex/Makefile b/src/toolsComm/flex/Makefile
deleted file mode 100644
index 6086e0ff9..000000000
--- a/src/toolsComm/flex/Makefile
+++ /dev/null
@@ -1,44 +0,0 @@
-#*************************************************************************
-# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
-# National Laboratory.
-# Copyright (c) 2002 The Regents of the University of California, as
-# Operator of Los Alamos National Laboratory.
-# EPICS BASE is distributed subject to a Software License Agreement found
-# in file LICENSE that is included with this distribution.
-#*************************************************************************
-TOP=../../..
-
-include $(TOP)/configure/CONFIG
-
-HOST_WARN=NO
-
-YACC = $(EYACC)
-YACCOPT = -l -d
-
-SKELETON_FILE = include/flex.skel.static
-
-USR_CPPFLAGS = -DDEFAULT_SKELETON_FILE=$(SKELETON_FILE)
-
-INC += flex.skel.static
-
-# main.c is included in parse.c
-#
-SRCS += ccl.c
-SRCS += dfa.c
-SRCS += ecs.c
-SRCS += gen.c
-SRCS += misc.c
-SRCS += nfa.c
-SRCS += sym.c
-SRCS += tblcmp.c
-SRCS += parse.c
-
-PROD_HOST = e_flex
-PROD_LIBS = Com
-
-include $(TOP)/configure/RULES
-
-clean::
- $(RM) parse.c parse.h
-
-# EOF Makefile.Host for base/src/toolsComm/flex
diff --git a/src/util/Makefile b/src/util/Makefile
deleted file mode 100644
index 5ca7c798a..000000000
--- a/src/util/Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-#*************************************************************************
-# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
-# National Laboratory.
-# Copyright (c) 2002 The Regents of the University of California, as
-# Operator of Los Alamos National Laboratory.
-# EPICS BASE is distributed subject to a Software License Agreement found
-# in file LICENSE that is included with this distribution.
-#*************************************************************************
-TOP=../..
-
-include $(TOP)/configure/CONFIG
-
-PROD_LIBS = ca Com
-
-#
-# Added winmm user32 for the non-dll build
-#
-PROD_HOST_DEFAULT = ca_test iocLogServer
-PROD_HOST_WIN32 = ca_test iocLogServer
-PROD_SYS_LIBS_WIN32 = ws2_32 advapi32 user32
-
-iocLogServer_SYS_LIBS_solaris = socket
-
-ca_test_SRCS = ca_test_main.c ca_test.c
-iocLogServer_SRCS = iocLogServer.c
-
-OBJS_vxWorks = ca_test
-
-SCRIPTS_solaris := S99logServer S99caRepeater
-SCRIPTS_Linux := S99logServer S99caRepeater
-
-include $(TOP)/configure/RULES
-
-S99%: ../rc2.%
- sed -e s%:INSTALL_BIN:%`cd $(INSTALL_BIN); pwd`% $< >$@