mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 02:39:40 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			138 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			138 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
 | 
						|
Possible settings for common Free Pascal Makefile:
 | 
						|
 | 
						|
General configurable settings:
 | 
						|
------------------------------
 | 
						|
OS_TARGET       The target operating system you are going to compile for
 | 
						|
                (Note: This has autodetection for go32v2,linux,winnt)
 | 
						|
 | 
						|
OS_SOURCE       The source operating system you compiling under
 | 
						|
                (Note: This has autodetection for go32v2,linux,winnt)
 | 
						|
 | 
						|
CPU             The target CPU that is used (currently m68k,i386)
 | 
						|
                Default: CPU=i386
 | 
						|
 | 
						|
OPT             General commandline options you want to give
 | 
						|
                Example to compile with debug info: OPT=-g
 | 
						|
 | 
						|
OPTDEF          Commandline defines, which also need to be passed to
 | 
						|
                programs that don't want other options (like mkdep)
 | 
						|
 | 
						|
PP              compiler to use, default is ppc386
 | 
						|
                Example to compile with version 0.99.8: PP=ppc998
 | 
						|
 | 
						|
AS              assembler to use to compile the loaders
 | 
						|
                Default: AS=as
 | 
						|
 | 
						|
LD              linker to use
 | 
						|
                Default: LD=ld
 | 
						|
 | 
						|
RELEASE         setting this to a value (for example RELEASE=1) will compile
 | 
						|
                for a release, no ppc386.cfg is read an compile is done with
 | 
						|
                the following settings: '-Xs -OG2p2 -n'
 | 
						|
 | 
						|
VERBOSE         setting this to a value (for example VERBOSE=1) will compile
 | 
						|
                with more verbosity, this can be used in combination with
 | 
						|
                the RELEASE option. Verbosity used: '-vwni'
 | 
						|
 | 
						|
SMARTLINK       setting this to YES will create smartlinked files
 | 
						|
                Example: SMARTLINK=YES
 | 
						|
 | 
						|
LIBNAME         set the outputname for the library to LIBNAME, mostly used
 | 
						|
                in combination with SMARTLINK to create a one library which
 | 
						|
                contains all units
 | 
						|
                Example: LIBNAME=objpas SMARTLINK=yes
 | 
						|
 | 
						|
LIBTYPE         can be set to shared or static to set the library type you
 | 
						|
                want to create. When shared is set it overrides smartlink
 | 
						|
                and turns it off.
 | 
						|
                Example: LIBTYPE=shared LIBNAME=objpas
 | 
						|
 | 
						|
 | 
						|
Location:
 | 
						|
---------
 | 
						|
INC             Where to find the .inc files.
 | 
						|
                Example: INC=inc
 | 
						|
 | 
						|
PROCINC         Where to find processor dependent .inc files
 | 
						|
                Example: PROCINC=$(CPU)
 | 
						|
 | 
						|
OSINC           Where to find operating system dependent .inc files
 | 
						|
                Example: OSINC=$(OS_TARGET)
 | 
						|
 | 
						|
TARGETDIR       Where to place all the .o,.ppu,.exe files
 | 
						|
                Example: TARGETDIR=. (this is needed when you compile
 | 
						|
                a unit from an other dir, but want the .ppu,.o in the
 | 
						|
                current directory)
 | 
						|
 | 
						|
UNITTARGETDIR   Where to place the .o,.ppu files, this overrides the
 | 
						|
                TARGETDIR setting for these files.
 | 
						|
                Example see TARGETDIR
 | 
						|
 | 
						|
 | 
						|
File Handling:
 | 
						|
--------------
 | 
						|
MOVE            Command to move files
 | 
						|
COPY            Command to copy files
 | 
						|
DEL             Command to delete files
 | 
						|
DELTREE         Command to delete a whole directory tree
 | 
						|
INSTALL         Command to install a normal file (not executable)
 | 
						|
INSTALLEXE      Command to install an executable file
 | 
						|
MKDIR           Command to make a new directory
 | 
						|
 | 
						|
 | 
						|
Tools:
 | 
						|
------
 | 
						|
LDCONFIG        command to rebuild the ld.so.cache (automaticly set for linux)
 | 
						|
PPAS            ppas.sh for linux, other os's ppas.bat
 | 
						|
PPUMOVE         PPUMove program
 | 
						|
DIFF            GNU Diff
 | 
						|
DATE            GNU Date (automaticly searched)
 | 
						|
SED             GNU Sed (automaticly searched)
 | 
						|
PWD             GNU PWD (automaticly searched)
 | 
						|
 | 
						|
 | 
						|
Directories:
 | 
						|
------------
 | 
						|
BASEDIR         Current working directory (automaticly loaded using PWD)
 | 
						|
 | 
						|
RTLDIR          Base directory of the Free Pascal RTL. Can also be loaded
 | 
						|
                from the RTL variable
 | 
						|
                Default: $BASEDIR/../rtl
 | 
						|
 | 
						|
UNITDIR         Unit directory to add.
 | 
						|
                Default: $RTLDIR/$OS_TARGET
 | 
						|
 | 
						|
 | 
						|
Installation directories:
 | 
						|
-------------------------
 | 
						|
BASEINSTALLDIR  Base directory where to install all the files.
 | 
						|
                Default: /pp (linux: /usr/lib/fpc/$VER)
 | 
						|
 | 
						|
LIBINSTALLDIR   Directory to install all libraries
 | 
						|
                Default: $BASEINSTALLDIR/lib (linux: $BASEINSTALLDIR)
 | 
						|
 | 
						|
BININSTALLDIR   Directory where to install the binaries
 | 
						|
                Default: $BASEINSTALLDIR/bin/$OS_TARGET (linux: /usr/bin)
 | 
						|
 | 
						|
UNITINSTALLDIR  Directory where to install the normal units
 | 
						|
                Default: $BASEINSTALLDIR/rtl/$OS_TARGET
 | 
						|
 | 
						|
STATIC_UNITINSTALLDIR  Directory where to install static (smartlinked) units
 | 
						|
                Default: $BASEINSTALLDIR/rtl/$OS_TARGET/static
 | 
						|
 | 
						|
SHARED_UNITINSTALLDIR  Directory where to install shared linked units
 | 
						|
                Default: $BASEINSTALLDIR/rtl/$OS_TARGET/shared
 | 
						|
 | 
						|
STATIC_LIBINSTALLDIR  Directory where to install static linked libraries
 | 
						|
                Default: $STATIC_UNITINSTALLDIR
 | 
						|
 | 
						|
SHARED_LIBINSTALLDIR  Directory where to install shared linked libraries
 | 
						|
                Default: $SHARED_UNITINSTALLDIR (linux: /usr/lib)
 | 
						|
 | 
						|
MSGINSTALLDIR   Directory where to place the .msg (language) files
 | 
						|
                Default: $BASEINSTALLDIR/msg
 | 
						|
 | 
						|
DOCINSTALLDIR:  Directory where to install the documentation
 | 
						|
                Default: $BASEINSTALLDIR/doc (linux: /usr/doc/fpc/$VER)
 |