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 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
		     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)

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

home | help