Skip to content

MakefileCustomOptions

Maxie D. Schmidt edited this page Nov 20, 2019 · 5 revisions

Targets and hidden environment settings supported in the Makefile

A listing of all supported make targets in the Makefile

Running make help yields the next self-explanatory listing of src/Makefile targets in the RNAStructViz source:

RNAStructViz Makefile targets and options:
  >> default, e.g., run \'make\'     : Build the application, but do not clean sources or run it
  >> default_with_gperf              : Debugging target for developers
  >> prelims                         : Copy the local build header using a script (called by some targets automatically)
  >> diagnostic                      : Print diagnostic information about the compiler and library source locations
  >> run                             : Build and run RNAStructViz
  >> run-debug                       : Build and run RNAStructViz in the local debugger
  >> clean                           : Standard target
  >> install                         : (On Linux / Unix, NOT Mac OSX) Install with sudo
  >> profile_mem                     : Debugging target for developers
  >> git-add                         : Add all relevant (NOTE: NOT all files) source files
  >> git-commit                      : Usage is 'make git commit "<COMMIT-MSG>"'
  >> git-push                        : Usage is 'make git-push "<COMMIT-MSG>"'

A listing of all supported optional environment variables that induce custom behaviors when running make to build from source

Running make help yields the next self-explanatory listing of exported environment variables set on the user's shell that invokes make, e.g., exported in a Bash shell by running export VAR="<VALUE>". These settings are used to support custom builds, e.g., by setting a non-standard compiler, or the local source install options where it is necessary to specify alternate CFLAGS (compiler flags) or LDFLAGS (linker flags) at runtime.

RNAStructViz Makefile hidden options and environment config settings:
  >> STRUCTVIZ_COMPILER      [exported env variable] : Set a non-standard compiler for the build (default is g++)
  >> FLTK_INSTALL_DIR        [exported env variable] : For local installs (FLTK build location)
  >> STRUCTVIZ_EXTRA_CFLAGS  [exported env variable] : For local installs and local include paths
  >> STRUCTVIZ_EXTRA_LDFLAGS [exported env variable] : For local installs and local library paths

A recent sample build config file from the RNAStructViz source

We have implemented some configuration settings in RNAStructViz/scripts/BuildConfig.cfg. In particular, the supported options are reproduced from this file as follows:

#### BuildConfig.cfg : Compile and linking time build configuration settings

DEBUGGING=1
VERBOSE=1
OPTLEVEL=0
DEBUGGING_LEVEL=3
ECHO_CONFIG_HEADER=0
BRANCH_TYPE_ID=0

You can modify this file with the appropriate values for your custom build of RNAStructViz (if you require one) before calling make or make run to build the source. Note that in typical fashion, recent versions of make on Mac OSX break this functionality. Please only attempt to modify the BuildConfig.cfg values in the source if you are running Linux or another generic Unix (e.g., *BSD) platform.

Clone this wiki locally