You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

The purpose of this page is to create a quick reference for all the macro (and variable) definitions we find in the EPICS build environment.  Often times, the names of the macros do not give much of a clue of their purpose, and sometimes the names are misleading.  Makefiles typically have the name "Makefile" but in EPICS they can have just about any name.  For example, RELEASE or CONFIG or RULES.  I still call them Makefiles as their syntax is defined by the Makefile parser program "make".

Application

src Directory

If you're building an app (not a module, not a library), your app will have a Makefile in its src directory.

PROD_IOC defines the resulting application name (the executable file name).

DBD defines the database definition made for and baked into your app.

<app_name_>_DBD defines the database definitions that get baked into your app.  This is additive, so use +=.

USR_INCLUDES defines the include directories to search for the header files that your app needs, like include directories for libraries you want to bake in.  For some reason, -I (dash eye) is not automatically prepended, so you need to preface the directory with -I, e.g. -I(MY_LIB_INCLUDE).  Also, since you are adding include directories, you need to use +=.

<lib>_DIR defines the directory in which the library (.a or .so) will be found.

USR_LIBS defines the libraries that are baked into your application.  This is additive, so use +=.

<app_name>_SRCS I'm not sure what this is.

<app_name>_SRCS_DEFAULT defines the source files for your application.  This is additive, so use +=.

<app_name>_LIBS defines the EPICS modules (not libraries) that are baked into your application.

Db Directory

DB_INSTALLS defines the databases from EPICS modules that are baked into your application.  This is additive, so use +=.

DB defines the databases from your application that are baked into your application.   This is additive, so use +=.

  • No labels