[next] [prev] [prev-tail] [tail] [up]

### E.2 Functionality

fpcmake generates a makefile, suitable for GNU make, which can be used to

1. Compile units and programs, fit for testing or for final distribution.
2. Compile example units and programs separately.
3. Install compiled units and programs in standard locations.
4. Make archives for distribution of the generated programs and units.
5. Clean up after compilation and tests.

fpcmake knows how the Free Pascal compiler operates, which command line options it uses, how it searches for files and so on; It uses this knowledge to construct sensible command lines.

Specifically, it constructs the following targets in the final makefile:

all
  Makes all units and programs.
debug
  Makes all units and programs with debug info included.
smart
  Makes all units and programs in smartlinked version.
examples
  Makes all example units and programs.
shared
  Makes all units and programs in shared library version (currently disabled).
install
  Installs all units and programs.
sourceinstall
  Installs the sources to the Free Pascal source tree.
exampleinstall
  Installs any example programs and units.
distinstall
  Installs all units and programs, as well as example units and programs.
zipinstall
  Makes an archive of the programs and units which can be used to install them on another location, i.e. it makes an archive that can be used to distribute the units and programs.
zipsourceinstall
  Makes an archive of the program and unit sources which can be used to distribute the sources.
zipexampleinstall
  Makes an archive of the example programs and units which can be used to install them on another location, i.e. it makes an archive that can be used to distribute the example units and programs.
zipdistinstall
  Makes an archive of both the normal as well as the example programs and units. This archive can be used to install them on another location, i.e. it makes an archive that can be used to distribute.
clean
  Cleans all files that are produced by a compilation.
distclean
  Cleans all files that are produced by a compilation, as well as any archives, examples or files left by examples.
cleanall
  Same as clean.
info
  Produces some information on the screen about used programs, file and directory locations, where things will go when installing and so on.

Each of these targets can be highly configured, or even totally overridden by the configuration file Makefile.fpc.

[next] [prev] [prev-tail] [front] [up]