From 30d9bf6dfefa2b5f7ab659ac4137f07843cc8491 Mon Sep 17 00:00:00 2001 From: "Janet B. Anderson" Date: Thu, 21 May 1998 18:38:34 +0000 Subject: [PATCH] Added rule change updates. --- src/makeBaseApp/iocAppBuildSRcontrol.html | 98 +++++++++++++++++------ 1 file changed, 72 insertions(+), 26 deletions(-) diff --git a/src/makeBaseApp/iocAppBuildSRcontrol.html b/src/makeBaseApp/iocAppBuildSRcontrol.html index 32e9e2d13..546dc9766 100644 --- a/src/makeBaseApp/iocAppBuildSRcontrol.html +++ b/src/makeBaseApp/iocAppBuildSRcontrol.html @@ -1,7 +1,7 @@ - + EPICS: IOC Applications: Building and Source Release Control @@ -17,7 +17,7 @@ Source Release Control

Marty Kraimer and Janet Anderson 
Argonne National Laboratory, Advanced Photon Source 
-Oct 10, 1997 
+April 28, 1998 
EPICS Release 3.13.0.beta12

@@ -1165,8 +1165,8 @@ and the make command is:
    gnumake mv167
Another useful command is:
    gnumake clean
-This removes everything generated in the O. directories. ".<arch>" can -be appended to invoke clean for a particular architecture. +This removes the O. directories. ".<arch>" can be appended to invoke +clean for a particular architecture.
xxxApp/xxxDb
@@ -1284,32 +1284,57 @@ INC_DEFAULT           &nb                                 with no INC_<arch_class> specified LIBSRCS                         source files for building library, -                                specified as OIBSRCS := xxx.c yyy.c zzz.c +                                specified as LIBSRCS += xxx.c yyy.c zzz.c LIBSRCS_<arch_class>            os-specific library source files  LIBSRCS_DEFAULT                 library source files for systems with no -                                USR_CFLAGS_<arch_class> specified - -PROD_LIBS                       libs needed to link PROD for all systems -PROD_LIBS_<arch_class>          os-specific libs needed to link PROD -PROD_LIBS_DEFAULT               libs needed to link PROD for systems with -                                no PROD_LIBS_<arch_class> specified +                                LIBSRCS_<arch_class> specified PROD                            Product names (without execution suffix) -                                to build and install +                                to build and install (e.g. PROD=myprod) PROD_<arch_class>               os-specific products to build and install PROD_DEFAULT                    products to build and install for systems -                                with no PROD_<arch_class> specified +                                with no PROD_<arch_class> specified -SCRIPTS                         scripts to install +
SRCS                            Source files needed to build every PROD
+                                (e.g. SRCS=a.c b.c c.c )
+ +
PROD_LIBS                       libs needed to link every PROD for all systems
+PROD_LIBS_<arch_class>          os-specific libs needed to link every PROD
+PROD_LIBS_DEFAULT               libs needed to link every PROD for systems with
+                                no PROD_LIBS_<arch_class> specified
+ +
<lib>_DIR                       Directory to search for the specified lib. (For libs 
+                                in PROD_LIBS, <PROD>_LIBS, <target>_LIBS, and USR_LIBS)
+ +
SYS_PROD_LIBS                   system libs needed to link every PROD for all systems
+SYS_PROD_LIBS_<arch_class>      os-specific system libs needed to link every PROD
+SYS_PROD_LIBS_DEFAULT           system libs needed to link every PROD for systems with
+                                no SYS_PROD_LIBS_<arch_class> specified
+ +
<prod>_SRCS                     Source files needed to build a specific PROD
+                                (e.g. myprod_SRCS=a.c b.c c.c )
+<prod>_SRCS_<arch_class>        os specific source files to build a specific PROD
+<prod>_ARCS_DEFAULT             source files needed to build a specific PROD for systems
+                                with no <prod>_SRCS_<arch_class> specified
+ +
<prod>_CFLAGS                   prod specific C compiler flags (e.g. xxxRecord_CFLAGS )
+<prod>_CXXFLAGS                 prod specific C++ compiler flags
+<prod>_CPPFLAGS                 prod specific cpp flags
+<prod>_LDFLAGS                  prod specific ld flags
+<prod>_LIBS                     prod specific ld libraries (e.g. X11 Xt )
+<prod>_SYS_LIBS                 prod specific  system ld libraries (e.g. m)
+ +
SCRIPTS                         scripts to install
 SCRIPTS_<arch_class>            os-specific scripts to install
 SCRIPTS_DEFAULT                 scripts to install for systems with no
