Makefile 68 KB

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