FCM System User Guide > Annex: Declarations in FCM build package configuration file

Annex:
Declarations in FCM build package configuration file

The following is a list of supported declarations for package configuration files. The package configuration is used by the build system. It must be stored in a file called @PACKAGE.cfg in a source directory. The labels in all declarations in a package configuration file contain two fields delimited by the double colon "::". The first field is the name of the label, which is case insensitive. The second field is the name of a file, which the declaration is associated with.

Label Content
TYPE::file Description This declares the type of file. The value of this declaration is a list of type flags delimited by the double colon "::". Each type flag is used internally to describe the nature of the file. Supported flags are the same as those used in the INFILE_EXT declarations in the build configuration file. For a list of these flags, please see the Input file extension type flags table of the FCM System User Guide > Annex: Declarations in FCM build configuration file document.
Example
# Declare a Fortran 9X program source file
type::MyFortranProg.f90  FORTRAN::FORTRAN9X::SOURCE::PROGRAM

# Declare a target to build a shared object library
type::libbooks.a         BINARY::LIB
SCAN::file Description This declares a flag to determine whether file needs to be scanned for dependency. Set the value to 1 to switch on, and 0 to switch off. If file is declared a shared library, this flag is automatically set to 0. For all other files, this flag is automatically set to 1.
Example
scan::MyFortranProg.f90  0
TARGET::file Description This declares the executable name of file if it is a C or Fortran program. If not set, the default executable name of a program is the root name (i.e. base name without the file extension) of file suffixed with the file extension ".exe".
Example
target::MyFortranProg.f90  hello_world
INTNAME::file Description This declares the internal name of file if it contains a Fortran subroutine, function or module. The internal name determines the name of the compiled object file of file. If not set, the default depends on whether the file will be scanned for dependencies. If so, the name of the first program unit will be used as the internal name. Otherwise, the root name of file will be used.
Example
intname::YourFortranMod.f90  hello_mod
DEP::file Description This declares a dependency target for file. The value of this declaration must contain two fields separated by the double colon "::". The first field denotes the dependency type, and the second field is the dependency target. Supported dependency types are the same as those used in the EXCL_DEP declarations in the build configuration file. For a list of these flags, please see the dependency types table of the FCM System User Guide > Annex: Declarations in FCM build configuration file document.
Example
dep::MyFortranProg.f90  USE::YourFortranMod
dep::MyFortranProg.f90  INTERFACE::HerFortran.interface
dep::MyFortranProg.f90  INC::HisFortranInc.inc
dep::MyFortranProg.f90  H::TheirHeader.h
dep::MyFortranProg.f90  OBJ::ItsObject.o

dep::libbooks.a         OBJ::MyObject.o
dep::libbooks.a         OBJ::YourObject.o
dep::libbooks.a         OBJ::HisObject.o
dep::libbooks.a         OBJ::HerObject.o
dep::libbooks.a         OBJ::TheirObject.o
dep::libbooks.a         OBJ::ItsObject.o
Label Content