Makefile 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. #
  2. # Makefile generated by fpcmake v1.00 [2000/10/27]
  3. #
  4. defaultrule: all
  5. #####################################################################
  6. # Autodetect OS (Linux or Dos or Windows NT)
  7. # define inUnix when running under Unix (Linux,FreeBSD)
  8. # define inWinNT when running under WinNT
  9. #####################################################################
  10. # We need only / in the path
  11. override PATH:=$(subst \,/,$(PATH))
  12. # Search for PWD and determine also if we are under linux
  13. PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(subst ;, ,$(PATH)))))
  14. ifeq ($(PWD),)
  15. PWD:=$(strip $(wildcard $(addsuffix /pwd,$(subst :, ,$(PATH)))))
  16. ifeq ($(PWD),)
  17. nopwd:
  18. @echo You need the GNU utils package to use this Makefile!
  19. @echo Get ftp://ftp.freepascal.org/pub/fpc/dist/go32v2/utilgo32.zip
  20. @exit
  21. else
  22. inUnix=1
  23. endif
  24. else
  25. PWD:=$(firstword $(PWD))
  26. endif
  27. # Detect NT - NT sets OS to Windows_NT
  28. # Detect OS/2 - OS/2 has OS2_SHELL defined
  29. ifndef inUnix
  30. ifeq ($(OS),Windows_NT)
  31. inWinNT=1
  32. else
  33. ifdef OS2_SHELL
  34. inOS2=1
  35. endif
  36. endif
  37. endif
  38. # The extension of executables
  39. ifdef inUnix
  40. SRCEXEEXT=
  41. else
  42. SRCEXEEXT=.exe
  43. endif
  44. # The path which is searched separated by spaces
  45. ifdef inUnix
  46. SEARCHPATH=$(subst :, ,$(PATH))
  47. else
  48. SEARCHPATH=$(subst ;, ,$(PATH))
  49. endif
  50. # Base dir
  51. ifdef PWD
  52. BASEDIR:=$(shell $(PWD))
  53. else
  54. BASEDIR=.
  55. endif
  56. #####################################################################
  57. # FPC version/target Detection
  58. #####################################################################
  59. # What compiler to use ?
  60. ifndef FPC
  61. # Compatibility with old makefiles
  62. ifdef PP
  63. FPC=$(PP)
  64. else
  65. FPC=ppc386
  66. endif
  67. endif
  68. override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
  69. override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
  70. # Target OS
  71. ifndef OS_TARGET
  72. OS_TARGET:=$(shell $(FPC) -iTO)
  73. endif
  74. # Source OS
  75. ifndef OS_SOURCE
  76. OS_SOURCE:=$(shell $(FPC) -iSO)
  77. endif
  78. # Target CPU
  79. ifndef CPU_TARGET
  80. CPU_TARGET:=$(shell $(FPC) -iTP)
  81. endif
  82. # Source CPU
  83. ifndef CPU_SOURCE
  84. CPU_SOURCE:=$(shell $(FPC) -iSP)
  85. endif
  86. # FPC version
  87. ifndef FPC_VERSION
  88. FPC_VERSION:=$(shell $(FPC) -iV)
  89. endif
  90. export FPC OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FPC_VERSION
  91. #####################################################################
  92. # FPCDIR Setting
  93. #####################################################################
  94. # Test FPCDIR to look if the RTL dir exists
  95. ifdef FPCDIR
  96. override FPCDIR:=$(subst \,/,$(FPCDIR))
  97. ifeq ($(wildcard $(FPCDIR)/rtl),)
  98. ifeq ($(wildcard $(FPCDIR)/units),)
  99. override FPCDIR=wrong
  100. endif
  101. endif
  102. else
  103. override FPCDIR=wrong
  104. endif
  105. # Detect FPCDIR
  106. ifeq ($(FPCDIR),wrong)
  107. ifdef inUnix
  108. override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
  109. ifeq ($(wildcard $(FPCDIR)/units),)
  110. override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
  111. endif
  112. else
  113. override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
  114. override FPCDIR:=$(FPCDIR)/..
  115. ifeq ($(wildcard $(FPCDIR)/rtl),)
  116. ifeq ($(wildcard $(FPCDIR)/units),)
  117. override FPCDIR:=$(FPCDIR)/..
  118. ifeq ($(wildcard $(FPCDIR)/rtl),)
  119. ifeq ($(wildcard $(FPCDIR)/units),)
  120. override FPCDIR=c:/pp
  121. endif
  122. endif
  123. endif
  124. endif
  125. endif
  126. endif
  127. #####################################################################
  128. # User Settings
  129. #####################################################################
  130. # Targets
  131. # Clean
  132. # Install
  133. ZIPTARGET=install
  134. # Defaults
  135. # Directories
  136. # Packages
  137. # Libraries
  138. #####################################################################
  139. # Default Directories
  140. #####################################################################
  141. # Linux and freebsd use unix dirs with /usr/bin, /usr/lib
  142. # When zipping use the target as default, when normal install then
  143. # use the source os as default
  144. ifdef ZIPNAME
  145. # Zipinstall
  146. ifeq ($(OS_TARGET),linux)
  147. UNIXINSTALLDIR=1
  148. endif
  149. ifeq ($(OS_TARGET),freebsd)
  150. UNIXINSTALLDIR=1
  151. endif
  152. else
  153. # Normal install
  154. ifeq ($(OS_SOURCE),linux)
  155. UNIXINSTALLDIR=1
  156. endif
  157. ifeq ($(OS_SOURCE),freebsd)
  158. UNIXINSTALLDIR=1
  159. endif
  160. endif
  161. # set the prefix directory where to install everything
  162. ifndef PREFIXINSTALLDIR
  163. ifdef UNIXINSTALLDIR
  164. PREFIXINSTALLDIR=/usr
  165. else
  166. PREFIXINSTALLDIR=/pp
  167. endif
  168. endif
  169. export PREFIXINSTALLDIR
  170. # Where to place the resulting zip files
  171. ifndef DESTZIPDIR
  172. DESTZIPDIR:=$(BASEDIR)
  173. endif
  174. export DESTZIPDIR
  175. #####################################################################
  176. # Redirection
  177. #####################################################################
  178. ifndef REDIRFILE
  179. REDIRFILE=log
  180. endif
  181. ifdef REDIR
  182. ifndef inUnix
  183. override FPC=redir -eo $(FPC)
  184. endif
  185. # set the verbosity to max
  186. override FPCOPT+=-va
  187. override REDIR:= >> $(REDIRFILE)
  188. endif
  189. #####################################################################
  190. # Standard rules
  191. #####################################################################
  192. #####################################################################
  193. # Local Makefile
  194. #####################################################################
  195. ifneq ($(wildcard fpcmake.loc),)
  196. include fpcmake.loc
  197. endif
  198. #####################################################################
  199. # Users rules
  200. #####################################################################
  201. all:
  202. $(MAKE) -C $(OS_TARGET) all