[Previous][Up][Next] Reference for unit 'fpmkunit' (#fcl)

Commandline options

The fpmkunit unit takes control of parsing the command-line to decide what to do and what options to set. The command-line takes a mandatory command name followed by options controlling the behaviour.

fpmake command [options]

The command must be one of the following:

compile
Compile all units in the selected package or packages.
build
Force a build of all units in the selected package or packages.
install
Install all units in the selected package or packages.
buildinstall
Build and install all units in the selected package or packages.
uninstall
Uninstall the selected package or packages.
clean
Remove all generated files in the selected package or packages for current CPU-OS target.
distclean
Remove all generated files in the selected package or packages for all targets.
archive
Create archive (zip) with all units in the selected package or packages.
manifest
Create a manifest suitable for import in repository.
zipinstall
Install all units in the selected package or packages into an archive.
pkglist
Create list of all packages suitable for FPC installer.
fpdocproject
Create fpdoc project file(s) for all packages

The behaviour of the command can be controlled by specifying one of the many options:

-h or --help
Shows a help message
-lc--list-commands
list commands instead of actually executing them.
-n--nofpccfg
Compiler will not use fpc.cfg
-v--verbose
Be verbose when working.
-d--debug
Add debug information when working.
-I--interactive
Allow to interact with child processes.
-e--useenv
Use environment to pass options to compiler.
-ie--installexamples
Install the example-sources.
-bu--buildunit
Compile package in Build-unit mode.
-sap--skipallprograms
Skip all programs even if native-compiling/installing.
-scp--skipcrossprograms
Skip programs when cross-compiling/installing.
-io--ignoreinvalidoption
Ignore further invalid options.
-C--cpu=Value
Compile for indicated CPU.
-O--os=Value
Compile for indicated OS.
-s--subtarget=Value
Compile for indicated subtarget.
-t--target=Value
Compile for indicated target, string in the form CPU-OS(-subtarget).
-P--prefix=Value
Use indicated prefix directory for all commands.
-B--baseinstalldir=Value
Use indicated directory as base install dir.
-BI--bininstalldir=Value
Use indicated directory as base install dir.
-LI--libinstalldir=Value
Use indicated directory as base install dir.
-UL--localunitdir=Value
Use indicated directory as local (user) unit dir.
-UG--globalunitdir=Value
Use indicated directory as global unit dir.
-sp--searchpath=Value
Add search directory for packages.
-U--unitinstalldir=Value
Use indicated directory to install units into.
-r--compiler=Value
Use indicated binary as compiler.
-f--config=Value
Use indicated config file when compiling.
-o--options=Value
Pass extra options to the compiler.
-df--doc-folder=Value
Use indicated directory as fpdoc output folder.
-sd--single-docfile=Value
Create a single fpdoc project file for all projects.
-do--doc-options=Value
Name=Value File with options for fpdoc project file.
-fsp--fpunitsrcpath=Value
Sourcepath to replace in fpunits.cfg on installation.
-zp--zipprefix=Value
Use indicated prefix for generated archives.
-T--threads=Value
Enable the indicated amount of worker threads.
--data2inc=Value
Use indicated data2inc executable.

Packages can come in variants. To add a package-variant to all packages:

+[variantname]+=[variant1],variant2,...

To add a package-variant to all packages which other packages will inherit:

+[variantname]*=[variant1],variant2,...

To add specific options for one package-variant:

--options_[variantname]_[variant1]=Value

See also

Usage

  

Usage description

Dependencies

  

Handling dependencies


Documentation generated on: Dec 15 2025