fpcmake generates a makefile, suitable for GNU make, which can be used to
     
     - Compile units and programs, fit for testing or for final distribution.
     
- Compile example units and programs separately.
     
- Install compiled units and programs in standard locations.
     
- Make archives for distribution of the generated programs and units.
     
- 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