Makefile 63 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917
  1. #
  2. # Don't edit, this file is generated by FPCMake Version 2.0.0 [2005/05/05]
  3. #
  4. default: all
  5. MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-emx i386-watcom i386-netwlibc m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos powerpc-linux powerpc-netbsd powerpc-macos powerpc-darwin powerpc-morphos sparc-linux sparc-netbsd sparc-solaris x86_64-linux x86_64-freebsd arm-linux
  6. BSDs = freebsd netbsd openbsd darwin
  7. UNIXs = linux $(BSDs) solaris qnx
  8. LIMIT83fs = go32v2 os2 emx watcom
  9. FORCE:
  10. .PHONY: FORCE
  11. override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
  12. ifneq ($(findstring darwin,$(OSTYPE)),)
  13. inUnix=1 #darwin
  14. SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
  15. else
  16. ifeq ($(findstring ;,$(PATH)),)
  17. inUnix=1
  18. SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
  19. else
  20. SEARCHPATH:=$(subst ;, ,$(PATH))
  21. endif
  22. endif
  23. SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
  24. PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
  25. ifeq ($(PWD),)
  26. PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
  27. ifeq ($(PWD),)
  28. $(error You need the GNU utils package to use this Makefile)
  29. else
  30. PWD:=$(firstword $(PWD))
  31. SRCEXEEXT=
  32. endif
  33. else
  34. PWD:=$(firstword $(PWD))
  35. SRCEXEEXT=.exe
  36. endif
  37. ifndef inUnix
  38. ifeq ($(OS),Windows_NT)
  39. inWinNT=1
  40. else
  41. ifdef OS2_SHELL
  42. inOS2=1
  43. endif
  44. endif
  45. else
  46. ifneq ($(findstring cygdrive,$(PATH)),)
  47. inCygWin=1
  48. endif
  49. endif
  50. ifdef inUnix
  51. SRCBATCHEXT=.sh
  52. else
  53. ifdef inOS2
  54. SRCBATCHEXT=.cmd
  55. else
  56. SRCBATCHEXT=.bat
  57. endif
  58. endif
  59. ifdef inUnix
  60. PATHSEP=/
  61. else
  62. PATHSEP:=$(subst /,\,/)
  63. ifdef inCygWin
  64. PATHSEP=/
  65. endif
  66. endif
  67. ifdef PWD
  68. BASEDIR:=$(subst \,/,$(shell $(PWD)))
  69. ifdef inCygWin
  70. ifneq ($(findstring /cygdrive/,$(BASEDIR)),)
  71. BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR))
  72. BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR)))
  73. BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR))
  74. endif
  75. endif
  76. else
  77. BASEDIR=.
  78. endif
  79. ifdef inOS2
  80. ifndef ECHO
  81. ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
  82. ifeq ($(ECHO),)
  83. ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
  84. ifeq ($(ECHO),)
  85. ECHO=echo
  86. else
  87. ECHO:=$(firstword $(ECHO))
  88. endif
  89. else
  90. ECHO:=$(firstword $(ECHO))
  91. endif
  92. endif
  93. export ECHO
  94. endif
  95. override OS_TARGET_DEFAULT=darwin
  96. override DEFAULT_FPCDIR=../..
  97. ifndef FPC
  98. ifdef PP
  99. FPC=$(PP)
  100. endif
  101. endif
  102. ifndef FPC
  103. FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
  104. ifneq ($(FPCPROG),)
  105. FPCPROG:=$(firstword $(FPCPROG))
  106. FPC:=$(shell $(FPCPROG) -PB)
  107. ifneq ($(findstring Error,$(FPC)),)
  108. override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
  109. endif
  110. else
  111. override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
  112. endif
  113. endif
  114. override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
  115. override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
  116. FOUNDFPC:=$(strip $(wildcard $(FPC)))
  117. ifeq ($(FOUNDFPC),)
  118. FOUNDFPC=$(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))
  119. ifeq ($(FOUNDFPC),)
  120. $(error Compiler $(FPC) not found)
  121. endif
  122. endif
  123. ifndef FPC_COMPILERINFO
  124. FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO)
  125. endif
  126. ifndef FPC_VERSION
  127. FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
  128. endif
  129. export FPC FPC_VERSION FPC_COMPILERINFO
  130. unexport CHECKDEPEND ALLDEPENDENCIES
  131. ifndef CPU_TARGET
  132. ifdef CPU_TARGET_DEFAULT
  133. CPU_TARGET=$(CPU_TARGET_DEFAULT)
  134. endif
  135. endif
  136. ifndef OS_TARGET
  137. ifdef OS_TARGET_DEFAULT
  138. OS_TARGET=$(OS_TARGET_DEFAULT)
  139. endif
  140. endif
  141. ifneq ($(words $(FPC_COMPILERINFO)),5)
  142. FPC_COMPILERINFO+=$(shell $(FPC) -iSP)
  143. FPC_COMPILERINFO+=$(shell $(FPC) -iTP)
  144. FPC_COMPILERINFO+=$(shell $(FPC) -iSO)
  145. FPC_COMPILERINFO+=$(shell $(FPC) -iTO)
  146. endif
  147. ifndef CPU_SOURCE
  148. CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO))
  149. endif
  150. ifndef CPU_TARGET
  151. CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO))
  152. endif
  153. ifndef OS_SOURCE
  154. OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO))
  155. endif
  156. ifndef OS_TARGET
  157. OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
  158. endif
  159. FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
  160. FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
  161. ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
  162. TARGETSUFFIX=$(OS_TARGET)
  163. SOURCESUFFIX=$(OS_SOURCE)
  164. else
  165. TARGETSUFFIX=$(FULL_TARGET)
  166. SOURCESUFFIX=$(FULL_SOURCE)
  167. endif
  168. ifneq ($(FULL_TARGET),$(FULL_SOURCE))
  169. CROSSCOMPILE=1
  170. endif
  171. ifeq ($(findstring makefile,$(MAKECMDGOALS)),)
  172. ifeq ($(findstring $(FULL_TARGET),$(MAKEFILETARGETS)),)
  173. $(error The Makefile doesn't support target $(FULL_TARGET), please run fpcmake first)
  174. endif
  175. endif
  176. ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
  177. BSDhier=1
  178. endif
  179. ifeq ($(OS_TARGET),linux)
  180. linuxHier=1
  181. endif
  182. export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
  183. ifdef FPCDIR
  184. override FPCDIR:=$(subst \,/,$(FPCDIR))
  185. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  186. override FPCDIR=wrong
  187. endif
  188. else
  189. override FPCDIR=wrong
  190. endif
  191. ifdef DEFAULT_FPCDIR
  192. ifeq ($(FPCDIR),wrong)
  193. override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR))
  194. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  195. override FPCDIR=wrong
  196. endif
  197. endif
  198. endif
  199. ifeq ($(FPCDIR),wrong)
  200. ifdef inUnix
  201. override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
  202. ifeq ($(wildcard $(FPCDIR)/units),)
  203. override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
  204. endif
  205. else
  206. override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
  207. override FPCDIR:=$(FPCDIR)/..
  208. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  209. override FPCDIR:=$(FPCDIR)/..
  210. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  211. override FPCDIR:=$(BASEDIR)
  212. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  213. override FPCDIR=c:/pp
  214. endif
  215. endif
  216. endif
  217. endif
  218. endif
  219. ifndef CROSSBINDIR
  220. CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX))
  221. endif
  222. ifndef BINUTILSPREFIX
  223. ifndef CROSSBINDIR
  224. ifdef CROSSCOMPILE
  225. BINUTILSPREFIX=$(CPU_TARGET)-$(OS_TARGET)-
  226. endif
  227. endif
  228. endif
  229. UNITSDIR:=$(wildcard $(FPCDIR)/units/$(TARGETSUFFIX))
  230. ifeq ($(UNITSDIR),)
  231. UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
  232. endif
  233. PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
  234. override PACKAGE_NAME=rtl
  235. PACKAGEDIR_MAIN:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
  236. RTL=..
  237. INC=$(RTL)/inc
  238. PROCINC=$(RTL)/$(CPU_TARGET)
  239. BSDINC=$(RTL)/bsd
  240. BSDPROCINC=$(BSDINC)/$(CPU_TARGET)
  241. OSPROCINC=$(RTL)/darwin/$(CPU_TARGET)
  242. UNIXINC=$(RTL)/unix
  243. UNITPREFIX=rtl
  244. ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
  245. SYSTEMUNIT=system
  246. override FPCOPT+=-dNOMOUSE
  247. else
  248. SYSTEMUNIT="Error: Darwin is not supported for 1.0"
  249. endif
  250. ifdef RELEASE
  251. override FPCOPT+=-Ur
  252. endif
  253. override FPCOPT+=-dFPC_USE_LIBC
  254. OBJPASDIR=$(RTL)/objpas
  255. GRAPHDIR=$(INC)/graph
  256. ifndef USELIBGGI
  257. USELIBGGI=NO
  258. endif
  259. ifeq ($(FULL_TARGET),i386-linux)
  260. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  261. endif
  262. ifeq ($(FULL_TARGET),i386-go32v2)
  263. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  264. endif
  265. ifeq ($(FULL_TARGET),i386-win32)
  266. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  267. endif
  268. ifeq ($(FULL_TARGET),i386-os2)
  269. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  270. endif
  271. ifeq ($(FULL_TARGET),i386-freebsd)
  272. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  273. endif
  274. ifeq ($(FULL_TARGET),i386-beos)
  275. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  276. endif
  277. ifeq ($(FULL_TARGET),i386-netbsd)
  278. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  279. endif
  280. ifeq ($(FULL_TARGET),i386-solaris)
  281. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  282. endif
  283. ifeq ($(FULL_TARGET),i386-qnx)
  284. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  285. endif
  286. ifeq ($(FULL_TARGET),i386-netware)
  287. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  288. endif
  289. ifeq ($(FULL_TARGET),i386-openbsd)
  290. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  291. endif
  292. ifeq ($(FULL_TARGET),i386-wdosx)
  293. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  294. endif
  295. ifeq ($(FULL_TARGET),i386-emx)
  296. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  297. endif
  298. ifeq ($(FULL_TARGET),i386-watcom)
  299. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  300. endif
  301. ifeq ($(FULL_TARGET),i386-netwlibc)
  302. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  303. endif
  304. ifeq ($(FULL_TARGET),m68k-linux)
  305. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  306. endif
  307. ifeq ($(FULL_TARGET),m68k-freebsd)
  308. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  309. endif
  310. ifeq ($(FULL_TARGET),m68k-netbsd)
  311. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  312. endif
  313. ifeq ($(FULL_TARGET),m68k-amiga)
  314. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  315. endif
  316. ifeq ($(FULL_TARGET),m68k-atari)
  317. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  318. endif
  319. ifeq ($(FULL_TARGET),m68k-openbsd)
  320. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  321. endif
  322. ifeq ($(FULL_TARGET),m68k-palmos)
  323. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  324. endif
  325. ifeq ($(FULL_TARGET),powerpc-linux)
  326. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  327. endif
  328. ifeq ($(FULL_TARGET),powerpc-netbsd)
  329. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  330. endif
  331. ifeq ($(FULL_TARGET),powerpc-macos)
  332. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  333. endif
  334. ifeq ($(FULL_TARGET),powerpc-darwin)
  335. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  336. endif
  337. ifeq ($(FULL_TARGET),powerpc-morphos)
  338. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  339. endif
  340. ifeq ($(FULL_TARGET),sparc-linux)
  341. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  342. endif
  343. ifeq ($(FULL_TARGET),sparc-netbsd)
  344. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  345. endif
  346. ifeq ($(FULL_TARGET),sparc-solaris)
  347. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  348. endif
  349. ifeq ($(FULL_TARGET),x86_64-linux)
  350. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  351. endif
  352. ifeq ($(FULL_TARGET),x86_64-freebsd)
  353. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  354. endif
  355. ifeq ($(FULL_TARGET),arm-linux)
  356. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconsts
  357. endif
  358. ifeq ($(FULL_TARGET),i386-linux)
  359. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  360. endif
  361. ifeq ($(FULL_TARGET),i386-go32v2)
  362. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  363. endif
  364. ifeq ($(FULL_TARGET),i386-win32)
  365. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  366. endif
  367. ifeq ($(FULL_TARGET),i386-os2)
  368. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  369. endif
  370. ifeq ($(FULL_TARGET),i386-freebsd)
  371. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  372. endif
  373. ifeq ($(FULL_TARGET),i386-beos)
  374. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  375. endif
  376. ifeq ($(FULL_TARGET),i386-netbsd)
  377. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  378. endif
  379. ifeq ($(FULL_TARGET),i386-solaris)
  380. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  381. endif
  382. ifeq ($(FULL_TARGET),i386-qnx)
  383. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  384. endif
  385. ifeq ($(FULL_TARGET),i386-netware)
  386. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  387. endif
  388. ifeq ($(FULL_TARGET),i386-openbsd)
  389. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  390. endif
  391. ifeq ($(FULL_TARGET),i386-wdosx)
  392. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  393. endif
  394. ifeq ($(FULL_TARGET),i386-emx)
  395. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  396. endif
  397. ifeq ($(FULL_TARGET),i386-watcom)
  398. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  399. endif
  400. ifeq ($(FULL_TARGET),i386-netwlibc)
  401. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  402. endif
  403. ifeq ($(FULL_TARGET),m68k-linux)
  404. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  405. endif
  406. ifeq ($(FULL_TARGET),m68k-freebsd)
  407. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  408. endif
  409. ifeq ($(FULL_TARGET),m68k-netbsd)
  410. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  411. endif
  412. ifeq ($(FULL_TARGET),m68k-amiga)
  413. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  414. endif
  415. ifeq ($(FULL_TARGET),m68k-atari)
  416. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  417. endif
  418. ifeq ($(FULL_TARGET),m68k-openbsd)
  419. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  420. endif
  421. ifeq ($(FULL_TARGET),m68k-palmos)
  422. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  423. endif
  424. ifeq ($(FULL_TARGET),powerpc-linux)
  425. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  426. endif
  427. ifeq ($(FULL_TARGET),powerpc-netbsd)
  428. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  429. endif
  430. ifeq ($(FULL_TARGET),powerpc-macos)
  431. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  432. endif
  433. ifeq ($(FULL_TARGET),powerpc-darwin)
  434. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  435. endif
  436. ifeq ($(FULL_TARGET),powerpc-morphos)
  437. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  438. endif
  439. ifeq ($(FULL_TARGET),sparc-linux)
  440. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  441. endif
  442. ifeq ($(FULL_TARGET),sparc-netbsd)
  443. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  444. endif
  445. ifeq ($(FULL_TARGET),sparc-solaris)
  446. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  447. endif
  448. ifeq ($(FULL_TARGET),x86_64-linux)
  449. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  450. endif
  451. ifeq ($(FULL_TARGET),x86_64-freebsd)
  452. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  453. endif
  454. ifeq ($(FULL_TARGET),arm-linux)
  455. override TARGET_RSTS+=math varutils typinfo classes variants dateutils sysconst rtlconsts
  456. endif
  457. override INSTALL_FPCPACKAGE=y
  458. ifeq ($(FULL_TARGET),i386-linux)
  459. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  460. endif
  461. ifeq ($(FULL_TARGET),i386-go32v2)
  462. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  463. endif
  464. ifeq ($(FULL_TARGET),i386-win32)
  465. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  466. endif
  467. ifeq ($(FULL_TARGET),i386-os2)
  468. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  469. endif
  470. ifeq ($(FULL_TARGET),i386-freebsd)
  471. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  472. endif
  473. ifeq ($(FULL_TARGET),i386-beos)
  474. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  475. endif
  476. ifeq ($(FULL_TARGET),i386-netbsd)
  477. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  478. endif
  479. ifeq ($(FULL_TARGET),i386-solaris)
  480. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  481. endif
  482. ifeq ($(FULL_TARGET),i386-qnx)
  483. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  484. endif
  485. ifeq ($(FULL_TARGET),i386-netware)
  486. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  487. endif
  488. ifeq ($(FULL_TARGET),i386-openbsd)
  489. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  490. endif
  491. ifeq ($(FULL_TARGET),i386-wdosx)
  492. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  493. endif
  494. ifeq ($(FULL_TARGET),i386-emx)
  495. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  496. endif
  497. ifeq ($(FULL_TARGET),i386-watcom)
  498. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  499. endif
  500. ifeq ($(FULL_TARGET),i386-netwlibc)
  501. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  502. endif
  503. ifeq ($(FULL_TARGET),m68k-linux)
  504. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  505. endif
  506. ifeq ($(FULL_TARGET),m68k-freebsd)
  507. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  508. endif
  509. ifeq ($(FULL_TARGET),m68k-netbsd)
  510. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  511. endif
  512. ifeq ($(FULL_TARGET),m68k-amiga)
  513. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  514. endif
  515. ifeq ($(FULL_TARGET),m68k-atari)
  516. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  517. endif
  518. ifeq ($(FULL_TARGET),m68k-openbsd)
  519. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  520. endif
  521. ifeq ($(FULL_TARGET),m68k-palmos)
  522. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  523. endif
  524. ifeq ($(FULL_TARGET),powerpc-linux)
  525. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  526. endif
  527. ifeq ($(FULL_TARGET),powerpc-netbsd)
  528. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  529. endif
  530. ifeq ($(FULL_TARGET),powerpc-macos)
  531. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  532. endif
  533. ifeq ($(FULL_TARGET),powerpc-darwin)
  534. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  535. endif
  536. ifeq ($(FULL_TARGET),powerpc-morphos)
  537. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  538. endif
  539. ifeq ($(FULL_TARGET),sparc-linux)
  540. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  541. endif
  542. ifeq ($(FULL_TARGET),sparc-netbsd)
  543. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  544. endif
  545. ifeq ($(FULL_TARGET),sparc-solaris)
  546. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  547. endif
  548. ifeq ($(FULL_TARGET),x86_64-linux)
  549. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  550. endif
  551. ifeq ($(FULL_TARGET),x86_64-freebsd)
  552. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  553. endif
  554. ifeq ($(FULL_TARGET),arm-linux)
  555. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  556. endif
  557. ifeq ($(FULL_TARGET),i386-linux)
  558. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  559. endif
  560. ifeq ($(FULL_TARGET),i386-go32v2)
  561. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  562. endif
  563. ifeq ($(FULL_TARGET),i386-win32)
  564. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  565. endif
  566. ifeq ($(FULL_TARGET),i386-os2)
  567. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  568. endif
  569. ifeq ($(FULL_TARGET),i386-freebsd)
  570. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  571. endif
  572. ifeq ($(FULL_TARGET),i386-beos)
  573. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  574. endif
  575. ifeq ($(FULL_TARGET),i386-netbsd)
  576. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  577. endif
  578. ifeq ($(FULL_TARGET),i386-solaris)
  579. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  580. endif
  581. ifeq ($(FULL_TARGET),i386-qnx)
  582. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  583. endif
  584. ifeq ($(FULL_TARGET),i386-netware)
  585. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  586. endif
  587. ifeq ($(FULL_TARGET),i386-openbsd)
  588. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  589. endif
  590. ifeq ($(FULL_TARGET),i386-wdosx)
  591. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  592. endif
  593. ifeq ($(FULL_TARGET),i386-emx)
  594. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  595. endif
  596. ifeq ($(FULL_TARGET),i386-watcom)
  597. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  598. endif
  599. ifeq ($(FULL_TARGET),i386-netwlibc)
  600. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  601. endif
  602. ifeq ($(FULL_TARGET),m68k-linux)
  603. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  604. endif
  605. ifeq ($(FULL_TARGET),m68k-freebsd)
  606. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  607. endif
  608. ifeq ($(FULL_TARGET),m68k-netbsd)
  609. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  610. endif
  611. ifeq ($(FULL_TARGET),m68k-amiga)
  612. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  613. endif
  614. ifeq ($(FULL_TARGET),m68k-atari)
  615. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  616. endif
  617. ifeq ($(FULL_TARGET),m68k-openbsd)
  618. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  619. endif
  620. ifeq ($(FULL_TARGET),m68k-palmos)
  621. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  622. endif
  623. ifeq ($(FULL_TARGET),powerpc-linux)
  624. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  625. endif
  626. ifeq ($(FULL_TARGET),powerpc-netbsd)
  627. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  628. endif
  629. ifeq ($(FULL_TARGET),powerpc-macos)
  630. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  631. endif
  632. ifeq ($(FULL_TARGET),powerpc-darwin)
  633. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  634. endif
  635. ifeq ($(FULL_TARGET),powerpc-morphos)
  636. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  637. endif
  638. ifeq ($(FULL_TARGET),sparc-linux)
  639. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  640. endif
  641. ifeq ($(FULL_TARGET),sparc-netbsd)
  642. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  643. endif
  644. ifeq ($(FULL_TARGET),sparc-solaris)
  645. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  646. endif
  647. ifeq ($(FULL_TARGET),x86_64-linux)
  648. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  649. endif
  650. ifeq ($(FULL_TARGET),x86_64-freebsd)
  651. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  652. endif
  653. ifeq ($(FULL_TARGET),arm-linux)
  654. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  655. endif
  656. ifdef REQUIRE_UNITSDIR
  657. override UNITSDIR+=$(REQUIRE_UNITSDIR)
  658. endif
  659. ifdef REQUIRE_PACKAGESDIR
  660. override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
  661. endif
  662. ifdef ZIPINSTALL
  663. ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
  664. UNIXHier=1
  665. endif
  666. else
  667. ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),)
  668. UNIXHier=1
  669. endif
  670. endif
  671. ifndef INSTALL_PREFIX
  672. ifdef PREFIX
  673. INSTALL_PREFIX=$(PREFIX)
  674. endif
  675. endif
  676. ifndef INSTALL_PREFIX
  677. ifdef UNIXHier
  678. INSTALL_PREFIX=/usr/local
  679. else
  680. ifdef INSTALL_FPCPACKAGE
  681. INSTALL_BASEDIR:=/pp
  682. else
  683. INSTALL_BASEDIR:=/$(PACKAGE_NAME)
  684. endif
  685. endif
  686. endif
  687. export INSTALL_PREFIX
  688. ifdef INSTALL_FPCSUBDIR
  689. export INSTALL_FPCSUBDIR
  690. endif
  691. ifndef DIST_DESTDIR
  692. DIST_DESTDIR:=$(BASEDIR)
  693. endif
  694. export DIST_DESTDIR
  695. ifndef COMPILER_UNITTARGETDIR
  696. ifdef PACKAGEDIR_MAIN
  697. COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX)
  698. else
  699. COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX)
  700. endif
  701. endif
  702. ifndef COMPILER_TARGETDIR
  703. COMPILER_TARGETDIR=.
  704. endif
  705. ifndef INSTALL_BASEDIR
  706. ifdef UNIXHier
  707. ifdef INSTALL_FPCPACKAGE
  708. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
  709. else
  710. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
  711. endif
  712. else
  713. INSTALL_BASEDIR:=$(INSTALL_PREFIX)
  714. endif
  715. endif
  716. ifndef INSTALL_BINDIR
  717. ifdef UNIXHier
  718. INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
  719. else
  720. INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
  721. ifdef INSTALL_FPCPACKAGE
  722. ifdef CROSSCOMPILE
  723. ifdef CROSSINSTALL
  724. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX)
  725. else
  726. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
  727. endif
  728. else
  729. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
  730. endif
  731. endif
  732. endif
  733. endif
  734. ifndef INSTALL_UNITDIR
  735. INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX)
  736. ifdef INSTALL_FPCPACKAGE
  737. ifdef PACKAGE_NAME
  738. INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
  739. endif
  740. endif
  741. endif
  742. ifndef INSTALL_LIBDIR
  743. ifdef UNIXHier
  744. INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
  745. else
  746. INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
  747. endif
  748. endif
  749. ifndef INSTALL_SOURCEDIR
  750. ifdef UNIXHier
  751. ifdef BSDhier
  752. SRCPREFIXDIR=share/src
  753. else
  754. ifdef linuxHier
  755. SRCPREFIXDIR=share/src
  756. else
  757. SRCPREFIXDIR=src
  758. endif
  759. endif
  760. ifdef INSTALL_FPCPACKAGE
  761. ifdef INSTALL_FPCSUBDIR
  762. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
  763. else
  764. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  765. endif
  766. else
  767. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  768. endif
  769. else
  770. ifdef INSTALL_FPCPACKAGE
  771. ifdef INSTALL_FPCSUBDIR
  772. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
  773. else
  774. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
  775. endif
  776. else
  777. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
  778. endif
  779. endif
  780. endif
  781. ifndef INSTALL_DOCDIR
  782. ifdef UNIXHier
  783. ifdef BSDhier
  784. DOCPREFIXDIR=share/doc
  785. else
  786. ifdef linuxHier
  787. DOCPREFIXDIR=share/doc
  788. else
  789. DOCPREFIXDIR=doc
  790. endif
  791. endif
  792. ifdef INSTALL_FPCPACKAGE
  793. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  794. else
  795. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  796. endif
  797. else
  798. ifdef INSTALL_FPCPACKAGE
  799. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
  800. else
  801. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
  802. endif
  803. endif
  804. endif
  805. ifndef INSTALL_EXAMPLEDIR
  806. ifdef UNIXHier
  807. ifdef INSTALL_FPCPACKAGE
  808. ifdef BSDhier
  809. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  810. else
  811. ifdef linuxHier
  812. INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
  813. else
  814. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
  815. endif
  816. endif
  817. else
  818. ifdef BSDhier
  819. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  820. else
  821. ifdef linuxHier
  822. INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  823. else
  824. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  825. endif
  826. endif
  827. endif
  828. else
  829. ifdef INSTALL_FPCPACKAGE
  830. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
  831. else
  832. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
  833. endif
  834. endif
  835. endif
  836. ifndef INSTALL_DATADIR
  837. INSTALL_DATADIR=$(INSTALL_BASEDIR)
  838. endif
  839. ifdef CROSSCOMPILE
  840. ifndef CROSSBINDIR
  841. CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
  842. ifeq ($(CROSSBINDIR),)
  843. CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE))
  844. endif
  845. endif
  846. else
  847. CROSSBINDIR=
  848. endif
  849. BATCHEXT=.bat
  850. LOADEREXT=.as
  851. EXEEXT=.exe
  852. PPLEXT=.ppl
  853. PPUEXT=.ppu
  854. OEXT=.o
  855. ASMEXT=.s
  856. SMARTEXT=.sl
  857. STATICLIBEXT=.a
  858. SHAREDLIBEXT=.so
  859. STATICLIBPREFIX=libp
  860. RSTEXT=.rst
  861. ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
  862. ifeq ($(OS_TARGET),go32v1)
  863. STATICLIBPREFIX=
  864. SHORTSUFFIX=v1
  865. endif
  866. ifeq ($(OS_TARGET),go32v2)
  867. STATICLIBPREFIX=
  868. SHORTSUFFIX=dos
  869. endif
  870. ifeq ($(OS_TARGET),watcom)
  871. STATICLIBPREFIX=
  872. OEXT=.obj
  873. ASMEXT=.asm
  874. SHAREDLIBEXT=.dll
  875. SHORTSUFFIX=wat
  876. endif
  877. ifeq ($(OS_TARGET),linux)
  878. BATCHEXT=.sh
  879. EXEEXT=
  880. HASSHAREDLIB=1
  881. SHORTSUFFIX=lnx
  882. endif
  883. ifeq ($(OS_TARGET),freebsd)
  884. BATCHEXT=.sh
  885. EXEEXT=
  886. HASSHAREDLIB=1
  887. SHORTSUFFIX=fbs
  888. endif
  889. ifeq ($(OS_TARGET),netbsd)
  890. BATCHEXT=.sh
  891. EXEEXT=
  892. HASSHAREDLIB=1
  893. SHORTSUFFIX=nbs
  894. endif
  895. ifeq ($(OS_TARGET),openbsd)
  896. BATCHEXT=.sh
  897. EXEEXT=
  898. HASSHAREDLIB=1
  899. SHORTSUFFIX=obs
  900. endif
  901. ifeq ($(OS_TARGET),win32)
  902. SHAREDLIBEXT=.dll
  903. SHORTSUFFIX=w32
  904. endif
  905. ifeq ($(OS_TARGET),os2)
  906. BATCHEXT=.cmd
  907. AOUTEXT=.out
  908. STATICLIBPREFIX=
  909. SHAREDLIBEXT=.dll
  910. SHORTSUFFIX=os2
  911. ECHO=echo
  912. endif
  913. ifeq ($(OS_TARGET),emx)
  914. BATCHEXT=.cmd
  915. AOUTEXT=.out
  916. STATICLIBPREFIX=
  917. SHAREDLIBEXT=.dll
  918. SHORTSUFFIX=emx
  919. ECHO=echo
  920. endif
  921. ifeq ($(OS_TARGET),amiga)
  922. EXEEXT=
  923. SHAREDLIBEXT=.library
  924. SHORTSUFFIX=amg
  925. endif
  926. ifeq ($(OS_TARGET),morphos)
  927. EXEEXT=
  928. SHAREDLIBEXT=.library
  929. SHORTSUFFIX=mos
  930. endif
  931. ifeq ($(OS_TARGET),atari)
  932. EXEEXT=.ttp
  933. SHORTSUFFIX=ata
  934. endif
  935. ifeq ($(OS_TARGET),beos)
  936. BATCHEXT=.sh
  937. EXEEXT=
  938. SHORTSUFFIX=be
  939. endif
  940. ifeq ($(OS_TARGET),solaris)
  941. BATCHEXT=.sh
  942. EXEEXT=
  943. SHORTSUFFIX=sun
  944. endif
  945. ifeq ($(OS_TARGET),qnx)
  946. BATCHEXT=.sh
  947. EXEEXT=
  948. SHORTSUFFIX=qnx
  949. endif
  950. ifeq ($(OS_TARGET),netware)
  951. EXEEXT=.nlm
  952. STATICLIBPREFIX=
  953. SHORTSUFFIX=nw
  954. endif
  955. ifeq ($(OS_TARGET),netwlibc)
  956. EXEEXT=.nlm
  957. STATICLIBPREFIX=
  958. SHORTSUFFIX=nwl
  959. endif
  960. ifeq ($(OS_TARGET),macos)
  961. BATCHEXT=
  962. EXEEXT=
  963. DEBUGSYMEXT=.xcoff
  964. SHORTSUFFIX=mac
  965. endif
  966. ifeq ($(OS_TARGET),darwin)
  967. BATCHEXT=.sh
  968. EXEEXT=
  969. HASSHAREDLIB=1
  970. SHORTSUFFIX=dwn
  971. endif
  972. else
  973. ifeq ($(OS_TARGET),go32v1)
  974. PPUEXT=.pp1
  975. OEXT=.o1
  976. ASMEXT=.s1
  977. SMARTEXT=.sl1
  978. STATICLIBEXT=.a1
  979. SHAREDLIBEXT=.so1
  980. STATICLIBPREFIX=
  981. SHORTSUFFIX=v1
  982. endif
  983. ifeq ($(OS_TARGET),go32v2)
  984. STATICLIBPREFIX=
  985. SHORTSUFFIX=dos
  986. endif
  987. ifeq ($(OS_TARGET),watcom)
  988. STATICLIBPREFIX=
  989. SHORTSUFFIX=wat
  990. endif
  991. ifeq ($(OS_TARGET),linux)
  992. BATCHEXT=.sh
  993. EXEEXT=
  994. HASSHAREDLIB=1
  995. SHORTSUFFIX=lnx
  996. endif
  997. ifeq ($(OS_TARGET),freebsd)
  998. BATCHEXT=.sh
  999. EXEEXT=
  1000. HASSHAREDLIB=1
  1001. SHORTSUFFIX=fbs
  1002. endif
  1003. ifeq ($(OS_TARGET),netbsd)
  1004. BATCHEXT=.sh
  1005. EXEEXT=
  1006. HASSHAREDLIB=1
  1007. SHORTSUFFIX=nbs
  1008. endif
  1009. ifeq ($(OS_TARGET),openbsd)
  1010. BATCHEXT=.sh
  1011. EXEEXT=
  1012. HASSHAREDLIB=1
  1013. SHORTSUFFIX=obs
  1014. endif
  1015. ifeq ($(OS_TARGET),win32)
  1016. PPUEXT=.ppw
  1017. OEXT=.ow
  1018. ASMEXT=.sw
  1019. SMARTEXT=.slw
  1020. STATICLIBEXT=.aw
  1021. SHAREDLIBEXT=.dll
  1022. SHORTSUFFIX=w32
  1023. endif
  1024. ifeq ($(OS_TARGET),os2)
  1025. BATCHEXT=.cmd
  1026. PPUEXT=.ppo
  1027. ASMEXT=.so2
  1028. OEXT=.oo2
  1029. AOUTEXT=.out
  1030. SMARTEXT=.sl2
  1031. STATICLIBPREFIX=
  1032. STATICLIBEXT=.ao2
  1033. SHAREDLIBEXT=.dll
  1034. SHORTSUFFIX=os2
  1035. ECHO=echo
  1036. endif
  1037. ifeq ($(OS_TARGET),amiga)
  1038. EXEEXT=
  1039. PPUEXT=.ppu
  1040. ASMEXT=.asm
  1041. OEXT=.o
  1042. SMARTEXT=.sl
  1043. STATICLIBEXT=.a
  1044. SHAREDLIBEXT=.library
  1045. SHORTSUFFIX=amg
  1046. endif
  1047. ifeq ($(OS_TARGET),atari)
  1048. PPUEXT=.ppu
  1049. ASMEXT=.s
  1050. OEXT=.o
  1051. SMARTEXT=.sl
  1052. STATICLIBEXT=.a
  1053. EXEEXT=.ttp
  1054. SHORTSUFFIX=ata
  1055. endif
  1056. ifeq ($(OS_TARGET),beos)
  1057. BATCHEXT=.sh
  1058. PPUEXT=.ppu
  1059. ASMEXT=.s
  1060. OEXT=.o
  1061. SMARTEXT=.sl
  1062. STATICLIBEXT=.a
  1063. EXEEXT=
  1064. SHORTSUFFIX=be
  1065. endif
  1066. ifeq ($(OS_TARGET),solaris)
  1067. BATCHEXT=.sh
  1068. PPUEXT=.ppu
  1069. ASMEXT=.s
  1070. OEXT=.o
  1071. SMARTEXT=.sl
  1072. STATICLIBEXT=.a
  1073. EXEEXT=
  1074. SHORTSUFFIX=sun
  1075. endif
  1076. ifeq ($(OS_TARGET),qnx)
  1077. BATCHEXT=.sh
  1078. PPUEXT=.ppu
  1079. ASMEXT=.s
  1080. OEXT=.o
  1081. SMARTEXT=.sl
  1082. STATICLIBEXT=.a
  1083. EXEEXT=
  1084. SHORTSUFFIX=qnx
  1085. endif
  1086. ifeq ($(OS_TARGET),netware)
  1087. STATICLIBPREFIX=
  1088. PPUEXT=.ppu
  1089. OEXT=.o
  1090. ASMEXT=.s
  1091. SMARTEXT=.sl
  1092. STATICLIBEXT=.a
  1093. SHAREDLIBEXT=.nlm
  1094. EXEEXT=.nlm
  1095. SHORTSUFFIX=nw
  1096. endif
  1097. ifeq ($(OS_TARGET),netwlibc)
  1098. STATICLIBPREFIX=
  1099. PPUEXT=.ppu
  1100. OEXT=.o
  1101. ASMEXT=.s
  1102. SMARTEXT=.sl
  1103. STATICLIBEXT=.a
  1104. SHAREDLIBEXT=.nlm
  1105. EXEEXT=.nlm
  1106. SHORTSUFFIX=nwl
  1107. endif
  1108. ifeq ($(OS_TARGET),macos)
  1109. BATCHEXT=
  1110. PPUEXT=.ppu
  1111. ASMEXT=.s
  1112. OEXT=.o
  1113. SMARTEXT=.sl
  1114. STATICLIBEXT=.a
  1115. EXEEXT=
  1116. DEBUGSYMEXT=.xcoff
  1117. SHORTSUFFIX=mac
  1118. endif
  1119. endif
  1120. ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
  1121. FPCMADE=fpcmade.$(SHORTSUFFIX)
  1122. ZIPSUFFIX=$(SHORTSUFFIX)
  1123. ZIPCROSSPREFIX=
  1124. ZIPSOURCESUFFIX=src
  1125. ZIPEXAMPLESUFFIX=exm
  1126. else
  1127. FPCMADE=fpcmade.$(TARGETSUFFIX)
  1128. ZIPSOURCESUFFIX=.source
  1129. ZIPEXAMPLESUFFIX=.examples
  1130. ifdef CROSSCOMPILE
  1131. ZIPSUFFIX=.$(SOURCESUFFIX)
  1132. ZIPCROSSPREFIX=$(TARGETSUFFIX)-
  1133. else
  1134. ZIPSUFFIX=.$(TARGETSUFFIX)
  1135. ZIPCROSSPREFIX=
  1136. endif
  1137. endif
  1138. ifndef ECHO
  1139. ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
  1140. ifeq ($(ECHO),)
  1141. ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
  1142. ifeq ($(ECHO),)
  1143. ECHO= __missing_command_ECHO
  1144. else
  1145. ECHO:=$(firstword $(ECHO))
  1146. endif
  1147. else
  1148. ECHO:=$(firstword $(ECHO))
  1149. endif
  1150. endif
  1151. export ECHO
  1152. ifndef DATE
  1153. DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
  1154. ifeq ($(DATE),)
  1155. DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
  1156. ifeq ($(DATE),)
  1157. DATE= __missing_command_DATE
  1158. else
  1159. DATE:=$(firstword $(DATE))
  1160. endif
  1161. else
  1162. DATE:=$(firstword $(DATE))
  1163. endif
  1164. endif
  1165. export DATE
  1166. ifndef GINSTALL
  1167. GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
  1168. ifeq ($(GINSTALL),)
  1169. GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
  1170. ifeq ($(GINSTALL),)
  1171. GINSTALL= __missing_command_GINSTALL
  1172. else
  1173. GINSTALL:=$(firstword $(GINSTALL))
  1174. endif
  1175. else
  1176. GINSTALL:=$(firstword $(GINSTALL))
  1177. endif
  1178. endif
  1179. export GINSTALL
  1180. ifndef CPPROG
  1181. CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
  1182. ifeq ($(CPPROG),)
  1183. CPPROG= __missing_command_CPPROG
  1184. else
  1185. CPPROG:=$(firstword $(CPPROG))
  1186. endif
  1187. endif
  1188. export CPPROG
  1189. ifndef RMPROG
  1190. RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
  1191. ifeq ($(RMPROG),)
  1192. RMPROG= __missing_command_RMPROG
  1193. else
  1194. RMPROG:=$(firstword $(RMPROG))
  1195. endif
  1196. endif
  1197. export RMPROG
  1198. ifndef MVPROG
  1199. MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
  1200. ifeq ($(MVPROG),)
  1201. MVPROG= __missing_command_MVPROG
  1202. else
  1203. MVPROG:=$(firstword $(MVPROG))
  1204. endif
  1205. endif
  1206. export MVPROG
  1207. ifndef MKDIRPROG
  1208. MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH))))
  1209. ifeq ($(MKDIRPROG),)
  1210. MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH))))
  1211. ifeq ($(MKDIRPROG),)
  1212. MKDIRPROG= __missing_command_MKDIRPROG
  1213. else
  1214. MKDIRPROG:=$(firstword $(MKDIRPROG))
  1215. endif
  1216. else
  1217. MKDIRPROG:=$(firstword $(MKDIRPROG))
  1218. endif
  1219. endif
  1220. export MKDIRPROG
  1221. ifndef ECHOREDIR
  1222. ifndef inUnix
  1223. ECHOREDIR=echo
  1224. else
  1225. ECHOREDIR=$(ECHO)
  1226. endif
  1227. endif
  1228. ifndef COPY
  1229. COPY:=$(CPPROG) -fp
  1230. endif
  1231. ifndef COPYTREE
  1232. COPYTREE:=$(CPPROG) -Rfp
  1233. endif
  1234. ifndef MKDIRTREE
  1235. MKDIRTREE:=$(MKDIRPROG) -p
  1236. endif
  1237. ifndef MOVE
  1238. MOVE:=$(MVPROG) -f
  1239. endif
  1240. ifndef DEL
  1241. DEL:=$(RMPROG) -f
  1242. endif
  1243. ifndef DELTREE
  1244. DELTREE:=$(RMPROG) -rf
  1245. endif
  1246. ifndef INSTALL
  1247. ifdef inUnix
  1248. INSTALL:=$(GINSTALL) -c -m 644
  1249. else
  1250. INSTALL:=$(COPY)
  1251. endif
  1252. endif
  1253. ifndef INSTALLEXE
  1254. ifdef inUnix
  1255. INSTALLEXE:=$(GINSTALL) -c -m 755
  1256. else
  1257. INSTALLEXE:=$(COPY)
  1258. endif
  1259. endif
  1260. ifndef MKDIR
  1261. MKDIR:=$(GINSTALL) -m 755 -d
  1262. endif
  1263. export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
  1264. ifndef PPUMOVE
  1265. PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
  1266. ifeq ($(PPUMOVE),)
  1267. PPUMOVE= __missing_command_PPUMOVE
  1268. else
  1269. PPUMOVE:=$(firstword $(PPUMOVE))
  1270. endif
  1271. endif
  1272. export PPUMOVE
  1273. ifndef FPCMAKE
  1274. FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
  1275. ifeq ($(FPCMAKE),)
  1276. FPCMAKE= __missing_command_FPCMAKE
  1277. else
  1278. FPCMAKE:=$(firstword $(FPCMAKE))
  1279. endif
  1280. endif
  1281. export FPCMAKE
  1282. ifndef ZIPPROG
  1283. ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
  1284. ifeq ($(ZIPPROG),)
  1285. ZIPPROG= __missing_command_ZIPPROG
  1286. else
  1287. ZIPPROG:=$(firstword $(ZIPPROG))
  1288. endif
  1289. endif
  1290. export ZIPPROG
  1291. ifndef TARPROG
  1292. TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
  1293. ifeq ($(TARPROG),)
  1294. TARPROG= __missing_command_TARPROG
  1295. else
  1296. TARPROG:=$(firstword $(TARPROG))
  1297. endif
  1298. endif
  1299. export TARPROG
  1300. ASNAME=$(BINUTILSPREFIX)as
  1301. LDNAME=$(BINUTILSPREFIX)ld
  1302. ARNAME=$(BINUTILSPREFIX)ar
  1303. RCNAME=$(BINUTILSPREFIX)rc
  1304. ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
  1305. ifeq ($(OS_TARGET),win32)
  1306. ifeq ($(CROSSBINDIR),)
  1307. ASNAME=asw
  1308. LDNAME=ldw
  1309. ARNAME=arw
  1310. endif
  1311. endif
  1312. endif
  1313. ifndef ASPROG
  1314. ifdef CROSSBINDIR
  1315. ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
  1316. else
  1317. ASPROG=$(ASNAME)
  1318. endif
  1319. endif
  1320. ifndef LDPROG
  1321. ifdef CROSSBINDIR
  1322. LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
  1323. else
  1324. LDPROG=$(LDNAME)
  1325. endif
  1326. endif
  1327. ifndef RCPROG
  1328. ifdef CROSSBINDIR
  1329. RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
  1330. else
  1331. RCPROG=$(RCNAME)
  1332. endif
  1333. endif
  1334. ifndef ARPROG
  1335. ifdef CROSSBINDIR
  1336. ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
  1337. else
  1338. ARPROG=$(ARNAME)
  1339. endif
  1340. endif
  1341. AS=$(ASPROG)
  1342. LD=$(LDPROG)
  1343. RC=$(RCPROG)
  1344. AR=$(ARPROG)
  1345. PPAS=ppas$(SRCBATCHEXT)
  1346. ifdef inUnix
  1347. LDCONFIG=ldconfig
  1348. else
  1349. LDCONFIG=
  1350. endif
  1351. ifdef DATE
  1352. DATESTR:=$(shell $(DATE) +%Y%m%d)
  1353. else
  1354. DATESTR=
  1355. endif
  1356. ifndef UPXPROG
  1357. ifeq ($(OS_TARGET),go32v2)
  1358. UPXPROG:=1
  1359. endif
  1360. ifeq ($(OS_TARGET),win32)
  1361. UPXPROG:=1
  1362. endif
  1363. ifdef UPXPROG
  1364. UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
  1365. ifeq ($(UPXPROG),)
  1366. UPXPROG=
  1367. else
  1368. UPXPROG:=$(firstword $(UPXPROG))
  1369. endif
  1370. else
  1371. UPXPROG=
  1372. endif
  1373. endif
  1374. export UPXPROG
  1375. ZIPOPT=-9
  1376. ZIPEXT=.zip
  1377. ifeq ($(USETAR),bz2)
  1378. TAROPT=vj
  1379. TAREXT=.tar.bz2
  1380. else
  1381. TAROPT=vz
  1382. TAREXT=.tar.gz
  1383. endif
  1384. ifndef NOCPUDEF
  1385. override FPCOPTDEF=$(CPU_TARGET)
  1386. endif
  1387. ifneq ($(OS_TARGET),$(OS_SOURCE))
  1388. override FPCOPT+=-T$(OS_TARGET)
  1389. endif
  1390. ifeq ($(OS_SOURCE),openbsd)
  1391. override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
  1392. endif
  1393. ifndef CROSSBOOTSTRAP
  1394. ifneq ($(BINUTILSPREFIX),)
  1395. override FPCOPT+=-XP$(BINUTILSPREFIX) -Xc
  1396. endif
  1397. ifneq ($(BINUTILSPREFIX),)
  1398. override FPCOPT+=-Xr$(RLINKPATH)
  1399. endif
  1400. endif
  1401. ifdef UNITDIR
  1402. override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
  1403. endif
  1404. ifdef LIBDIR
  1405. override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
  1406. endif
  1407. ifdef OBJDIR
  1408. override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
  1409. endif
  1410. ifdef INCDIR
  1411. override FPCOPT+=$(addprefix -Fi,$(INCDIR))
  1412. endif
  1413. ifdef LINKSMART
  1414. override FPCOPT+=-XX
  1415. endif
  1416. ifdef CREATESMART
  1417. override FPCOPT+=-CX
  1418. endif
  1419. ifdef DEBUG
  1420. override FPCOPT+=-gl
  1421. override FPCOPTDEF+=DEBUG
  1422. endif
  1423. ifdef RELEASE
  1424. ifeq ($(CPU_TARGET),i386)
  1425. FPCCPUOPT:=-OG2p3
  1426. else
  1427. ifeq ($(CPU_TARGET),powerpc)
  1428. FPCCPUOPT:=-O1
  1429. else
  1430. FPCCPUOPT:=
  1431. endif
  1432. endif
  1433. override FPCOPT+=-Xs $(FPCCPUOPT) -n
  1434. override FPCOPTDEF+=RELEASE
  1435. endif
  1436. ifdef STRIP
  1437. override FPCOPT+=-Xs
  1438. endif
  1439. ifdef OPTIMIZE
  1440. ifeq ($(CPU_TARGET),i386)
  1441. override FPCOPT+=-OG2p3
  1442. endif
  1443. endif
  1444. ifdef VERBOSE
  1445. override FPCOPT+=-vwni
  1446. endif
  1447. ifdef COMPILER_OPTIONS
  1448. override FPCOPT+=$(COMPILER_OPTIONS)
  1449. endif
  1450. ifdef COMPILER_UNITDIR
  1451. override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
  1452. endif
  1453. ifdef COMPILER_LIBRARYDIR
  1454. override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
  1455. endif
  1456. ifdef COMPILER_OBJECTDIR
  1457. override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
  1458. endif
  1459. ifdef COMPILER_INCLUDEDIR
  1460. override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
  1461. endif
  1462. ifdef CROSSBINDIR
  1463. override FPCOPT+=-FD$(CROSSBINDIR)
  1464. endif
  1465. ifdef COMPILER_TARGETDIR
  1466. override FPCOPT+=-FE$(COMPILER_TARGETDIR)
  1467. ifeq ($(COMPILER_TARGETDIR),.)
  1468. override TARGETDIRPREFIX=
  1469. else
  1470. override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
  1471. endif
  1472. endif
  1473. ifdef COMPILER_UNITTARGETDIR
  1474. override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
  1475. ifeq ($(COMPILER_UNITTARGETDIR),.)
  1476. override UNITTARGETDIRPREFIX=
  1477. else
  1478. override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
  1479. endif
  1480. else
  1481. ifdef COMPILER_TARGETDIR
  1482. override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
  1483. override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
  1484. endif
  1485. endif
  1486. ifeq ($(OS_TARGET),linux)
  1487. ifeq ($(FPC_VERSION),1.0.6)
  1488. override FPCOPTDEF+=HASUNIX
  1489. endif
  1490. endif
  1491. ifdef OPT
  1492. override FPCOPT+=$(OPT)
  1493. endif
  1494. ifdef FPCOPTDEF
  1495. override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
  1496. endif
  1497. ifdef CFGFILE
  1498. override FPCOPT+=@$(CFGFILE)
  1499. endif
  1500. ifdef USEENV
  1501. override FPCEXTCMD:=$(FPCOPT)
  1502. override FPCOPT:=!FPCEXTCMD
  1503. export FPCEXTCMD
  1504. endif
  1505. override COMPILER:=$(FPC) $(FPCOPT)
  1506. ifeq (,$(findstring -s ,$(COMPILER)))
  1507. EXECPPAS=
  1508. else
  1509. ifeq ($(FULL_SOURCE),$(FULL_TARGET))
  1510. EXECPPAS:=@$(PPAS)
  1511. endif
  1512. endif
  1513. .PHONY: fpc_units
  1514. ifneq ($(TARGET_UNITS),)
  1515. override ALLTARGET+=fpc_units
  1516. override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS))
  1517. override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS))
  1518. override INSTALLPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
  1519. override CLEANPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
  1520. endif
  1521. fpc_units: $(COMPILER_UNITTARGETDIR) $(UNITPPUFILES)
  1522. ifdef TARGET_RSTS
  1523. override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
  1524. override CLEANRSTFILES+=$(RSTFILES)
  1525. endif
  1526. .PHONY: fpc_all fpc_smart fpc_debug fpc_release
  1527. $(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
  1528. @$(ECHOREDIR) Compiled > $(FPCMADE)
  1529. fpc_all: $(FPCMADE)
  1530. fpc_smart:
  1531. $(MAKE) all LINKSMART=1 CREATESMART=1
  1532. fpc_debug:
  1533. $(MAKE) all DEBUG=1
  1534. fpc_release:
  1535. $(MAKE) all RELEASE=1
  1536. .SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res
  1537. $(COMPILER_UNITTARGETDIR):
  1538. $(MKDIRTREE) $(COMPILER_UNITTARGETDIR)
  1539. $(COMPILER_TARGETDIR):
  1540. $(MKDIRTREE) $(COMPILER_TARGETDIR)
  1541. %$(PPUEXT): %.pp
  1542. $(COMPILER) $<
  1543. $(EXECPPAS)
  1544. %$(PPUEXT): %.pas
  1545. $(COMPILER) $<
  1546. $(EXECPPAS)
  1547. %$(EXEEXT): %.pp
  1548. $(COMPILER) $<
  1549. $(EXECPPAS)
  1550. %$(EXEEXT): %.pas
  1551. $(COMPILER) $<
  1552. $(EXECPPAS)
  1553. %$(EXEEXT): %.lpr
  1554. $(COMPILER) $<
  1555. $(EXECPPAS)
  1556. %$(EXEEXT): %.dpr
  1557. $(COMPILER) $<
  1558. $(EXECPPAS)
  1559. %.res: %.rc
  1560. windres -i $< -o $@
  1561. vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1562. vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1563. vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1564. vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1565. vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
  1566. vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
  1567. .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
  1568. ifdef INSTALL_UNITS
  1569. override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
  1570. endif
  1571. ifdef INSTALL_BUILDUNIT
  1572. override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
  1573. endif
  1574. ifdef INSTALLPPUFILES
  1575. override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
  1576. ifneq ($(UNITTARGETDIRPREFIX),)
  1577. override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPUFILES)))
  1578. override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPULINKFILES))))
  1579. endif
  1580. override INSTALL_CREATEPACKAGEFPC=1
  1581. endif
  1582. ifdef INSTALLEXEFILES
  1583. ifneq ($(TARGETDIRPREFIX),)
  1584. override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(notdir $(INSTALLEXEFILES)))
  1585. endif
  1586. endif
  1587. fpc_install: all $(INSTALLTARGET)
  1588. ifdef INSTALLEXEFILES
  1589. $(MKDIR) $(INSTALL_BINDIR)
  1590. ifdef UPXPROG
  1591. -$(UPXPROG) $(INSTALLEXEFILES)
  1592. endif
  1593. $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
  1594. endif
  1595. ifdef INSTALL_CREATEPACKAGEFPC
  1596. ifdef FPCMAKE
  1597. ifdef PACKAGE_VERSION
  1598. ifneq ($(wildcard Makefile.fpc),)
  1599. $(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
  1600. $(MKDIR) $(INSTALL_UNITDIR)
  1601. $(INSTALL) Package.fpc $(INSTALL_UNITDIR)
  1602. endif
  1603. endif
  1604. endif
  1605. endif
  1606. ifdef INSTALLPPUFILES
  1607. $(MKDIR) $(INSTALL_UNITDIR)
  1608. $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
  1609. ifneq ($(INSTALLPPULINKFILES),)
  1610. $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
  1611. endif
  1612. ifneq ($(wildcard $(LIB_FULLNAME)),)
  1613. $(MKDIR) $(INSTALL_LIBDIR)
  1614. $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
  1615. ifdef inUnix
  1616. ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
  1617. endif
  1618. endif
  1619. endif
  1620. ifdef INSTALL_FILES
  1621. $(MKDIR) $(INSTALL_DATADIR)
  1622. $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
  1623. endif
  1624. fpc_sourceinstall: distclean
  1625. $(MKDIR) $(INSTALL_SOURCEDIR)
  1626. $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
  1627. fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
  1628. ifdef HASEXAMPLES
  1629. $(MKDIR) $(INSTALL_EXAMPLEDIR)
  1630. endif
  1631. ifdef EXAMPLESOURCEFILES
  1632. $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
  1633. endif
  1634. ifdef TARGET_EXAMPLEDIRS
  1635. $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
  1636. endif
  1637. .PHONY: fpc_clean fpc_cleanall fpc_distclean
  1638. ifdef EXEFILES
  1639. override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
  1640. endif
  1641. ifdef CLEAN_UNITS
  1642. override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
  1643. endif
  1644. ifdef CLEANPPUFILES
  1645. override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
  1646. ifdef DEBUGSYMEXT
  1647. override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
  1648. endif
  1649. override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
  1650. override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
  1651. endif
  1652. fpc_clean: $(CLEANTARGET)
  1653. ifdef CLEANEXEFILES
  1654. -$(DEL) $(CLEANEXEFILES)
  1655. endif
  1656. ifdef CLEANPPUFILES
  1657. -$(DEL) $(CLEANPPUFILES)
  1658. endif
  1659. ifneq ($(CLEANPPULINKFILES),)
  1660. -$(DEL) $(CLEANPPULINKFILES)
  1661. endif
  1662. ifdef CLEANRSTFILES
  1663. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  1664. endif
  1665. ifdef CLEAN_FILES
  1666. -$(DEL) $(CLEAN_FILES)
  1667. endif
  1668. ifdef LIB_NAME
  1669. -$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
  1670. endif
  1671. -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
  1672. -$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
  1673. fpc_cleanall: $(CLEANTARGET)
  1674. ifdef CLEANEXEFILES
  1675. -$(DEL) $(CLEANEXEFILES)
  1676. endif
  1677. ifdef COMPILER_UNITTARGETDIR
  1678. ifdef CLEANPPUFILES
  1679. -$(DEL) $(CLEANPPUFILES)
  1680. endif
  1681. ifneq ($(CLEANPPULINKFILES),)
  1682. -$(DEL) $(CLEANPPULINKFILES)
  1683. endif
  1684. ifdef CLEANRSTFILES
  1685. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  1686. endif
  1687. endif
  1688. -$(DELTREE) units
  1689. -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
  1690. ifneq ($(PPUEXT),.ppu)
  1691. -$(DEL) *.o *.ppu *.a
  1692. endif
  1693. -$(DELTREE) *$(SMARTEXT)
  1694. -$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
  1695. -$(DEL) *_ppas$(BATCHEXT)
  1696. ifdef AOUTEXT
  1697. -$(DEL) *$(AOUTEXT)
  1698. endif
  1699. ifdef DEBUGSYMEXT
  1700. -$(DEL) *$(DEBUGSYMEXT)
  1701. endif
  1702. fpc_distclean: cleanall
  1703. .PHONY: fpc_baseinfo
  1704. override INFORULES+=fpc_baseinfo
  1705. fpc_baseinfo:
  1706. @$(ECHO)
  1707. @$(ECHO) == Package info ==
  1708. @$(ECHO) Package Name..... $(PACKAGE_NAME)
  1709. @$(ECHO) Package Version.. $(PACKAGE_VERSION)
  1710. @$(ECHO)
  1711. @$(ECHO) == Configuration info ==
  1712. @$(ECHO)
  1713. @$(ECHO) FPC.......... $(FPC)
  1714. @$(ECHO) FPC Version.. $(FPC_VERSION)
  1715. @$(ECHO) Source CPU... $(CPU_SOURCE)
  1716. @$(ECHO) Target CPU... $(CPU_TARGET)
  1717. @$(ECHO) Source OS.... $(OS_SOURCE)
  1718. @$(ECHO) Target OS.... $(OS_TARGET)
  1719. @$(ECHO) Full Source.. $(FULL_SOURCE)
  1720. @$(ECHO) Full Target.. $(FULL_TARGET)
  1721. @$(ECHO) SourceSuffix. $(SOURCESUFFIX)
  1722. @$(ECHO) TargetSuffix. $(TARGETSUFFIX)
  1723. @$(ECHO)
  1724. @$(ECHO) == Directory info ==
  1725. @$(ECHO)
  1726. @$(ECHO) Required pkgs... $(REQUIRE_PACKAGES)
  1727. @$(ECHO)
  1728. @$(ECHO) Basedir......... $(BASEDIR)
  1729. @$(ECHO) FPCDir.......... $(FPCDIR)
  1730. @$(ECHO) CrossBinDir..... $(CROSSBINDIR)
  1731. @$(ECHO) UnitsDir........ $(UNITSDIR)
  1732. @$(ECHO) PackagesDir..... $(PACKAGESDIR)
  1733. @$(ECHO)
  1734. @$(ECHO) GCC library..... $(GCCLIBDIR)
  1735. @$(ECHO) Other library... $(OTHERLIBDIR)
  1736. @$(ECHO)
  1737. @$(ECHO) == Tools info ==
  1738. @$(ECHO)
  1739. @$(ECHO) As........ $(AS)
  1740. @$(ECHO) Ld........ $(LD)
  1741. @$(ECHO) Ar........ $(AR)
  1742. @$(ECHO) Rc........ $(RC)
  1743. @$(ECHO)
  1744. @$(ECHO) Mv........ $(MVPROG)
  1745. @$(ECHO) Cp........ $(CPPROG)
  1746. @$(ECHO) Rm........ $(RMPROG)
  1747. @$(ECHO) GInstall.. $(GINSTALL)
  1748. @$(ECHO) Echo...... $(ECHO)
  1749. @$(ECHO) Shell..... $(SHELL)
  1750. @$(ECHO) Date...... $(DATE)
  1751. @$(ECHO) FPCMake... $(FPCMAKE)
  1752. @$(ECHO) PPUMove... $(PPUMOVE)
  1753. @$(ECHO) Upx....... $(UPXPROG)
  1754. @$(ECHO) Zip....... $(ZIPPROG)
  1755. @$(ECHO)
  1756. @$(ECHO) == Object info ==
  1757. @$(ECHO)
  1758. @$(ECHO) Target Loaders........ $(TARGET_LOADERS)
  1759. @$(ECHO) Target Units.......... $(TARGET_UNITS)
  1760. @$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS)
  1761. @$(ECHO) Target Programs....... $(TARGET_PROGRAMS)
  1762. @$(ECHO) Target Dirs........... $(TARGET_DIRS)
  1763. @$(ECHO) Target Examples....... $(TARGET_EXAMPLES)
  1764. @$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
  1765. @$(ECHO)
  1766. @$(ECHO) Clean Units......... $(CLEAN_UNITS)
  1767. @$(ECHO) Clean Files......... $(CLEAN_FILES)
  1768. @$(ECHO)
  1769. @$(ECHO) Install Units....... $(INSTALL_UNITS)
  1770. @$(ECHO) Install Files....... $(INSTALL_FILES)
  1771. @$(ECHO)
  1772. @$(ECHO) == Install info ==
  1773. @$(ECHO)
  1774. @$(ECHO) DateStr.............. $(DATESTR)
  1775. @$(ECHO) ZipName.............. $(ZIPNAME)
  1776. @$(ECHO) ZipPrefix............ $(ZIPPREFIX)
  1777. @$(ECHO) ZipCrossPrefix....... $(ZIPCROSSPREFIX)
  1778. @$(ECHO) ZipSuffix............ $(ZIPSUFFIX)
  1779. @$(ECHO) FullZipName.......... $(FULLZIPNAME)
  1780. @$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE)
  1781. @$(ECHO)
  1782. @$(ECHO) Install base dir..... $(INSTALL_BASEDIR)
  1783. @$(ECHO) Install binary dir... $(INSTALL_BINDIR)
  1784. @$(ECHO) Install library dir.. $(INSTALL_LIBDIR)
  1785. @$(ECHO) Install units dir.... $(INSTALL_UNITDIR)
  1786. @$(ECHO) Install source dir... $(INSTALL_SOURCEDIR)
  1787. @$(ECHO) Install doc dir...... $(INSTALL_DOCDIR)
  1788. @$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR)
  1789. @$(ECHO) Install data dir..... $(INSTALL_DATADIR)
  1790. @$(ECHO)
  1791. @$(ECHO) Dist destination dir. $(DIST_DESTDIR)
  1792. @$(ECHO) Dist zip name........ $(DIST_ZIPNAME)
  1793. @$(ECHO)
  1794. .PHONY: fpc_info
  1795. fpc_info: $(INFORULES)
  1796. .PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
  1797. fpc_makefile_dirs
  1798. fpc_makefile:
  1799. $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
  1800. fpc_makefile_sub1:
  1801. ifdef TARGET_DIRS
  1802. $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
  1803. endif
  1804. ifdef TARGET_EXAMPLEDIRS
  1805. $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
  1806. endif
  1807. fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
  1808. fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
  1809. fpc_makefiles: fpc_makefile fpc_makefile_dirs
  1810. all: fpc_all
  1811. debug: fpc_debug
  1812. smart: fpc_smart
  1813. release: fpc_release
  1814. units: fpc_units
  1815. examples:
  1816. shared:
  1817. install: fpc_install
  1818. sourceinstall: fpc_sourceinstall
  1819. exampleinstall: fpc_exampleinstall
  1820. distinstall:
  1821. zipinstall:
  1822. zipsourceinstall:
  1823. zipexampleinstall:
  1824. zipdistinstall:
  1825. clean: fpc_clean
  1826. distclean: fpc_distclean
  1827. cleanall: fpc_cleanall
  1828. info: fpc_info
  1829. makefiles: fpc_makefiles
  1830. .PHONY: all debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
  1831. ifneq ($(wildcard fpcmake.loc),)
  1832. include fpcmake.loc
  1833. endif
  1834. include $(INC)/makefile.inc
  1835. SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
  1836. include $(PROCINC)/makefile.cpu
  1837. SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
  1838. SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
  1839. $(SYSTEMUNIT)$(PPUEXT) : $(BSDINC)/$(SYSTEMUNIT).pp $(SYSDEPS)
  1840. $(COMPILER) -Us -Sg $(BSDINC)/$(SYSTEMUNIT).pp
  1841. objpas$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT) $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT)
  1842. $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp
  1843. dateutils$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) sysutils$(PPUEXT) math$(PPUEXT) types$(PPUEXT) sysconst$(PPUEXT) $(OBJPASDIR)/dateutils.pp baseunix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1844. $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/dateutils.pp
  1845. strings$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) $(INC)/strings.pp $(INC)/stringsi.inc\
  1846. $(PROCINC)/strings.inc $(PROCINC)/stringss.inc\
  1847. $(SYSTEMUNIT)$(PPUEXT)
  1848. baseunix$(PPUEXT) : unixtype$(PPUEXT) sysctl$(PPUEXT) errno.inc ptypes.inc $(UNIXINC)/ctypes.inc \
  1849. signal.inc $(UNIXINC)/bunxh.inc \
  1850. $(BSDINC)/bunxsysc.inc \
  1851. $(BSDINC)/ostypes.inc $(BSDINC)/osmacro.inc $(UNIXINC)/gensigset.inc \
  1852. $(UNIXINC)/genfuncs.inc $(SYSTEMUNIT)$(PPUEXT)
  1853. unixtype$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) $(UNIXINC)/unixtype.pp ptypes.inc $(UNIXINC)/ctypes.inc $(SYSTEMUNIT)$(PPUEXT)
  1854. unix$(PPUEXT) : unixtype$(PPUEXT) baseunix$(PPUEXT) unixutil$(PPUEXT) strings$(PPUEXT) $(UNIXINC)/unix.pp strings$(PPUEXT) $(INC)/textrec.inc $(INC)/filerec.inc \
  1855. unxconst.inc $(UNIXINC)/timezone.inc \
  1856. unxfunc.inc baseunix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1857. unixutil$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT)
  1858. dynlibs$(PPUEXT) : dl$(PPUEXT)
  1859. ctypes$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) unixtype$(PPUEXT)
  1860. dos$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) strings$(PPUEXT) unix$(PPUEXT) $(UNIXINC)/dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) \
  1861. unix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1862. crt$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) unix$(PPUEXT) termio$(PPUEXT) $(UNIXINC)/crt.pp $(INC)/textrec.inc unix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1863. objects$(PPUEXT) : dos$(PPUEXT) $(INC)/objects.pp $(SYSTEMUNIT)$(PPUEXT)
  1864. printer$(PPUEXT) : unix$(PPUEXT) strings$(PPUEXT) baseunix$(PPUEXT) $(UNIXINC)/printer.pp $(INC)/textrec.inc unix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1865. sysutils$(PPUEXT) : objpas$(PPUEXT) unix$(PPUEXT) errors$(PPUEXT) sysconst$(PPUEXT) $(UNIXINC)/sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \
  1866. objpas$(PPUEXT) unix$(PPUEXT) errors$(PPUEXT) sysconst$(PPUEXT)
  1867. $(COMPILER) -Fi$(OBJPASDIR)/sysutils $(UNIXINC)/sysutils.pp
  1868. classes$(PPUEXT) : sysutils$(PPUEXT) rtlconsts$(PPUEXT) types$(PPUEXT) typinfo$(PPUEXT) unix$(PPUEXT) $(UNIXINC)/classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
  1869. sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) types$(PPUEXT)
  1870. $(COMPILER) -Fi$(OBJPASDIR)/classes $(UNIXINC)/classes.pp
  1871. typinfo$(PPUEXT): sysutils$(PPUEXT) $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT) rtlconsts$(PPUEXT)
  1872. $(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp
  1873. math$(PPUEXT): sysutils$(PPUEXT) $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT)
  1874. $(COMPILER) $(OBJPASDIR)/math.pp
  1875. gettext$(PPUEXT): sysutils$(PPUEXT) $(OBJPASDIR)/gettext.pp objpas$(PPUEXT) sysutils$(PPUEXT)
  1876. $(COMPILER) $(OBJPASDIR)/gettext.pp
  1877. varutils$(PPUEXT) : sysutils$(PPUEXT) $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \
  1878. $(OBJPASDIR)/varutilh.inc varutils.pp
  1879. $(COMPILER) -I$(OBJPASDIR) $(UNIXINC)/varutils.pp
  1880. types$(PPUEXT) : $(OBJPASDIR)/types.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1881. $(COMPILER) $(OBJPASDIR)/types.pp
  1882. sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1883. $(COMPILER) $(OBJPASDIR)/sysconst.pp
  1884. rtlconsts$(PPUEXT) : $(OBJPASDIR)/rtlconsts.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1885. $(COMPILER) $(OBJPASDIR)/rtlconsts.pp
  1886. strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  1887. sysutils$(PPUEXT)
  1888. $(COMPILER) $(OBJPASDIR)/strutils.pp
  1889. variants$(PPUEXT) : $(INC)/variants.pp sysutils$(PPUEXT) sysconst$(PPUEXT) varutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT)
  1890. $(COMPILER) -Fi$(INC) $(INC)/variants.pp
  1891. macpas$(PPUEXT) : $(INC)/macpas.pp $(SYSTEMUNIT)$(PPUEXT)
  1892. $(COMPILER) $(INC)/macpas.pp $(REDIR)
  1893. video$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) $(INC)/video.inc $(INC)/videoh.inc $(UNIXINC)/video.pp baseunix$(PPUEXT) strings$(PPUEXT) terminfo$(PPUEXT) termio$(PPUEXT)
  1894. keyboard$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) $(INC)/keyboard.inc $(INC)/keybrdh.inc $(UNIXINC)/keyboard.pp mouse$(PPUEXT) strings$(PPUEXT) terminfo$(PPUEXT) termio$(PPUEXT) baseunix$(PPUEXT)
  1895. matrix$(PPUEXT) : $(INC)/matrix.pp $(SYSTEMUNIT)$(PPUEXT)
  1896. cpu$(PPUEXT) : $(PROCINC)/cpu.pp $(SYSTEMUNIT)$(PPUEXT)
  1897. mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1898. getopts$(PPUEXT) : $(INC)/getopts.pp $(SYSTEMUNIT)$(PPUEXT)
  1899. heaptrc$(PPUEXT) : $(INC)/heaptrc.pp $(SYSTEMUNIT)$(PPUEXT)
  1900. $(COMPILER) -Sg $(INC)/heaptrc.pp
  1901. lineinfo$(PPUEXT) : $(INC)/lineinfo.pp $(SYSTEMUNIT)$(PPUEXT) strings$(PPUEXT)
  1902. charset$(PPUEXT) : $(INC)/charset.pp objpas$(PPUEXT)
  1903. ucomplex$(PPUEXT) : $(INC)/ucomplex.pp math$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) math$(PPUEXT)
  1904. termio$(PPUEXT) : baseunix$(PPUEXT)
  1905. mouse$(PPUEXT) : baseunix$(PPUEXT) video$(PPUEXT)
  1906. dl$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) unixtype$(PPUEXT)
  1907. sockets$(PPUEXT) : $(UNIXINC)/sockets.pp $(INC)/textrec.inc $(INC)/filerec.inc \
  1908. unix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) unixtype$(PPUEXT) baseunix$(PPUEXT) initc$(PPUEXT)
  1909. errors$(PPUEXT) : $(UNIXINC)/errors.pp strings$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) strings$(PPUEXT)
  1910. ipc$(PPUEXT) : $(UNIXINC)/ipc.pp unix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) baseunix$(PPUEXT) syscall$(PPUEXT)
  1911. terminfo$(PPUEXT) : terminfo.pp baseunix$(PPUEXT)
  1912. cmem$(PPUEXT) : $(INC)/cmem.pp $(SYSTEMUNIT)$(PPUEXT)
  1913. sysctl$(PPUEXT) : $(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT)
  1914. cthreads$(PPUEXT) : $(UNIXINC)/cthreads.pp unix$(PPUEXT) sysutils$(PPUEXT)
  1915. initc$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT)
  1916. console$(PPUEXT) : baseunix$(PPUEXT) termio$(PPUEXT)
  1917. ctypes$(PPUEXT) : $(INC)/ctypes.pp $(SYSTEMUNIT)$(PPUEXT)