Makefile 77 KB

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