make {BuildSys}R Documentation

Make the Shared Library

Description

Calling make will build, clean or install your C/C++ library.

Usage

  ## S4 method for signature 'BSysProject'
make(.Object, Operation = "", Debug = NULL)

Arguments

.Object

S4 BSysProject object instance defining the library to be made. See BuildSys-package for more information.

Operation

the make operation to be carried out. Can be one of,

  • "" build the library by compiling and linking all source files

  • "clean" clean the library by deleting all object files (.o files) and the library itself (.dll or .so files)

  • "install" copy the built library file and/or header files to the install locations (see initProjectFromFolder and BuildSys-package)

Debug

A Boolean indicating whether to make a debug build. If NULL the IsDebug attribute in the BSysProject determines if a debug build is being made. If non-null the IsDebug attribute is updated using the Debug argument.

Details

Calling make results in the project described by the Object instance being transformed into a GNU makefile and then GNU make being called with the appropriate operation as determined by the Operation argument. The makefile will be written to the sub-folder specified by the ObjName attribute of the Object instance. If the makefile already exists it will only be re-created if the existing one in not in sync with the project definition. This is determined by an md5 digest of the project definition which is stored as the header comment line in the makefile. If the makefile is re-written then a make clean operation will be automatically carried out to ensure the built library remains in sync with the makefile.

Value

This method returns an updated S4 BSysProject object instance. If the any change to Debug state is to be preserved then the returned result should be assigned to the calling BSysProject object instance passed in the Object argument.

Note

see BuildSys-package for examples of use.

Author(s)

Paavo Jumppanen [aut, cre]

Maintainer: Paavo Jumppanen <paavo.jumppanen@csiro.au>

See Also

buildMakefile initProjectFromFolder BuildSys-package


[Package BuildSys version 1.1.2 Index]