peter a66bdecfd4 * minor additions 22 年之前
..
bingo32 4557800b8f * reinserted with -kb 25 年之前
binos2 5c55264be0 + more resolutions added 22 年之前
binw32 3ddc4c44bd * cygwin1.dll updated to last version 22 年之前
cross 110311804a * now crisscross is also possible 22 年之前
debian b8b0ba21fa * 1.9.0 22 年之前
doc a66bdecfd4 * minor additions 22 年之前
man 352a0d6eef + Merged from fixbranch 22 年之前
unix 208e0a4547 + added from fixbranch 24 年之前
INSTALL e9719e1fcf * 1.0.4 merges 24 年之前
README dab4b43521 * ppc386.cfg -> fpc.cfg 24 年之前
fpc.spec b8b0ba21fa * 1.9.0 22 年之前
fpcdoc.spec 896f306291 * rpm updates 22 年之前
install.sh b8b0ba21fa * 1.9.0 22 年之前
makepack b8b0ba21fa * 1.9.0 22 年之前
os2snap.bat ca32cfe088 * latest versions from 1.0.5 branch 24 年之前
os2snap.cmd ca32cfe088 * latest versions from 1.0.5 branch 24 年之前
release.tem e76640218c + version must be changed for installer and docs too 24 年之前
smart_strip.sh 896f306291 * rpm updates 22 年之前

README


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)