FPCMake

FPCMAKE - Free Pascal Makefile generator

What follows below is the man page of fpcmake and the description of the configuration file. If you have installed the man pages then you can view them with the man command.



fpcmake(1)       Free Pascal Makefile constructor      fpcmake(1)


NAME
       fpcmake - The Free Pascal makefile constuctor program.


SYNOPSIS
       fpcmake [filename [filename [filename]]]


DESCRIPTION
       fpcmake reads a Makefile.fpc and converts it to a Makefile
       suitable for reading by GNU make to compile your projects.
       It  is  similar  in functionality to GNU autoconf or Imake
       for making X projects.


USAGE
       fpcmake accepts filenames of makefile description files as
       it's  command-line  arguments.  For each of these files it
       will create a Makefile in the  same  directory  where  the
       file is located, overwriting any other existing file.

       If no options are given, it just attempts to read the file
       Makefile.fpc in the current directory and  tries  to  con-
       struct  a Makefile from it.  any previously existing Make-
       file will be erased. See fpcmake(5) for a  description  of
       the format of the Makefile.fpc file.


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



























FreePascal                 12 Dec 1999                          1






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 com-
       mand. 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  sec-
       tions are recognized (in alphabetical order):

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

              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. Spec-
                     ify full filenames.

       defaults
              The defaults section  contains  some  default  set-
              tings. The following keywords are recognized:



       dirs

       info

       install
              Contains  instructions  for  installation  of  your
              units and programs. The following keywords are  rec-
              ognized:

              dirprefix
                     the  directory below wchich all installs are
                     done. This corresponds to the --prefix argu-
                     ment  to  GNU  configure  It is used for the
                     installation  of  programs  and  units.   By
                     default,  this is on linux, and on all other
                     platforms.

              basedir
                     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



FreePascal                 12 Dec 1999                          1





fpcmake(5)       Free Pascal Makefile.fpc format       fpcmake(5)


                     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 cre-
                     ated.

              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 con-
              tain the following 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 key-
                     word 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 indi-
                     cates whether the FCL is used.

              rtl    This is a boolean value (0 or 1) that  indi-
                     cates  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.   can define additional rules
              and configuration variables.





FreePascal                 12 Dec 1999                          2





fpcmake(5)       Free Pascal Makefile.fpc format       fpcmake(5)


       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  keywords;  each  keyword
              decies whether a particular section will be written
              to the makefile. By default, all sections are writ-
              ten.

              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 depen-
                     dency rules.

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




FreePascal                 12 Dec 1999                          3





fpcmake(5)       Free Pascal Makefile.fpc format       fpcmake(5)


              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 libraries.

              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 libraries.

              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 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  compiled.  Do  not  specify an



FreePascal                 12 Dec 1999                          4





fpcmake(5)       Free Pascal Makefile.fpc format       fpcmake(5)


                     extension, the extension will be appended.

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

              units  A space separated list of  unit  names  that
                     need  to  be  compiled.  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  dependen-
                     cies 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



FreePascal                 12 Dec 1999                          5





fpcmake(5)       Free Pascal Makefile.fpc format       fpcmake(5)


                     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  com-
              piled  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 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                          6