Rules and targets created by fpcmake
The makefile.fpc defines a series of targets, which can be called by your own targets. They have names that resemble default names (such as ’all’, ’clean’), only they have fpc_ prepended.
Pattern rules
The makefile makes the following pattern rules:
- units
-
How to make a pascal unit form a pascal source file.
- executables
-
How to make an executable from a pascal source file.
- object file
-
How to make an object file from an assembler file.
Build rules
The following build targets are defined:
- fpc_all
-
Builds all units and executables as well as loaders.
- fpc_debug
-
The same as
fpc_all, only with debug information included. - fpc_exes
-
Make all executables in
EXEOBJECTS. - fpc_loaders
-
Make all files in
LOADEROBJECTS. - fpc_packages
-
Make all packages that are needed to make the files.
- fpc_shared
-
Make all units as dynamic libraries.
- fpc_smart
-
Make all units as smartlinked units.
- fpc_units
-
Make all units in
UNITOBJECTS.
Cleaning rules
The following cleaning targets are defined:
- fpc_clean
-
Cleans all files that result when
fpc_allwas made. - fpc_distclean
-
Is the same as both previous target commands, but also deletes all object, unit and assembler files that are present.
Archiving rules
The following archiving targets are defined:
- fpc_zipdistinstall
-
Make a distribution install of the package.
- fpc_zipinstall
-
Make an install zip of the compiled units of the package.
- fpc_zipexampleinstall
-
Make a zip of the example files.
- fpc_zipsourceinstall
-
Make a zip of the source files.
The zip is made using the ZIPEXE program. Under Linux, a .tar.gz file is created.
Installation rules
- fpc_distinstall
-
Target which calls the
installandexampleinstalltargets. - fpc_install
-
Install the units.
- fpc_sourceinstall
-
Install the sources, in case a distribution is made.
- fpc_exampleinstall
-
Install the examples, in case a distribution is made.
Informative rules
There is only one target which produces information about the used variables, rules and targets: fpc_info.
The following information about the makefile is presented:
general Configuration information: the location of the makefile, the compiler version, target OS, CPU.
The directories, used by the compiler.
All directories where files will be installed.
All objects that will be made.
All defined tools.
An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.
