From 9242561f9f2077eede8b6b80f36d7827a127bf24 Mon Sep 17 00:00:00 2001
From: "Janet B. Anderson" Converting an EPICS R3.13 application to R3.14.1
+Converting an EPICS R3.13 application to R3.14.2
This document describes how to convert a R3.13 vxWorks application so that it
-builds with release R3.14.1. It describes procedures such that:
We will remove junkApp later.
mkdir <top> cd <top> <full path to 3.14 base>/bin/<host_arch>/makeBaseApp.pl -t example junk -/bin/rm -fr junkApp+
SNCSEQ =<full path to seq module top>
-The R3.14 seq module must exist and be built with EPICS base R3.14.1 +The R3.14 seq module must exist and be built with EPICS base R3.14.2This is the hardest step. The definitions in Makefile.Host and Makefile.Vx must be manually converted to the new configure definitions.
-First replace Makefile with a template Makefile from base.
+First replace Makefile with the Makefile from junkApp/src.
rm Makefile -cp <base>/templates/makeBaseApp/top/exampleApp/src/Makefile .+cp ../../junkApp/src/Makefile . + +
We can remove the junkApp now.
+/bin/rm -fr ../../junkApp
This new Make file has comments explaining how to build the various host and ioc products. Lets consider some examples
@@ -93,12 +97,15 @@ and ioc products. Lets consider some examplesMakefile.Host contains definitions like:
PROD += caExample
caExample_SRCS += caExample.c
+PROD_LIBS += ca Db Com
+ca_DIR = $(EPICS_BASE_LIB)
+Db_DIR = $(EPICS_BASE_LIB)
+Com_DIR = $(EPICS_BASE_LIB)
In Makefile these are:
PROD_HOST += caExample
caExample_SRCS += caExample.c
-caExample_LIBS += ca
-caExample_LIBS += Com
+caExample_LIBS += $(EPICS_BASE_HOST_LIBS)
In Makefile these become:
-PROD_IOC_vxWorks = example
-example_SRCS += xxxRecord.c
-example_SRCS += devXxxSoft.c
-example_SRSC += sncExample.stt
+
+LIBRARY_vxWorks += exampleIoc
+exampleIoc_SRCS += xxxRecord.c
+exampleIoc_SRCS += devXxxSoft.c
+exampleIoc_LIBS += $(EPICS_BASE_IOC_LIBS)
+
+PROD_IOC_vxWorks = example
+example_SRCS += sncExample.stt
+example_LIBS += exampleIoc
+example_LIBS += seq pv
+example_LIBS += $(EPICS_BASE_IOC_LIBS)
+
+# example_registerRecordDeviceDriver.cpp will be created from example.dbd
example_SRCS += example_registerRecordDeviceDriver.cpp
+
+#The following adds support from base/src/vxWorks
example_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary
-#The following are for sequence programs
-example_LIBS += seq
-example_LIBS += pv
-seq_DIR = $(SNCSEQ_LIB)
-pv_DIR = $(SNCSEQ_LIB)
-
-example_LIBS += recIoc
-example_LIBS += softDevIoc
-example_LIBS += testDevIoc
-example_LIBS += iocsh
-example_LIBS += miscIoc
-example_LIBS += rsrvIoc
-example_LIBS += dbtoolsIoc
-example_LIBS += asIoc
-example_LIBS += dbIoc
-example_LIBS += registryIoc
-example_LIBS += dbStaticIoc
-example_LIBS += ca
-example_LIBS += Com