-                                PROD_<arch_class> specifieD
+                                SCRIPTS_<arch_class> specifieD
 
-LIBTYPE:=SHARED                 Library type. IF shared library is
-                                desired LIBTYPE must be defined 
+SHARED_LIBRARIES                Build shared libraries? Must be YES or NO
+SHARED_LIBRARIES_<arch_class>   Build os specific shared libraries? Must be YES or NO
+SHARED_LIBRARIES_DEFAULT        Build shared libraries for os systems with
+                                no SHARED_LIBRARIES_<arch_class> specified
-SRCS                            Source files needed to build PROD -                                (e.g. SRCS=a.c b.c c.c ) +
SHRLIB_VERSION                  Shared library version number
 
 USER_VPATH                      List of directories that gnumake should
                                 search for files not in current dir.
@@ -1319,7 +1344,10 @@ LIBRARY            &
                                 specify Ca NOT libCa.a
 
 TESTPROD                        Product names (without execution suffix)
-                                to build but not install
+                                to build but not install. Built from 
+                                source file having same name.
+ +
TESTPROD_SRCS                   Source files needed to build every TESTPROD
 
 INSTALL_DIR                     Location of install directory (default $(TOP))
 
@@ -1335,11 +1363,16 @@ TEMPLATES            
                                 into $(TEMPLATE_DIR)
 
 
-USR_CPPFLAGS                    cpp flags
+USR_CPPFLAGS                    cpp flags (for all makefile compiles)
 USR_INCLUDES                    Directories to search for include files
                                 (e.g. -I$(EPICS_EXTENSIONS_BIN) )
-USR_LDFLAGS                     linker options
-USR_LDLIBS                      load libraries (e.g. -lXt -lX11 )
+USR_LDFLAGS                     linker options (for all makefile links)
+ +
USR_LDFLAGS_<arch_class>        os specific linker options (for all makefile links)
+ +
USR_LIBS                        load libraries (e.g. -lXt -lX11) (for all makefile links)
+ +
USR_LIBS_<arch_class>           os specific load libraries (for all makefile links)
 
 YACCOPT                         yacc options
 LEXOPT                          lex options
@@ -1352,16 +1385,29 @@ RANLIBFLAGS           &nb
 <target>_CXXFLAGS               target specific C++ compiler flags
 <target>_CPPFLAGS               target specific cpp flags
 <target>_LDFLAGS                target specific ld flags
-<target>_LDLIBS                 target specific ld libraries (e.g. -lX11 -lXt )
+<target>_LIBS                   target specific ld libraries (e.g. X11 Xt )
+
<target>_INCLUDES               Directories to search for include files for a
+                                specific target (e.g. -I$(MOTIF_INC))
 
-UNIX_WARN                       Are compiler warning messages desired
+HOST_WARN                       Are compiler warning messages desired
                                 (YES or NO) (default is NO)
-UNIX_OPT                        Optimization level  (default is no optimization)
+HOST_OPT                        Optimization level  (default is no optimization)
 
 STATIC_BUILD                    Is static build desired (YES or NO)
                                 (default is NO)
+
CLASSES                         Names of Java classes to be built and installed
+TESTCLASSES                     Names of Java classes to be built
+PACKAGE                         Names of Java package to be installed
+JAR                             Name of Jar file to be built
+JAR_INPUT                       Names of files to be included in JAR
+MANIFEST                        Name of manifest file for JAR
+ +
RCS                             Resource files needed to build every PROD
+<prod>_RCS                      Resource files needed to build a specific PROD
+<prod>_RCS_<arch_class>         os specific resource files to build a specific PROD
+

<top>/xxxApp/src/Makefile.Vx

The following components can be built: