Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
fpcmake(5)		 Free Pascal Makefile.fpc format	      fpcmake(5)

NAME
     Makefile.fpc - Configuration file for fpcmake.

SYNOPSIS
     Makefile.fpc is a configuration file for the fpcmake command. Starting from
     this file a Makefile is created to compile Free Pascal units and programs.

DESCRIPTION
     Makefile.fpc is a plain ASCII file that contains a number of sections as in
     a	Windows ini file. The following sections are recognized (in alphabetical
     order):

     clean  Specifies rules for cleaning the directory of  units  and  programs.
	    The following entries are recognized:

	    units  names  of  all  units  that	should be removed when cleaning.
		   Don't specify extensions, the makefile will append  these  by
		   itself.

	    files  names  of  files  that  should be removed. Specify full file-
		   names.

     defaults
	    The defaults section contains some default settings.  The  following
	    keywords are recognized:

	  dirs

     info

     install
	    Contains  instructions  for installation of your units and programs.
	    The following keywods are recognized:

	    dirprefix
		   the directory below wchich all installs are done. This corre-
		   sponds to the --prefix argument to GNU configure It	is  used
		   for	the installation of programs and units. By default, this
		   is /usr on linux, and /pp on all other platforms.

	    dirbase
		   The directory that is used as the base directory for the  in-
		   stallation  of units. Default this is dirprefix appended with
		   /lib/fpc/FPC_VERSION for linux or  simply  the  dirprefix  on
		   other platforms.
     Units  will  be  installed  in  the  subdirectory units/$(OS_TARGET) of the
     dirbase entry.

     libs   This section specifies what units should be merged into  a	library,
	    and what external libraries are needed. It can contain the following
	    keywords:

	    libname
		   the name of the library that should be created.

	    libunits
		   a comma-separated list of units that should be moved into one
		   library.

	    needgcclib
		   a  boolean  value  that  specifies whether the gcc library is
		   needed. This will make sure that the path to the GCC  library
		   is inserted in the library search path.

	    needotherlib
		   a  boolean  value  that tells the makefile that other library
		   directories will be needed.

     packages
	    Which packages must be used. This section can contain the  following
	    keywords:

	    packages
		   A comma-separated list of packages that are needed to compile
		   the	targets.  Valid for all platforms. In order to differen-
		   tiate between platforms, you can prepend the keyword packages
		   with the OS you are compiling for, e.g.  linuxpackages if you
		   want the makefile to use the listed packages on linux only.

	    fcl    This is a boolean value (0 or 1) that indicates  whether  the
		   FCL is used.

	    rtl    This  is  a boolean value (0 or 1) that indicates whether the
		   RTL should be recompiled.

     postsettings
	    Anything that is in this section will be inserted as-is in the make-
	    file after the makefile rules that are generated by fpcmake, but be-
	    fore the general configuration rules.  In it, you cannot  use  vari-
	    ables  that  are  defined by fpcmake rules, but you can define addi-
	    tional rules and configuration variables.

     presettings
	    Anything that is in this section will be inserted as-is in the make-
	    file before the makefile target rules that are generated by fpcmake.
	    This means that you cannot use any variables that are  normally  de-
	    fined by

     rules  In	this  section you can insert dependency rules and any other tar-
	    gets you wish to have. Do not insert 'default rules' here.

     sections
	    Here you can specify which 'rule sections' should be included in the
	    Makefile.  The sections consist of a  series  of  boolean  keywords;
	    each keyword decides whether a particular section will be written to
	    the makefile. By default, all sections are written.

	    You can have the following boolean keywords in this section.

	    none   If this is set to true, then no sections are written.

	    units  If  set  to	false  ,  fpcmake  omits the rules for compiling
		   units.

	    exes   If set to false , fpcmake omits the rules for compiling  exe-
		   cutables.

	    loaders
		   If  set to false , fpcmake omits the rules for assembling as-
		   sembler files.

	    examples
		   If set to false , fpcmake omits the rules for compiling exam-
		   ples.

	    package
		   If set to false , fpcmake omits the rules  for  making  pack-
		   ages.

	    compile
		   If set to false , fpcmake omits the generic rules for compil-
		   ing pascal files.

	    depend
		   If set to false , fpcmake omits the dependency rules.

	    install
		   If  set  to	false  ,  fpcmake omits the rules for installing
		   everything.

	    sourceinstall
		   If set to false , fpcmake omits the rules for installing  the
		   sources.

	    zipinstall
		   If  set  to	false  ,  fpcmake omits the rules for installing
		   archives.

	    clean  If set to false , fpcmake omits the rules  for  cleaning  the
		   directories.

	    libs   If  set  to	false  ,  fpcmake omits the rules for making li-
		   braries.

	    command
		   If set to false , fpcmake omits the rules for  composing  the
		   command-line based on the various variables.

	    exts   If  set  to	false  ,  fpcmake omits the rules for making li-
		   braries.

	    dirs   If set to false , fpcmake omits the rules for running make in
		   subdirectories..

	    tools  If set to false , fpcmake omits the rules  for  running  some
		   tools as the erchiver, UPX and zip.

	    info   If  set to false , fpcmake omits the rules for generating in-
		   formation.

     targets
	    In this section you can define the various	targets.  The  following
	    keywords can be used there:

	    dirs   A  space separated list of directories where make should also
		   be run.

	    examples
		   A space separated list of example programs that  need  to  be
		   compiled  when  the user asks to compile the examples. Do not
		   specify an extension, the extension will be appended.

	    loaders
		   A space separated list of names of assembler files that  must
		   be  assembled.   Don't  specify  the extension, the extension
		   will be appended.

	    programs
		   A space separated list of program names that need to be  com-
		   piled. Do not specify an extension, the extension will be ap-
		   pended.

	    rst    a  list  of rst files that needs to be converted to .po files
		   for use with GNU gettext and internationalization routines.

	    units  A space separated list of unit names that  need  to	be  com-
		   piled. Do not specify an extension, just the name of the unit
		   as it would appear un a uses clause is sufficient.

     tools  In	this section you can specify which tools are needed. Definitions
	    to use each of the listed tools will be inserted  in  the  makefile,
	    depending on the setting in this section.

	    Each  keyword is a boolean keyword; you can switch the use of a tool
	    on or off with it.

	    The following keywords are recognised:

	    toolppdep
		   Use ppdep the dependency tool.  True by default.

	    toolppumove
		   Use ppumove the Free Pascal unit mover.  True by default.

	    toolppufiles
		   Use the ppufile tool to determine dependencies of unit files.
		   True by default.

	    toolsed
		   Use sed the stream line editor.  False by default.

	    tooldata2inc
		   use the data2inc tool  to  create  include  files  from  data
		   files.  False by default.

	    tooldiff
		   Use the GNU diff tool.  False by default.

	    toolcmp
		   Use the cmp file comparer tool False by default.

	    toolupx
		   Use the upx executable packer True by default.

	    tooldate
		   use the date date displaying tool.  True by default.

	    toolzip
		   Use	the  zip file archiver. This is used by the zip targets.
		   True by default.

     zip    This section can be used to make zip files from the  compiled  units
	    and  programs. By default all compiled units are zipped. The zip be-
	    haviour can be influencd with the presettings and postsettings  sec-
	    tions.

	    The following keywords can be used in this unit:

	    zipname
		   this file is the name of the zip file that will be produced.

	    ziptarget
		   is the name of a makefile target that will be executed before
		   the zip is made. By default this is the install target.

SEE ALSO
	    fpcmake(1) ppc386(1) make(1)

FreePascal			   12 Dec 1999			      fpcmake(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=fpcmake&sektion=5&manpath=FreeBSD+Ports+15.1.quarterly>

home | help