makefile 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287
  1. #****************************************************************************
  2. #
  3. # Copyright (c) 1993,96 by Florian Klaempfl
  4. #
  5. #****************************************************************************
  6. #
  7. # makefile for FPKPascal
  8. #
  9. #####################################################################
  10. # Start of configurable section
  11. #####################################################################
  12. # What compiler do you want to use :
  13. # !! If you specify a path, specify an absolute path !!
  14. #PP=/pas/fpk/curver/ppc386
  15. PP=ppc386
  16. # Where do you want to install the units ?
  17. # For each of the systems, a subdirectory OSunits of
  18. # this directry will be created, and the system dependent
  19. # files will be set there.
  20. # For linux:
  21. UNITINSTALLDIR=/usr/lib/ppc/0.99.0
  22. # For dos/os2 :
  23. # UNITINSTALLDIR=\pp\units
  24. # Where do you want to install the (shared or static) run-time libraries ?
  25. # For linux:
  26. LIBINSTALLDIR=/usr/lib
  27. # For dos/os2 :
  28. #LIBINSTALLDIR=\pp\units
  29. # Where do you want the utilities installed ?
  30. # for linux
  31. BININSTALLDIR=/usr/bin
  32. # for DOS, OS/2
  33. # BININSTALLDIR=\pp\bin
  34. # set here the type of the ppc386 you use:
  35. # Choose from: dos go32v2 linux or os2
  36. OS_SRC=linux
  37. # Set redir to YES if you want a log file to be kept.
  38. REDIR=YES
  39. # Set NODEBUG to YES if you DON'T want debugging
  40. NODEBUG=YES
  41. # set target processor type
  42. CPU=i386
  43. # CPU=m68k
  44. # Set REFPATH if you want to generate diffs to a standard RTL
  45. # this can not be a relative path.
  46. REFPATH=/usr/local/fpk/work/0.9.7/rtl
  47. # Where is the diff program ? (No relative paths)
  48. DIFF=diff
  49. # What options do you want to pass to diff ?
  50. DIFFOPTS=-b -c
  51. # Where is the ppumove program ? (set only if you want to make libs)
  52. # Don't specify a relative path.
  53. PPUMOVE=ppumove
  54. #
  55. # Optional configuration settings.
  56. #
  57. # Set any options you wish to give to the compiler
  58. OPT=
  59. # Optional : Specify the place of the log file.
  60. # default is 'log' in the source directory
  61. # REDIRFILE=
  62. # Optional: Error definitions file you want the compiler to use.
  63. # !! If you specify a path, specify an absolute path. !!
  64. # ERRORFILE=
  65. # Optional: The program to create directories.
  66. # Under DOS this is by default 'mkdir'. Under Linux this is 'install -m 755 -d'
  67. # MKDIR=
  68. # Optional: The program to install the files into the destination directory.
  69. # Under DOS this is by default 'copy', under Linux this is 'install -m 644'
  70. # copy will not work with /
  71. # use cp from djgpp instead
  72. # INSTALL=
  73. #######################################################################
  74. # End of configurable section.
  75. # Do not edit after this line.
  76. #######################################################################
  77. # Check debugging.
  78. ifneq (YES,$(NODEBUG))
  79. OPT:=$(OPT) -g
  80. endif
  81. # Check logfile.
  82. ifeq (YES,$(REDIR))
  83. ifdef REDIRFILE
  84. override REDIR:= >> $(REDIRFILE)
  85. else
  86. override REDIR:= >> log
  87. endif
  88. else
  89. REDIR:=
  90. endif
  91. # Check error definitions file.
  92. ifdef ERRORFILE
  93. OPT:= $(OPT) -Fr$(ERRORFILE)
  94. endif
  95. # Check operating system.
  96. ifeq ($(OS_SRC),linux)
  97. DOS=NO
  98. else
  99. DOS=YES
  100. # also redirect the standard error to the redir file
  101. ifdef REDIR
  102. PP:=redir -eo $(PP)
  103. # set the verbosity to max
  104. OPT:=$(OPT) -va
  105. endif
  106. endif
  107. # Check copy delete commands.
  108. # You need cp from GNU to handle / as directory separator
  109. COPY=cp -p
  110. DEL=rm
  111. # To install programs
  112. ifndef INSTALL
  113. ifeq ($(DOS),YES)
  114. INSTALL=copy
  115. else
  116. INSTALL=install
  117. endif
  118. endif
  119. # To make a directory.
  120. ifndef MKDIR
  121. ifeq ($(DOS),YES)
  122. MKDIR=mkdir
  123. else
  124. MKDIR=install -m 755 -d
  125. endif
  126. endif
  127. # add target processor define to command line options
  128. OPT:=$(OPT) -d$(CPU)
  129. # Variables to export
  130. export OS_SRC DOS SEP PP OPT REDIR COPY DEL LIBINSTALLDIR INSTALL MKDIR \
  131. REFPATH CPU PPUMOVE UNITINSTALLDIR
  132. .PHONY: rtl_dos rtl_go32v2 rtl_linux rtl_os2 clean install install_os2 install_linux \
  133. install_go3v2 install_dos native diffs diffclean libs libinstall utils\
  134. utils_install
  135. native: rtl$(OS_SRC)
  136. nativelibs : $(OS_SRC)libs
  137. all: rtldos rtlgo32v2 rtllinux rtlos2
  138. libs: doslibs go32v2libs linuxlibs os2libs
  139. diffs: diffs_rtl diffs_inc diffs_i386 diffs_m68k diffs_dos diffs_cfg \
  140. diffs_os2 diffs_go32v1 diffs_go32v2 diffs_linux diffs_template
  141. rtldos:
  142. $(MAKE) -C dos/go32v1 CFGFILE=../../cfg/ppdos.cfg OS_TARGET=dos
  143. rtlgo32v2:
  144. $(MAKE) -C dos/go32v2 CFGFILE=../../cfg/ppgo32v2.cfg OS_TARGET=go32v2
  145. rtllinux:
  146. $(MAKE) -C linux CFGFILE=../cfg/pplinux.cfg OS_TARGET=linux
  147. rtlos2:
  148. $(MAKE) -C os2 CFGFILE=../cfg/ppos2.cfg OS_TARGET=os2
  149. doslibs:
  150. $(MAKE) -C dos/go32v1 CFGFILE=../../cfg/ppdos.cfg OS_TARGET=dos libs
  151. go32v2libs:
  152. $(MAKE) -C dos/go32v2 CFGFILE=../../cfg/ppgo32v2.cfg OS_TARGET=go32v2 libs
  153. linuxlibs:
  154. $(MAKE) -C linux CFGFILE=../cfg/pplinux.cfg OS_TARGET=linux libs
  155. os2libs:
  156. $(MAKE) -C os2 CFGFILE=../cfg/ppos2.cfg OS_TARGET=os2 libs
  157. clean:
  158. $(MAKE) -C inc clean
  159. $(MAKE) -C i386 clean
  160. $(MAKE) -C m68k clean
  161. $(MAKE) -C cfg clean
  162. $(MAKE) -C template clean
  163. $(MAKE) -C dos clean
  164. $(MAKE) -C dos/go32v1 clean
  165. $(MAKE) -C dos/go32v2 clean
  166. $(MAKE) -C linux clean
  167. $(MAKE) -C os2 clean
  168. -$(DEL) *.dif
  169. diffclean:
  170. $(MAKE) -C inc diffclean
  171. $(MAKE) -C i386 diffclean
  172. $(MAKE) -C m68k diffclean
  173. $(MAKE) -C cfg diffclean
  174. $(MAKE) -C template diffclean
  175. $(MAKE) -C dos diffclean
  176. $(MAKE) -C dos/go32v1 diffclean
  177. $(MAKE) -C dos/go32v2 diffclean
  178. $(MAKE) -C linux diffclean
  179. $(MAKE) -C os2 diffclean
  180. -$(DEL) *.dif
  181. install: install_linux install_dos install_go32v2 install_os2
  182. libinstall: libinstall_linux libinstall_dos libinstall_go32v2 libinstall_os2
  183. native_install: install_$(OS_SRC)
  184. native_libinstall: libinstall_$(OS_SRC)
  185. makefile.dif : makefile
  186. -$(DIFF) $(DIFFOPTS) makefile $(REFPATH)/makefile > makefile.dif
  187. diffs_rtl: makefile.dif
  188. diffs_dos:
  189. $(MAKE) -C dos diffs
  190. diffs_inc:
  191. $(MAKE) -C inc diffs
  192. diffs_i386:
  193. $(MAKE) -C i386 diffs
  194. diffs_m68k:
  195. $(MAKE) -C m68k diffs
  196. diffs_cfg:
  197. $(MAKE) -C cfg diffs
  198. diffs_template:
  199. $(MAKE) -C template diffs
  200. diffs_go32v1:
  201. $(MAKE) -C dos/go32v1 diffs
  202. diffs_go32v2:
  203. $(MAKE) -C dos/go32v2 diffs
  204. diffs_linux:
  205. $(MAKE) -C linux diffs
  206. diffs_os2:
  207. $(MAKE) -C os2 diffs
  208. install_dos:
  209. $(MAKE) -C dos/go32v1 install
  210. install_go32v2:
  211. $(MAKE) -C dos/go32v2 install
  212. install_linux:
  213. $(MAKE) -C linux install
  214. install_os2:
  215. $(MAKE) -C os2 install
  216. libinstall_dos:
  217. $(MAKE) -C dos/go32v1 libinstall
  218. libinstall_go32v2:
  219. $(MAKE) -C dos/go32v2 libinstall
  220. libinstall_linux:
  221. $(MAKE) -C linux libinstall
  222. libinstall_os2:
  223. $(MAKE) -C os2 libinstall
  224. utils:
  225. $(MAKE) -C utils all
  226. utils_install:
  227. $(MAKE) -C utils install