123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- 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_TARGET The target CPU that is used (currently m68k,i386)
- Default: CPU_TARGET=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)
- NEEDOPT Realy needed commandline options, also used when
- RELEASE=1. Example: NEEDOPT=-Sg to allow goto
- NEEDUNITDIR Realy needed unitdir
- FPC compiler to use, default is ppc386
- Example to compile with version 0.99.8: FPC=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 fpc.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
- DEFAULTUNITS if this is set then a 'make all' will only compile the units
- and not the exes
- NODEFAULTRULES Don't include the default compiler rules. This is needed for
- top-makefiles which call other files in subdirs
- Location:
- ---------
- INC Where to find the .inc files.
- Example: INC=inc $(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)
- UPXPROG UPX ExeFile compressor (automaticly searched)
- ZIPPROG ZIP compressor (automaticly searched)
- Directories:
- -----------
- BASEDIR Current working directory (automaticly loaded using PWD)
- FPCDIR Base directory of Free Pascal
- RTLDIR Directory to the used RTL. This contains already the target
- Default: $FPCDIR/rtl/$OS_TARGET
- UNITDIR Directory to the currently used units for the target
- Default: $FPCDIR/units/$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)
|