README 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. Possible settings for common Free Pascal Makefile:
  2. General configurable settings:
  3. ------------------------------
  4. OS_TARGET The target operating system you are going to compile for
  5. (Note: This has autodetection for go32v2,linux,winnt)
  6. OS_SOURCE The source operating system you compiling under
  7. (Note: This has autodetection for go32v2,linux,winnt)
  8. CPU The target CPU that is used (currently m68k,i386)
  9. Default: CPU=i386
  10. OPT General commandline options you want to give
  11. Example to compile with debug info: OPT=-g
  12. OPTDEF Commandline defines, which also need to be passed to
  13. programs that don't want other options (like mkdep)
  14. NEEDOPT Realy needed commandline options, also used when
  15. RELEASE=1. Example: NEEDOPT=-Sg to allow goto
  16. PP compiler to use, default is ppc386
  17. Example to compile with version 0.99.8: PP=ppc998
  18. AS assembler to use to compile the loaders
  19. Default: AS=as
  20. LD linker to use
  21. Default: LD=ld
  22. RELEASE setting this to a value (for example RELEASE=1) will compile
  23. for a release, no ppc386.cfg is read an compile is done with
  24. the following settings: '-Xs -OG2p2 -n'
  25. VERBOSE setting this to a value (for example VERBOSE=1) will compile
  26. with more verbosity, this can be used in combination with
  27. the RELEASE option. Verbosity used: '-vwni'
  28. SMARTLINK setting this to YES will create smartlinked files
  29. Example: SMARTLINK=YES
  30. LIBNAME set the outputname for the library to LIBNAME, mostly used
  31. in combination with SMARTLINK to create a one library which
  32. contains all units
  33. Example: LIBNAME=objpas SMARTLINK=yes
  34. LIBTYPE can be set to shared or static to set the library type you
  35. want to create. When shared is set it overrides smartlink
  36. and turns it off.
  37. Example: LIBTYPE=shared LIBNAME=objpas
  38. Location:
  39. ---------
  40. INC Where to find the .inc files.
  41. Example: INC=inc
  42. PROCINC Where to find processor dependent .inc files
  43. Example: PROCINC=$(CPU)
  44. OSINC Where to find operating system dependent .inc files
  45. Example: OSINC=$(OS_TARGET)
  46. TARGETDIR Where to place all the .o,.ppu,.exe files
  47. Example: TARGETDIR=. (this is needed when you compile
  48. a unit from an other dir, but want the .ppu,.o in the
  49. current directory)
  50. UNITTARGETDIR Where to place the .o,.ppu files, this overrides the
  51. TARGETDIR setting for these files.
  52. Example see TARGETDIR
  53. File Handling:
  54. --------------
  55. MOVE Command to move files
  56. COPY Command to copy files
  57. DEL Command to delete files
  58. DELTREE Command to delete a whole directory tree
  59. INSTALL Command to install a normal file (not executable)
  60. INSTALLEXE Command to install an executable file
  61. MKDIR Command to make a new directory
  62. Tools:
  63. ------
  64. LDCONFIG command to rebuild the ld.so.cache (automaticly set for linux)
  65. PPAS ppas.sh for linux, other os's ppas.bat
  66. PPUMOVE PPUMove program
  67. DIFF GNU Diff
  68. DATE GNU Date (automaticly searched)
  69. SED GNU Sed (automaticly searched)
  70. PWD GNU PWD (automaticly searched)
  71. Directories:
  72. ------------
  73. BASEDIR Current working directory (automaticly loaded using PWD)
  74. RTLDIR Base directory of the Free Pascal RTL. Can also be loaded
  75. from the RTL variable
  76. Default: $BASEDIR/../rtl
  77. UNITDIR Unit directory to add.
  78. Default: $RTLDIR/$OS_TARGET
  79. Installation directories:
  80. -------------------------
  81. BASEINSTALLDIR Base directory where to install all the files.
  82. Default: /pp (linux: /usr/lib/fpc/$VER)
  83. LIBINSTALLDIR Directory to install all libraries
  84. Default: $BASEINSTALLDIR/lib (linux: $BASEINSTALLDIR)
  85. BININSTALLDIR Directory where to install the binaries
  86. Default: $BASEINSTALLDIR/bin/$OS_TARGET (linux: /usr/bin)
  87. UNITINSTALLDIR Directory where to install the normal units
  88. Default: $BASEINSTALLDIR/rtl/$OS_TARGET
  89. STATIC_UNITINSTALLDIR Directory where to install static (smartlinked) units
  90. Default: $BASEINSTALLDIR/rtl/$OS_TARGET/static
  91. SHARED_UNITINSTALLDIR Directory where to install shared linked units
  92. Default: $BASEINSTALLDIR/rtl/$OS_TARGET/shared
  93. STATIC_LIBINSTALLDIR Directory where to install static linked libraries
  94. Default: $STATIC_UNITINSTALLDIR
  95. SHARED_LIBINSTALLDIR Directory where to install shared linked libraries
  96. Default: $SHARED_UNITINSTALLDIR (linux: /usr/lib)
  97. MSGINSTALLDIR Directory where to place the .msg (language) files
  98. Default: $BASEINSTALLDIR/msg
  99. DOCINSTALLDIR: Directory where to install the documentation
  100. Default: $BASEINSTALLDIR/doc (linux: /usr/doc/fpc/$VER)