2
0

Makefile 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330
  1. #
  2. # $Id$
  3. # Copyright (c) 1999 by the Free Pascal Development Team
  4. #
  5. # Makefile for Free Pascal Source Tree
  6. #
  7. # See the file COPYING.FPC, included in this distribution,
  8. # for details about the copyright.
  9. #
  10. # This program is distributed in the hope that it will be useful,
  11. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  13. #
  14. #####################################################################
  15. # Config
  16. #####################################################################
  17. MODULES=compiler rtl api fv gdb ide
  18. ifndef APIDIR
  19. APIDIR=api
  20. endif
  21. ifndef FVDIR
  22. FVDIR=fv
  23. endif
  24. ifndef GDBDIR
  25. GDBDIR=gdbint
  26. endif
  27. ifndef FPINSTDIR
  28. FPINSTDIR=fpinst
  29. endif
  30. ifndef IDEDIR
  31. IDEDIR=ide/text
  32. endif
  33. #####################################################################
  34. # Defaults
  35. #####################################################################
  36. RELEASE=1
  37. #####################################################################
  38. # Main targets
  39. #####################################################################
  40. .PHONY: all clean install staticinstall sharedinstall \
  41. $(addsuffix _all,$(MODULES)) \
  42. $(addsuffix _clean,$(MODULES)) \
  43. $(addsuffix _install,$(MODULES)) \
  44. $(addsuffix _staticinstall,$(MODULES)) \
  45. $(addsuffix _sharedinstall,$(MODULES))
  46. info:
  47. @echo
  48. @echo Please use one of the following targets:
  49. @echo
  50. @echo $(MODULES)
  51. @echo
  52. @echo All targets can follow after a _ with:
  53. @echo all,clean,install,staticinstall,sharedinstall
  54. @echo
  55. @echo example: make api_staticinstall
  56. @exit
  57. all: $(addsuffix _all,$(MODULES))
  58. clean: $(addsuffix _clean,$(MODULES))
  59. install: $(addsuffix _install,$(MODULES))
  60. staticinstall: $(addsuffix _staticinstall,$(MODULES))
  61. sharedinstall: $(addsuffix _sharedinstall,$(MODULES))
  62. #####################################################################
  63. # Include default makefile
  64. #####################################################################
  65. # test if FPCMAKE is still valid
  66. ifndef FPCMAKE
  67. ifdef FPCDIR
  68. FPCMAKE=$(FPCDIR)/makefile.fpc
  69. endif
  70. endif
  71. ifdef FPCMAKE
  72. ifeq ($(strip $(wildcard $(FPCMAKE))),)
  73. FPCDIR=
  74. FPCMAKE=
  75. endif
  76. endif
  77. ifndef FPCDIR
  78. ifdef DEFAULTFPCDIR
  79. FPCDIR=$(DEFAULTFPCDIR)
  80. endif
  81. endif
  82. ifndef FPCMAKE
  83. ifdef FPCDIR
  84. FPCMAKE=$(FPCDIR)/makefile.fpc
  85. else
  86. FPCMAKE=makefile.fpc
  87. endif
  88. endif
  89. override FPCMAKE:=$(strip $(wildcard $(FPCMAKE)))
  90. ifndef FPCMAKE
  91. testfpcmake:
  92. @echo makefile.fpc not found!
  93. @echo Check the FPCMAKE and FPCDIR environment variables.
  94. @stopnow
  95. ifndef NODEFAULTALL
  96. all: testfpcmake
  97. endif
  98. install: testfpcmake
  99. clean: testfpcmake
  100. else
  101. include $(FPCMAKE)
  102. testfpcmake:
  103. endif
  104. #####################################################################
  105. # Dependencies
  106. #####################################################################
  107. #######################################
  108. # Compiler
  109. #######################################
  110. compiler_all:
  111. $(MAKE) -C compiler cycle
  112. compiler_clean:
  113. $(MAKE) -C compiler clean
  114. compiler_install:
  115. $(MAKE) -C compiler install
  116. compiler_installlib:
  117. $(MAKE) -C compiler installlib
  118. compiler_staticinstall:
  119. compiler_sharedinstall:
  120. #######################################
  121. # RTL
  122. #######################################
  123. RTLDIR=rtl/$(OS_TARGET)
  124. rtl_all:
  125. $(MAKE) -C $(RTLDIR) all
  126. rtl_clean:
  127. $(MAKE) -C $(RTLDIR) clean
  128. rtl_install:
  129. $(MAKE) -C $(RTLDIR) install
  130. rtl_staticinstall:
  131. $(MAKE) -C $(RTLDIR) staticlibinstall
  132. rtl_sharedinstall:
  133. $(MAKE) -C $(RTLDIR) sharedlibinstall
  134. #######################################
  135. # API
  136. #######################################
  137. api_all: rtl_all
  138. $(MAKE) -C $(APIDIR) all
  139. api_clean:
  140. $(MAKE) -C $(APIDIR) clean
  141. api_install:
  142. $(MAKE) -C $(APIDIR) install
  143. api_staticinstall:
  144. $(MAKE) -C $(APIDIR) staticlibinstall
  145. api_sharedinstall:
  146. $(MAKE) -C $(APIDIR) sharedlibinstall
  147. #######################################
  148. # FV
  149. #######################################
  150. fv_all: rtl_all api_all
  151. $(MAKE) -C $(FVDIR) all
  152. fv_clean:
  153. $(MAKE) -C $(FVDIR) clean
  154. fv_install:
  155. $(MAKE) -C $(FVDIR) install
  156. fv_staticinstall:
  157. $(MAKE) -C $(FVDIR) staticlibinstall
  158. fv_sharedinstall:
  159. $(MAKE) -C $(FVDIR) sharedlibinstall
  160. #######################################
  161. # GDB
  162. #######################################
  163. gdb_all: rtl_all
  164. $(MAKE) -C $(GDBDIR) all
  165. gdb_clean:
  166. $(MAKE) -C $(GDBDIR) clean
  167. gdb_install:
  168. $(MAKE) -C $(GDBDIR) install
  169. gdb_staticinstall:
  170. $(MAKE) -C $(GDBDIR) staticlibinstall
  171. gdb_sharedinstall:
  172. $(MAKE) -C $(GDBDIR) sharedlibinstall
  173. #######################################
  174. # FPC fpinst
  175. #######################################
  176. fpinst_all: rtl_all api_all fv_all
  177. $(MAKE) -C $(FPINSTDIR) all
  178. fpinst_clean:
  179. $(MAKE) -C $(FPINSTDIR) clean
  180. fpinst_install:
  181. $(MAKE) -C $(FPINSTDIR) install
  182. fpinst_staticinstall:
  183. $(MAKE) -C $(FPINSTDIR) staticlibinstall
  184. fpinst_sharedinstall:
  185. $(MAKE) -C $(FPINSTDIR) sharedlibinstall
  186. #######################################
  187. # IDE
  188. #######################################
  189. ide_all: rtl_all api_all fv_all
  190. $(MAKE) -C $(IDEDIR) all
  191. ide_gdb: rtl_all api_all fv_all gdb_all
  192. $(MAKE) -C $(IDEDIR) gdb
  193. ide_full: rtl_all api_all fv_all
  194. $(MAKE) -C $(IDEDIR) full
  195. ide_fullgdb: rtl_all api_all fv_all gdb_all
  196. $(MAKE) -C $(IDEDIR) fullgdb
  197. ide_clean:
  198. $(MAKE) -C $(IDEDIR) clean
  199. ide_install:
  200. $(MAKE) -C $(IDEDIR) install
  201. ide_staticinstall:
  202. $(MAKE) -C $(IDEDIR) staticlibinstall
  203. ide_sharedinstall:
  204. $(MAKE) -C $(IDEDIR) sharedlibinstall
  205. #######################################
  206. # Packaging targets
  207. #######################################
  208. ifndef ZIPTARGET
  209. ZIPTARGET=install
  210. endif
  211. export ZIPTARGET
  212. export PACKAGEDIR=$(BASEDIR)
  213. idezips: clean
  214. $(MAKE) ide_all
  215. $(MAKE) -C $(IDEDIR) zipinstall ZIPNAME=ide_fake
  216. $(MAKE) ide_clean
  217. $(MAKE) ide_gdb
  218. $(MAKE) -C $(IDEDIR) zipinstall ZIPNAME=ide_gdb
  219. $(MAKE) ide_clean
  220. $(MAKE) ide_full
  221. $(MAKE) -C $(IDEDIR) zipinstall ZIPNAME=ide_comp
  222. $(MAKE) ide_clean
  223. $(MAKE) ide_fullgdb
  224. $(MAKE) -C $(IDEDIR) zipinstall ZIPNAME=ide_full
  225. fvzip: rtl_clean api_clean fv_clean
  226. $(MAKE) api_all
  227. $(MAKE) -C $(APIDIR) zipinstall ZIPNAME=fv-$(PACKAGESUFFIX)
  228. $(MAKE) fv_all
  229. $(MAKE) -C $(FVDIR) zipinstalladd ZIPNAME=fv-$(PACKAGESUFFIX)
  230. compilerzip: #compiler_clean rtl_clean
  231. $(MAKE) compiler_all
  232. $(MAKE) -C compiler zipinstall ZIPTARGET=quickinstall ZIPNAME=compiler-$(PACKAGESUFFIX)
  233. $(MAKE) -C $(RTLDIR) zipinstalladd ZIPNAME=compiler-$(PACKAGESUFFIX)
  234. #
  235. # $Log$
  236. # Revision 1.8 1999-03-16 00:46:54 peter
  237. # * makefile.fpc targets start with fpc_
  238. # * small updates for install scripts
  239. #
  240. # Revision 1.7 1999/03/09 01:35:46 peter
  241. # * makefile.fpc updates and defaultfpcdir var
  242. #
  243. #