require’s build interface¶
This page documents the build-time interface provided by require for building EPICS modules in e3.
Build variables¶
MODULE- Name of the module from the perspective ofrequireLIBVERSION- Version of the module from the perspective ofrequire
What to build and install¶
SOURCES- Source files to compile into the shared libraryDBDS- Database definition (.dbd) files to include in$(module).dbdHEADERS- Header files that should be installed with the moduleTEMPLATES- Database or template files that should be installed in the$(module_DB)pathTMPS- Template files to inflate to db-file and install in the$(module_DB)pathSUBS- Substitutions files to inflate the template file to db-file and install in the$(module_DB)pathSCRIPTS- Script files that are installed in$(module_DIR)BINS- Executables that should be installed and be on$(PATH)
What to link against¶
USR_LIBS- EPICS support libraries to link against
Other macros¶
KEEP_HEADER_SUBDIRS- Preserves the tree structure of the given header directories
For advanced usage (custom compiler flags, linker options, etc.), see EPICS base’s
Application Developer’s Guide: Build Facility.
Variables like USR_CPPFLAGS, USR_CXXFLAGS, and USR_LDFLAGS may be needed depending on your build requirements.
Build targets¶
The require build system provides several make targets:
$ make help
---------------------------------------
Available targets
---------------------------------------
all Build and install current module
install Install module to $(E3_MODULES_INSTALL_LOCATION)
uninstall Uninstall the current module
build Build current module
debug Displays information about the build process
clean Deletes temporary build files
help Show this help message
---------------------------------------
Tip
Additional targets may be available depending on your module configuration. Use make help to see all targets for
a specific module.
See also
Related topics:
Module build configurations - Setting up makefiles
Building modules - Using conda-build