Makefile 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  1. #
  2. # $Id$
  3. # This file is part of the Free Pascal run time library.
  4. # Copyright (c) 1996-98 by Michael van Canneyt
  5. #
  6. # Makefile for the Free Pascal Installation Helpers
  7. #
  8. # See the file COPYING.FPC, included in this distribution,
  9. # for details about the copyright.
  10. #
  11. # This program is distributed in the hope that it will be useful,
  12. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  14. #
  15. #####################################################################
  16. # Defaults
  17. #####################################################################
  18. # Default place of the makefile.fpc
  19. DEFAULTFPCDIR=..
  20. # Test dir if none specified
  21. ifndef BASEINSTALLDIR
  22. BASEINSTALLDIR=/pptest
  23. endif
  24. #####################################################################
  25. # Real targets
  26. #####################################################################
  27. UNITOBJECTS=
  28. EXEOBJECTS=
  29. #####################################################################
  30. # Common targets
  31. #####################################################################
  32. all:
  33. @echo
  34. @echo Possible targets are:
  35. @echo
  36. @echo basego32, basego32.zip
  37. @echo basew32, basew32.zip
  38. @echo
  39. @exit
  40. #####################################################################
  41. # Include default makefile
  42. #####################################################################
  43. # test if FPCMAKE is still valid
  44. ifdef FPCMAKE
  45. ifeq ($(strip $(wildcard $(FPCMAKE))),)
  46. FPCDIR=
  47. FPCMAKE=
  48. endif
  49. endif
  50. ifndef FPCDIR
  51. ifdef DEFAULTFPCDIR
  52. FPCDIR=$(DEFAULTFPCDIR)
  53. endif
  54. endif
  55. ifndef FPCMAKE
  56. ifdef FPCDIR
  57. FPCMAKE=$(FPCDIR)/makefile.fpc
  58. else
  59. FPCMAKE=makefile.fpc
  60. endif
  61. endif
  62. override FPCMAKE:=$(strip $(wildcard $(FPCMAKE)))
  63. ifeq ($(FPCMAKE),)
  64. testfpcmake:
  65. @echo makefile.fpc not found!
  66. @echo Check the FPCMAKE and FPCDIR environment variables.
  67. @exit
  68. else
  69. include $(FPCMAKE)
  70. testfpcmake:
  71. endif
  72. #####################################################################
  73. # Dependencies
  74. #####################################################################
  75. # Directory to the base of the CVS tree
  76. CVSBASE=..
  77. CFG=$(CVSBASE)/rtl/cfg
  78. # Temporary path to pack a file
  79. PACKDIR=$(subst \,/,$(TMP))/pp_tmp
  80. # Use new ppc386
  81. PPNEW=$(BASEDIR)/$(CVSBASE)/compiler/ppc386.exe
  82. # Test dir if none specified
  83. ifndef PACKAGEDIR
  84. PACKAGEDIR=$(BASEDIR)
  85. endif
  86. ##########################################################################
  87. # Default target
  88. ##########################################################################
  89. .PHONY: all clean basego32 basew32
  90. clean:
  91. -$(DEL) *.tpu install.exe install.dat
  92. ##########################################################################
  93. # Install
  94. ##########################################################################
  95. installer:
  96. $(MAKE) -C $(CVSBASE)/rtl/go32v2 all RELEASE=1
  97. $(MAKE) -C $(CVSBASE)/api all RELEASE=1
  98. $(MAKE) -C $(CVSBASE)/fv all RELEASE=1
  99. $(MAKE) -C fpinst all RELEASE=1
  100. ##########################################################################
  101. # Basego32.zip
  102. ##########################################################################
  103. basego32:
  104. # create dirs
  105. $(MKDIR) $(BASEINSTALLDIR)
  106. $(MKDIR) $(DOCINSTALLDIR)
  107. $(MKDIR) $(BININSTALLDIR)
  108. $(MKDIR) $(SOURCEINSTALLDIR)
  109. # readme & whatsnew and docs
  110. $(COPY) doc/*.txt doc/copying* $(DOCINSTALLDIR)
  111. # bingo32 (cwsdpmi,wmemu387.dxe)
  112. $(COPY) bingo32/* $(BININSTALLDIR)
  113. # source (base)
  114. $(COPY) $(CVSBASE)/base/Makefile $(CVSBASE)/base/makefile.fpc $(SOURCEINSTALLDIR)
  115. # compiler
  116. make -C $(CVSBASE)/compiler cycle OS_TARGET=go32v2 RELEASE=1
  117. make -C $(CVSBASE)/compiler install OS_TARGET=go32v2
  118. # rtl go32v2
  119. make -C $(CVSBASE)/rtl/go32v2 clean OS_TARGET=go32v2
  120. make -C $(CVSBASE)/rtl/go32v2 install OS_TARGET=go32v2 RELEASE=1 PP=$(PPNEW)
  121. # rtl go32v2 libs
  122. # make -C $(CVSBASE)/rtl/go32v2 clean OS_TARGET=go32v2
  123. # make -C $(CVSBASE)/rtl/go32v2 libinstall OS_TARGET=go32v2 RELEASE=1 PP=$(PPNEW)
  124. # utils
  125. make -C $(CVSBASE)/utils clean OS_TARGET=go32v2
  126. make -C $(CVSBASE)/utils all OS_TARGET=go32v2 RELEASE=1 PP=$(PPNEW)
  127. make -C $(CVSBASE)/utils install OS_TARGET=go32v2 RELEASE=1 PP=$(PPNEW)
  128. basego32.zip:
  129. make basego32 BASEINSTALLDIR=$(PACKDIR)
  130. cd $(PACKDIR) ; $(ZIPPROG) $(PACKAGEDIR)/basego32.zip * ; cd $(BASEDIR)
  131. $(DELTREE) $(PACKDIR)
  132. ##########################################################################
  133. # basew32.zip
  134. ##########################################################################
  135. basew32:
  136. # create dirs
  137. $(MKDIR) $(BASEINSTALLDIR)
  138. $(MKDIR) $(DOCINSTALLDIR)
  139. $(MKDIR) $(BININSTALLDIR)
  140. $(MKDIR) $(SOURCEINSTALLDIR)
  141. # readme & whatsnew and docs
  142. $(COPY) doc/*.txt doc/copying* $(DOCINSTALLDIR)
  143. # source (base)
  144. $(COPY) $(CVSBASE)/base/Makefile $(CVSBASE)/base/makefile.fpc $(SOURCEINSTALLDIR)
  145. # readme.txt & whatsnew.txt
  146. $(MKDIR) $(BASEINSTALLDIR)
  147. $(COPY) readme.txt whatsnew.txt $(BASEINSTALLDIR)
  148. # compiler, the - is necessary because the files sometimes differ
  149. -make -C $(CVSBASE)/compiler cycle OS_TARGET=win32 RELEASE=1
  150. make -C $(CVSBASE)/compiler install OS_TARGET=win32
  151. # rtl
  152. make -C $(CVSBASE)/rtl/win32 clean OS_TARGET=win32
  153. make -C $(CVSBASE)/rtl/win32 install OS_TARGET=win32 RELEASE=1 PP=$(PPNEW)
  154. # rtl libs
  155. # make -C $(CVSBASE)/rtl/win32 clean OS_TARGET=win32
  156. # make -C $(CVSBASE)/rtl/win32 libinstall OS_TARGET=win32 RELEASE=1 PP=$(PPNEW)
  157. # utils
  158. make -C $(CVSBASE)/utils clean OS_TARGET=win32
  159. make -C $(CVSBASE)/utils install OS_TARGET=win32 RELEASE=1 PP=$(PPNEW)
  160. basew32.zip:
  161. make basew32 BASEINSTALLDIR=$(PACKDIR)
  162. $(MKDIR) $(PACKAGEDIR)
  163. # Maybe you need 4dos for it, becuase unix paths with / are used
  164. cd $(PACKDIR)
  165. $(ZIPPROG) $(PACKAGEDIR)/basew32.zip *
  166. cd $(BASEDIR)
  167. $(DELTREE) $(PACKDIR)
  168. ##########################################################################
  169. # Baseemx.zip
  170. ##########################################################################
  171. baseemx:
  172. # create dirs
  173. $(MKDIR) $(BASEINSTALLDIR)
  174. $(MKDIR) $(DOCINSTALLDIR)
  175. $(MKDIR) $(BININSTALLDIR)
  176. $(MKDIR) $(SOURCEINSTALLDIR)
  177. # readme & whatsnew and docs
  178. $(COPY) doc/*.txt doc/copying* $(DOCINSTALLDIR)
  179. # source (base)
  180. $(COPY) $(CVSBASE)/base/Makefile $(CVSBASE)/base/makefile.fpc $(SOURCEINSTALLDIR)
  181. # compiler
  182. make -C $(CVSBASE)/compiler cycle OS_TARGET=os2 RELEASE=1
  183. make -C $(CVSBASE)/compiler install OS_TARGET=os2
  184. # rtl os2
  185. make -C $(CVSBASE)/rtl/go32v2 clean OS_TARGET=os2
  186. make -C $(CVSBASE)/rtl/go32v2 install OS_TARGET=os2 RELEASE=1 PP=$(PPNEW)
  187. # rtl go32v2 libs
  188. # make -C $(CVSBASE)/rtl/go32v2 clean OS_TARGET=go32v2
  189. # make -C $(CVSBASE)/rtl/go32v2 libinstall OS_TARGET=go32v2 RELEASE=1 PP=$(PPNEW)
  190. # utils
  191. make -C $(CVSBASE)/utils clean OS_TARGET=os2
  192. make -C $(CVSBASE)/utils install OS_TARGET=os2 RELEASE=1 PP=$(PPNEW)
  193. baseemx.zip:
  194. make baseemx BASEINSTALLDIR=$(PACKDIR)
  195. cd $(PACKDIR) ; $(ZIPPROG) $(PACKAGEDIR)/baseemx.zip * ; cd $(BASEDIR)
  196. $(DELTREE) $(PACKDIR)
  197. #
  198. # $Log$
  199. # Revision 1.6 1999-07-22 16:18:07 peter
  200. # * 0.99.12b release updates
  201. #
  202. # Revision 1.5 1999/06/11 13:58:35 peter
  203. # * moved .txt to doc/
  204. #
  205. # Revision 1.4 1999/06/11 13:03:51 peter
  206. # * os2 update, readme,whatsnew in doc/ dir
  207. #
  208. # Revision 1.3 1999/05/30 11:34:33 peter
  209. # * updates to generate the installer
  210. #
  211. # Revision 1.2 1999/05/03 18:04:37 peter
  212. # * updates
  213. #
  214. # Revision 1.1 1998/09/16 16:46:36 peter
  215. # + updates
  216. #
  217. #