Makefile 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379
  1. #
  2. # Makefile generated by fpcmake v0.99.13 on 1999-12-23 14:38
  3. #
  4. defaultrule: all
  5. #####################################################################
  6. # Autodetect OS (Linux or Dos or Windows NT)
  7. # define inlinux when running under linux
  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. inlinux=1
  23. endif
  24. else
  25. PWD:=$(firstword $(PWD))
  26. endif
  27. # Detect NT - NT sets OS to Windows_NT
  28. ifndef inlinux
  29. ifeq ($(OS),Windows_NT)
  30. inWinNT=1
  31. endif
  32. endif
  33. # Detect OS/2 - OS/2 has OS2_SHELL defined
  34. ifndef inlinux
  35. ifndef inWinNT
  36. ifdef OS2_SHELL
  37. inOS2=1
  38. endif
  39. endif
  40. endif
  41. # The extension of executables
  42. ifdef inlinux
  43. EXEEXT=
  44. else
  45. EXEEXT=.exe
  46. endif
  47. # The path which is search separated by spaces
  48. ifdef inlinux
  49. SEARCHPATH=$(subst :, ,$(PATH))
  50. else
  51. SEARCHPATH=$(subst ;, ,$(PATH))
  52. endif
  53. #####################################################################
  54. # FPC version/target Detection
  55. #####################################################################
  56. # What compiler to use ?
  57. ifndef FPC
  58. # Compatibility with old makefiles
  59. ifdef PP
  60. export FPC=$(PP)
  61. else
  62. ifdef inOS2
  63. export FPC=ppos2$(EXEEXT)
  64. else
  65. export FPC=ppc386$(EXEEXT)
  66. endif
  67. endif
  68. endif
  69. # Target OS
  70. ifndef OS_TARGET
  71. export OS_TARGET:=$(shell $(FPC) -iTO)
  72. endif
  73. # Source OS
  74. ifndef OS_SOURCE
  75. export OS_SOURCE:=$(shell $(FPC) -iSO)
  76. endif
  77. # Target CPU
  78. ifndef CPU_TARGET
  79. export CPU_TARGET:=$(shell $(FPC) -iTP)
  80. endif
  81. # Source CPU
  82. ifndef CPU_SOURCE
  83. export CPU_SOURCE:=$(shell $(FPC) -iSP)
  84. endif
  85. # FPC version
  86. ifndef FPC_VERSION
  87. export FPC_VERSION:=$(shell $(FPC) -iV)
  88. endif
  89. #####################################################################
  90. # Default Settings
  91. #####################################################################
  92. # Release ? Then force OPT and don't use extra opts via commandline
  93. ifndef REDIRFILE
  94. REDIRFILE=log
  95. endif
  96. ifdef RELEASE
  97. override OPT:=-Xs -OG2p3 -n
  98. endif
  99. # Verbose settings (warning,note,info)
  100. ifdef VERBOSE
  101. override OPT+=-vwni
  102. endif
  103. ifdef REDIR
  104. ifndef inlinux
  105. override FPC=redir -eo $(FPC)
  106. endif
  107. # set the verbosity to max
  108. override OPT+=-va
  109. override REDIR:= >> $(REDIRFILE)
  110. endif
  111. #####################################################################
  112. # User Settings
  113. #####################################################################
  114. # Targets
  115. override DIROBJECTS+=$(wildcard linux examples build)
  116. # Clean
  117. # Install
  118. ZIPTARGET=install
  119. # Defaults
  120. # Directories
  121. ifndef PACKAGEDIR
  122. PACKAGEDIR=$(FPCDIR)/packages
  123. endif
  124. ifndef COMPONENTDIR
  125. COMPONENTDIR=$(FPCDIR)/components
  126. endif
  127. # Packages
  128. # Libraries
  129. #####################################################################
  130. # Standard rules
  131. #####################################################################
  132. all: $(addsuffix _all,$(OS_TARGET))
  133. debug: $(addsuffix _debug,$(OS_TARGET))
  134. test: $(addsuffix _test,$(OS_TARGET))
  135. smart: $(addsuffix _smart,$(OS_TARGET))
  136. shared: $(addsuffix _shared,$(OS_TARGET))
  137. showinstall: $(addsuffix _showinstall,$(OS_TARGET))
  138. install: $(addsuffix _install,$(OS_TARGET))
  139. sourceinstall: $(addsuffix _sourceinstall,$(OS_TARGET))
  140. zipinstall: $(addsuffix _zipinstall,$(OS_TARGET))
  141. zipinstalladd: $(addsuffix _zipinstalladd,$(OS_TARGET))
  142. clean: $(addsuffix _clean,$(DIROBJECTS))
  143. cleanall: $(addsuffix _cleanall,$(DIROBJECTS))
  144. depend: $(addsuffix _depend,$(DIROBJECTS))
  145. .PHONY: all debug test smart shared showinstall install sourceinstall zipinstall zipinstalladd clean cleanall depend
  146. #####################################################################
  147. # Package depends
  148. #####################################################################
  149. ifneq ($(wildcard $(RTLDIR)),)
  150. ifeq ($(wildcard $(RTLDIR)/$(FPCMADE)),)
  151. override COMPILEPACKAGES+=rtl
  152. rtl_package:
  153. $(MAKE) -C $(RTLDIR) all
  154. endif
  155. endif
  156. .PHONY: rtl_package
  157. # Target Dirs
  158. OBJECTDIRLINUX=1
  159. OBJECTDIREXAMPLES=1
  160. OBJECTDIRBUILD=1
  161. # Dir linux
  162. ifdef OBJECTDIRLINUX
  163. .PHONY: linux_all linux_debug linux_examples linux_test linux_smart linux_shared linux_showinstall linux_install linux_sourceinstall linux_zipinstall linux_zipinstalladd linux_clean linux_cleanall linux_depend linux_info
  164. linux_all:
  165. $(MAKE) -C linux all
  166. linux_debug:
  167. $(MAKE) -C linux debug
  168. linux_examples:
  169. $(MAKE) -C linux examples
  170. linux_test:
  171. $(MAKE) -C linux test
  172. linux_smart:
  173. $(MAKE) -C linux smart
  174. linux_shared:
  175. $(MAKE) -C linux shared
  176. linux_showinstall:
  177. $(MAKE) -C linux showinstall
  178. linux_install:
  179. $(MAKE) -C linux install
  180. linux_sourceinstall:
  181. $(MAKE) -C linux sourceinstall
  182. linux_zipinstall:
  183. $(MAKE) -C linux zipinstall
  184. linux_zipinstalladd:
  185. $(MAKE) -C linux zipinstalladd
  186. linux_clean:
  187. $(MAKE) -C linux clean
  188. linux_cleanall:
  189. $(MAKE) -C linux cleanall
  190. linux_depend:
  191. $(MAKE) -C linux depend
  192. linux_info:
  193. $(MAKE) -C linux info
  194. endif
  195. # Dir examples
  196. ifdef OBJECTDIREXAMPLES
  197. .PHONY: examples_all examples_debug examples_examples examples_test examples_smart examples_shared examples_showinstall examples_install examples_sourceinstall examples_zipinstall examples_zipinstalladd examples_clean examples_cleanall examples_depend examples_info
  198. examples_all:
  199. $(MAKE) -C examples all
  200. examples_debug:
  201. $(MAKE) -C examples debug
  202. examples_examples:
  203. $(MAKE) -C examples examples
  204. examples_test:
  205. $(MAKE) -C examples test
  206. examples_smart:
  207. $(MAKE) -C examples smart
  208. examples_shared:
  209. $(MAKE) -C examples shared
  210. examples_showinstall:
  211. $(MAKE) -C examples showinstall
  212. examples_install:
  213. $(MAKE) -C examples install
  214. examples_sourceinstall:
  215. $(MAKE) -C examples sourceinstall
  216. examples_zipinstall:
  217. $(MAKE) -C examples zipinstall
  218. examples_zipinstalladd:
  219. $(MAKE) -C examples zipinstalladd
  220. examples_clean:
  221. $(MAKE) -C examples clean
  222. examples_cleanall:
  223. $(MAKE) -C examples cleanall
  224. examples_depend:
  225. $(MAKE) -C examples depend
  226. examples_info:
  227. $(MAKE) -C examples info
  228. endif
  229. # Dir build
  230. ifdef OBJECTDIRBUILD
  231. .PHONY: build_all build_debug build_examples build_test build_smart build_shared build_showinstall build_install build_sourceinstall build_zipinstall build_zipinstalladd build_clean build_cleanall build_depend build_info
  232. build_all:
  233. $(MAKE) -C build all
  234. build_debug:
  235. $(MAKE) -C build debug
  236. build_examples:
  237. $(MAKE) -C build examples
  238. build_test:
  239. $(MAKE) -C build test
  240. build_smart:
  241. $(MAKE) -C build smart
  242. build_shared:
  243. $(MAKE) -C build shared
  244. build_showinstall:
  245. $(MAKE) -C build showinstall
  246. build_install:
  247. $(MAKE) -C build install
  248. build_sourceinstall:
  249. $(MAKE) -C build sourceinstall
  250. build_zipinstall:
  251. $(MAKE) -C build zipinstall
  252. build_zipinstalladd:
  253. $(MAKE) -C build zipinstalladd
  254. build_clean:
  255. $(MAKE) -C build clean
  256. build_cleanall:
  257. $(MAKE) -C build cleanall
  258. build_depend:
  259. $(MAKE) -C build depend
  260. build_info:
  261. $(MAKE) -C build info
  262. endif
  263. #####################################################################
  264. # Users rules
  265. #####################################################################
  266. .PHONY: examples
  267. examples:
  268. $(MAKE) examples_all