README 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  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. DEFAULTUNITS if this is set then a 'make all' will only compile the units
  39. and not the exes
  40. Location:
  41. ---------
  42. INC Where to find the .inc files.
  43. Example: INC=inc
  44. PROCINC Where to find processor dependent .inc files
  45. Example: PROCINC=$(CPU)
  46. OSINC Where to find operating system dependent .inc files
  47. Example: OSINC=$(OS_TARGET)
  48. TARGETDIR Where to place all the .o,.ppu,.exe files
  49. Example: TARGETDIR=. (this is needed when you compile
  50. a unit from an other dir, but want the .ppu,.o in the
  51. current directory)
  52. UNITTARGETDIR Where to place the .o,.ppu files, this overrides the
  53. TARGETDIR setting for these files.
  54. Example see TARGETDIR
  55. File Handling:
  56. --------------
  57. MOVE Command to move files
  58. COPY Command to copy files
  59. DEL Command to delete files
  60. DELTREE Command to delete a whole directory tree
  61. INSTALL Command to install a normal file (not executable)
  62. INSTALLEXE Command to install an executable file
  63. MKDIR Command to make a new directory
  64. Tools:
  65. ------
  66. LDCONFIG command to rebuild the ld.so.cache (automaticly set for linux)
  67. PPAS ppas.sh for linux, other os's ppas.bat
  68. PPUMOVE PPUMove program
  69. DIFF GNU Diff
  70. DATE GNU Date (automaticly searched)
  71. SED GNU Sed (automaticly searched)
  72. PWD GNU PWD (automaticly searched)
  73. Directories:
  74. ------------
  75. BASEDIR Current working directory (automaticly loaded using PWD)
  76. RTLDIR Base directory of the Free Pascal RTL. Can also be loaded
  77. from the RTL variable
  78. Default: $BASEDIR/../rtl
  79. UNITDIR Unit directory to add.
  80. Default: $RTLDIR/$OS_TARGET
  81. Installation directories:
  82. -------------------------
  83. BASEINSTALLDIR Base directory where to install all the files.
  84. Default: /pp (linux: /usr/lib/fpc/$VER)
  85. LIBINSTALLDIR Directory to install all libraries
  86. Default: $BASEINSTALLDIR/lib (linux: $BASEINSTALLDIR)
  87. BININSTALLDIR Directory where to install the binaries
  88. Default: $BASEINSTALLDIR/bin/$OS_TARGET (linux: /usr/bin)
  89. UNITINSTALLDIR Directory where to install the normal units
  90. Default: $BASEINSTALLDIR/rtl/$OS_TARGET
  91. STATIC_UNITINSTALLDIR Directory where to install static (smartlinked) units
  92. Default: $BASEINSTALLDIR/rtl/$OS_TARGET/static
  93. SHARED_UNITINSTALLDIR Directory where to install shared linked units
  94. Default: $BASEINSTALLDIR/rtl/$OS_TARGET/shared
  95. STATIC_LIBINSTALLDIR Directory where to install static linked libraries
  96. Default: $STATIC_UNITINSTALLDIR
  97. SHARED_LIBINSTALLDIR Directory where to install shared linked libraries
  98. Default: $SHARED_UNITINSTALLDIR (linux: /usr/lib)
  99. MSGINSTALLDIR Directory where to place the .msg (language) files
  100. Default: $BASEINSTALLDIR/msg
  101. DOCINSTALLDIR: Directory where to install the documentation
  102. Default: $BASEINSTALLDIR/doc (linux: /usr/doc/fpc/$VER)