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 al-
       phabetical order):

       clean  Specifies	 rules	for  cleaning  the directory of	units and pro-
	      grams.  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 follow-
	      ing keywords are recognized:

       dirs

       info

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

	      dirprefix
		     the  directory  below  wchich all installs	are done. This
		     corresponds 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
		     installation of units. Default this is dirprefix appended
		     with /lib/fpc/FPC_VERSION for linux or simply the dirpre-
		     fix 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 li-
	      brary, 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 li-
		     brary is inserted in the library search path.

	      needotherlib
		     a boolean value that tells	the makefile  that  other  li-
		     brary directories will be needed.

       packages
	      Which  packages  must be used. This section can contain the fol-
	      lowing keywords:

	      packages
		     A comma-separated list of packages	 that  are  needed  to
		     compile  the  targets.  Valid for all platforms. In order
		     to	differentiate 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
	      makefile after the makefile rules	that are generated by fpcmake,
	      but  before  the general configuration rules.  In	it, you	cannot
	      use variables that are defined by	fpcmake	rules, but you can de-
	      fine additional rules and	configuration variables.

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

       rules  In this section you can insert dependency	rules  and  any	 other
	      targets 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  key-
	      words;  each keyword decies 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
		     executables.

	      loaders
		     If	set to false , fpcmake omits the rules for  assembling
		     assembler files.

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

	      package
		     If	set to false , fpcmake	omits  the  rules  for	making
		     packages.

	      compile
		     If	 set  to  false	 , fpcmake omits the generic rules for
		     compiling 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
		     information.

       targets
	      In this section you can define the various targets. The  follow-
	      ing 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  ap-
		     pended.

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

	      programs
		     A	space  separated list of program names that need to be
		     compiled. Do not specify an extension, the	extension will
		     be	appended.

	      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. Defini-
	      tions 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  tar-
		     gets.  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	behaviour  can	be  influencd with the presettings and
	      postsettings sections.

	      The following keywords can be used in this unit:

	      zipname
		     this file is the name of the zip file that	will  be  pro-
		     duced.

	      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)

NAME | SYNOPSIS | DESCRIPTION | SEE ALSO

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

home | help