README 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  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. NEEDUNITDIR Realy needed unitdir
  17. PP compiler to use, default is ppc386
  18. Example to compile with version 0.99.8: PP=ppc998
  19. AS assembler to use to compile the loaders
  20. Default: AS=as
  21. LD linker to use
  22. Default: LD=ld
  23. RELEASE setting this to a value (for example RELEASE=1) will compile
  24. for a release, no ppc386.cfg is read an compile is done with
  25. the following settings: '-Xs -OG2p2 -n'
  26. VERBOSE setting this to a value (for example VERBOSE=1) will compile
  27. with more verbosity, this can be used in combination with
  28. the RELEASE option. Verbosity used: '-vwni'
  29. SMARTLINK setting this to YES will create smartlinked files
  30. Example: SMARTLINK=YES
  31. LIBNAME set the outputname for the library to LIBNAME, mostly used
  32. in combination with SMARTLINK to create a one library which
  33. contains all units
  34. Example: LIBNAME=objpas SMARTLINK=yes
  35. LIBTYPE can be set to shared or static to set the library type you
  36. want to create. When shared is set it overrides smartlink
  37. and turns it off.
  38. Example: LIBTYPE=shared LIBNAME=objpas
  39. DEFAULTUNITS if this is set then a 'make all' will only compile the units
  40. and not the exes
  41. NODEFAULTRULES Don't include the default compiler rules. This is needed for
  42. top-makefiles which call other files in subdirs
  43. Location:
  44. ---------
  45. INC Where to find the .inc files.
  46. Example: INC=inc
  47. PROCINC Where to find processor dependent .inc files
  48. Example: PROCINC=$(CPU)
  49. OSINC Where to find operating system dependent .inc files
  50. Example: OSINC=$(OS_TARGET)
  51. TARGETDIR Where to place all the .o,.ppu,.exe files
  52. Example: TARGETDIR=. (this is needed when you compile
  53. a unit from an other dir, but want the .ppu,.o in the
  54. current directory)
  55. UNITTARGETDIR Where to place the .o,.ppu files, this overrides the
  56. TARGETDIR setting for these files.
  57. Example see TARGETDIR
  58. File Handling:
  59. --------------
  60. MOVE Command to move files
  61. COPY Command to copy files
  62. DEL Command to delete files
  63. DELTREE Command to delete a whole directory tree
  64. INSTALL Command to install a normal file (not executable)
  65. INSTALLEXE Command to install an executable file
  66. MKDIR Command to make a new directory
  67. Tools:
  68. ------
  69. LDCONFIG command to rebuild the ld.so.cache (automaticly set for linux)
  70. PPAS ppas.sh for linux, other os's ppas.bat
  71. PPUMOVE PPUMove program
  72. DIFF GNU Diff
  73. DATE GNU Date (automaticly searched)
  74. SED GNU Sed (automaticly searched)
  75. PWD GNU PWD (automaticly searched)
  76. Directories:
  77. -----------
  78. BASEDIR Current working directory (automaticly loaded using PWD)
  79. FPCDIR Base directory of Free Pascal
  80. RTLDIR Directory to the used RTL. This contains already the target
  81. Default: $FPCDIR/rtl/$OS_TARGET
  82. UNITDIR Directory to the currently used units for the target
  83. Default: $FPCDIR/units/$OS_TARGET
  84. Installation directories:
  85. -------------------------
  86. BASEINSTALLDIR Base directory where to install all the files.
  87. Default: /pp (linux: /usr/lib/fpc/$VER)
  88. LIBINSTALLDIR Directory to install all libraries
  89. Default: $BASEINSTALLDIR/lib (linux: $BASEINSTALLDIR)
  90. BININSTALLDIR Directory where to install the binaries
  91. Default: $BASEINSTALLDIR/bin/$OS_TARGET (linux: /usr/bin)
  92. UNITINSTALLDIR Directory where to install the normal units
  93. Default: $BASEINSTALLDIR/rtl/$OS_TARGET
  94. STATIC_UNITINSTALLDIR Directory where to install static (smartlinked) units
  95. Default: $BASEINSTALLDIR/rtl/$OS_TARGET/static
  96. SHARED_UNITINSTALLDIR Directory where to install shared linked units
  97. Default: $BASEINSTALLDIR/rtl/$OS_TARGET/shared
  98. STATIC_LIBINSTALLDIR Directory where to install static linked libraries
  99. Default: $STATIC_UNITINSTALLDIR
  100. SHARED_LIBINSTALLDIR Directory where to install shared linked libraries
  101. Default: $SHARED_UNITINSTALLDIR (linux: /usr/lib)
  102. MSGINSTALLDIR Directory where to place the .msg (language) files
  103. Default: $BASEINSTALLDIR/msg
  104. DOCINSTALLDIR: Directory where to install the documentation
  105. Default: $BASEINSTALLDIR/doc (linux: /usr/doc/fpc/$VER)