Makefile 104 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891
  1. #
  2. # Don't edit, this file is generated by FPCMake Version 2.0.0 [2013/03/10]
  3. #
  4. default: all
  5. MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku 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 i386-nativent i386-iphonesim i386-android 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 powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux jvm-java jvm-android i8086-msdos
  6. BSDs = freebsd netbsd openbsd darwin
  7. UNIXs = linux $(BSDs) solaris qnx haiku aix
  8. LIMIT83fs = go32v2 os2 emx watcom msdos
  9. OSNeedsComspecToRunBatch = go32v2 watcom
  10. FORCE:
  11. .PHONY: FORCE
  12. override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
  13. ifneq ($(findstring darwin,$(OSTYPE)),)
  14. inUnix=1 #darwin
  15. SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
  16. else
  17. ifeq ($(findstring ;,$(PATH)),)
  18. inUnix=1
  19. SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
  20. else
  21. SEARCHPATH:=$(subst ;, ,$(PATH))
  22. endif
  23. endif
  24. SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
  25. PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
  26. ifeq ($(PWD),)
  27. PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
  28. ifeq ($(PWD),)
  29. $(error You need the GNU utils package to use this Makefile)
  30. else
  31. PWD:=$(firstword $(PWD))
  32. SRCEXEEXT=
  33. endif
  34. else
  35. PWD:=$(firstword $(PWD))
  36. SRCEXEEXT=.exe
  37. endif
  38. ifndef inUnix
  39. ifeq ($(OS),Windows_NT)
  40. inWinNT=1
  41. else
  42. ifdef OS2_SHELL
  43. inOS2=1
  44. endif
  45. endif
  46. else
  47. ifneq ($(findstring cygdrive,$(PATH)),)
  48. inCygWin=1
  49. endif
  50. endif
  51. ifdef inUnix
  52. SRCBATCHEXT=.sh
  53. else
  54. ifdef inOS2
  55. SRCBATCHEXT=.cmd
  56. else
  57. SRCBATCHEXT=.bat
  58. endif
  59. endif
  60. ifdef COMSPEC
  61. ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
  62. ifndef RUNBATCH
  63. RUNBATCH=$(COMSPEC) /C
  64. endif
  65. endif
  66. endif
  67. ifdef inUnix
  68. PATHSEP=/
  69. else
  70. PATHSEP:=$(subst /,\,/)
  71. ifdef inCygWin
  72. PATHSEP=/
  73. endif
  74. endif
  75. ifdef PWD
  76. BASEDIR:=$(subst \,/,$(shell $(PWD)))
  77. ifdef inCygWin
  78. ifneq ($(findstring /cygdrive/,$(BASEDIR)),)
  79. BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR))
  80. BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR)))
  81. BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR))
  82. endif
  83. endif
  84. else
  85. BASEDIR=.
  86. endif
  87. ifdef inOS2
  88. ifndef ECHO
  89. ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
  90. ifeq ($(ECHO),)
  91. ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
  92. ifeq ($(ECHO),)
  93. ECHO=echo
  94. else
  95. ECHO:=$(firstword $(ECHO))
  96. endif
  97. else
  98. ECHO:=$(firstword $(ECHO))
  99. endif
  100. endif
  101. export ECHO
  102. endif
  103. override OS_TARGET_DEFAULT=msdos
  104. override CPU_TARGET_DEFAULT=i8086
  105. override DEFAULT_FPCDIR=../..
  106. ifndef FPC
  107. ifdef PP
  108. FPC=$(PP)
  109. endif
  110. endif
  111. ifndef FPC
  112. FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
  113. ifneq ($(FPCPROG),)
  114. FPCPROG:=$(firstword $(FPCPROG))
  115. ifneq ($(CPU_TARGET),)
  116. FPC:=$(shell $(FPCPROG) -P$(CPU_TARGET) -PB)
  117. else
  118. FPC:=$(shell $(FPCPROG) -PB)
  119. endif
  120. ifneq ($(findstring Error,$(FPC)),)
  121. override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
  122. else
  123. ifeq ($(strip $(wildcard $(FPC))),)
  124. FPC:=$(firstword $(FPCPROG))
  125. endif
  126. endif
  127. else
  128. override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
  129. endif
  130. endif
  131. override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
  132. override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
  133. FOUNDFPC:=$(strip $(wildcard $(FPC)))
  134. ifeq ($(FOUNDFPC),)
  135. FOUNDFPC=$(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))
  136. ifeq ($(FOUNDFPC),)
  137. $(error Compiler $(FPC) not found)
  138. endif
  139. endif
  140. ifndef FPC_COMPILERINFO
  141. FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO)
  142. endif
  143. ifndef FPC_VERSION
  144. FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
  145. endif
  146. export FPC FPC_VERSION FPC_COMPILERINFO
  147. unexport CHECKDEPEND ALLDEPENDENCIES
  148. ifndef CPU_TARGET
  149. ifdef CPU_TARGET_DEFAULT
  150. CPU_TARGET=$(CPU_TARGET_DEFAULT)
  151. endif
  152. endif
  153. ifndef OS_TARGET
  154. ifdef OS_TARGET_DEFAULT
  155. OS_TARGET=$(OS_TARGET_DEFAULT)
  156. endif
  157. endif
  158. ifndef CPU_SOURCE
  159. CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO))
  160. endif
  161. ifndef CPU_TARGET
  162. CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO))
  163. endif
  164. ifndef OS_SOURCE
  165. OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO))
  166. endif
  167. ifndef OS_TARGET
  168. OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
  169. endif
  170. FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
  171. FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
  172. ifeq ($(CPU_TARGET),armeb)
  173. ARCH=arm
  174. override FPCOPT+=-Cb
  175. else
  176. ifeq ($(CPU_TARGET),armel)
  177. ARCH=arm
  178. override FPCOPT+=-CaEABI
  179. else
  180. ARCH=$(CPU_TARGET)
  181. endif
  182. endif
  183. ifeq ($(FULL_TARGET),arm-embedded)
  184. ifeq ($(SUBARCH),)
  185. $(error When compiling for arm-embedded, a sub-architecture (e.g. SUBARCH=armv4t or SUBARCH=armv7m) must be defined)
  186. endif
  187. override FPCOPT+=-Cp$(SUBARCH)
  188. endif
  189. ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
  190. TARGETSUFFIX=$(OS_TARGET)
  191. SOURCESUFFIX=$(OS_SOURCE)
  192. else
  193. ifneq ($(findstring $(OS_TARGET),$(LIMIT83fs)),)
  194. TARGETSUFFIX=$(OS_TARGET)
  195. else
  196. TARGETSUFFIX=$(FULL_TARGET)
  197. endif
  198. SOURCESUFFIX=$(FULL_SOURCE)
  199. endif
  200. ifneq ($(FULL_TARGET),$(FULL_SOURCE))
  201. CROSSCOMPILE=1
  202. endif
  203. ifeq ($(findstring makefile,$(MAKECMDGOALS)),)
  204. ifeq ($(findstring $(FULL_TARGET),$(MAKEFILETARGETS)),)
  205. $(error The Makefile doesn't support target $(FULL_TARGET), please run fpcmake first)
  206. endif
  207. endif
  208. ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
  209. BSDhier=1
  210. endif
  211. ifeq ($(OS_TARGET),linux)
  212. linuxHier=1
  213. endif
  214. ifndef CROSSCOMPILE
  215. BUILDFULLNATIVE=1
  216. export BUILDFULLNATIVE
  217. endif
  218. ifdef BUILDFULLNATIVE
  219. BUILDNATIVE=1
  220. export BUILDNATIVE
  221. endif
  222. export OS_TARGET OS_SOURCE ARCH CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
  223. ifdef FPCDIR
  224. override FPCDIR:=$(subst \,/,$(FPCDIR))
  225. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  226. override FPCDIR=wrong
  227. endif
  228. else
  229. override FPCDIR=wrong
  230. endif
  231. ifdef DEFAULT_FPCDIR
  232. ifeq ($(FPCDIR),wrong)
  233. override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR))
  234. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  235. override FPCDIR=wrong
  236. endif
  237. endif
  238. endif
  239. ifeq ($(FPCDIR),wrong)
  240. ifdef inUnix
  241. override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
  242. ifeq ($(wildcard $(FPCDIR)/units),)
  243. override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
  244. endif
  245. else
  246. override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
  247. override FPCDIR:=$(FPCDIR)/..
  248. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  249. override FPCDIR:=$(FPCDIR)/..
  250. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  251. override FPCDIR:=$(BASEDIR)
  252. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  253. override FPCDIR=c:/pp
  254. endif
  255. endif
  256. endif
  257. endif
  258. endif
  259. ifndef CROSSBINDIR
  260. CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX))
  261. endif
  262. ifneq ($(findstring $(OS_TARGET),darwin iphonesim),)
  263. ifeq ($(OS_SOURCE),darwin)
  264. DARWIN2DARWIN=1
  265. endif
  266. endif
  267. ifndef BINUTILSPREFIX
  268. ifndef CROSSBINDIR
  269. ifdef CROSSCOMPILE
  270. ifndef DARWIN2DARWIN
  271. ifneq ($(CPU_TARGET),jvm)
  272. BINUTILSPREFIX=$(CPU_TARGET)-$(OS_TARGET)-
  273. ifeq ($(OS_TARGET),android)
  274. ifeq ($(CPU_TARGET),arm)
  275. BINUTILSPREFIX=arm-linux-androideabi-
  276. else
  277. ifeq ($(CPU_TARGET),i386)
  278. BINUTILSPREFIX=i686-linux-android-
  279. else
  280. ifeq ($(CPU_TARGET),mips)
  281. BINUTILSPREFIX=mipsel-linux-android-
  282. endif
  283. endif
  284. endif
  285. endif
  286. endif
  287. endif
  288. endif
  289. endif
  290. endif
  291. UNITSDIR:=$(wildcard $(FPCDIR)/units/$(TARGETSUFFIX))
  292. ifeq ($(UNITSDIR),)
  293. UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
  294. endif
  295. PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
  296. ifndef FPCFPMAKE
  297. ifdef CROSSCOMPILE
  298. ifeq ($(strip $(wildcard $(addsuffix /compiler/ppc$(SRCEXEEXT),$(FPCDIR)))),)
  299. FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
  300. ifneq ($(FPCPROG),)
  301. FPCPROG:=$(firstword $(FPCPROG))
  302. FPCFPMAKE:=$(shell $(FPCPROG) -PB)
  303. ifeq ($(strip $(wildcard $(FPCFPMAKE))),)
  304. FPCFPMAKE:=$(firstword $(FPCPROG))
  305. endif
  306. else
  307. override FPCFPMAKE=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
  308. endif
  309. else
  310. FPCFPMAKE=$(strip $(wildcard $(addsuffix /compiler/ppc$(SRCEXEEXT),$(FPCDIR))))
  311. FPMAKE_SKIP_CONFIG=-n
  312. export FPCFPMAKE
  313. export FPMAKE_SKIP_CONFIG
  314. endif
  315. else
  316. FPMAKE_SKIP_CONFIG=-n
  317. FPCFPMAKE=$(FPC)
  318. endif
  319. endif
  320. override PACKAGE_NAME=rtl
  321. PACKAGEDIR_MAIN:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
  322. RTL=..
  323. INC=../inc
  324. COMMON=$(RTL)/common
  325. PROCINC=../$(CPU_TARGET)
  326. UNITPREFIX=rtl
  327. SYSTEMUNIT=system
  328. OBJPASDIR=$(RTL)/objpas
  329. ifdef EXCEPTIONS_IN_SYSTEM
  330. override FPCOPT+=-dEXCEPTIONS_IN_SYSTEM
  331. endif
  332. ifdef NO_EXCEPTIONS_IN_SYSTEM
  333. override FPCOPT+=-dNO_EXCEPTIONS_IN_SYSTEM
  334. endif
  335. ifeq ($(FULL_TARGET),i386-linux)
  336. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  337. endif
  338. ifeq ($(FULL_TARGET),i386-go32v2)
  339. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  340. endif
  341. ifeq ($(FULL_TARGET),i386-win32)
  342. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  343. endif
  344. ifeq ($(FULL_TARGET),i386-os2)
  345. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  346. endif
  347. ifeq ($(FULL_TARGET),i386-freebsd)
  348. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  349. endif
  350. ifeq ($(FULL_TARGET),i386-beos)
  351. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  352. endif
  353. ifeq ($(FULL_TARGET),i386-haiku)
  354. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  355. endif
  356. ifeq ($(FULL_TARGET),i386-netbsd)
  357. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  358. endif
  359. ifeq ($(FULL_TARGET),i386-solaris)
  360. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  361. endif
  362. ifeq ($(FULL_TARGET),i386-qnx)
  363. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  364. endif
  365. ifeq ($(FULL_TARGET),i386-netware)
  366. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  367. endif
  368. ifeq ($(FULL_TARGET),i386-openbsd)
  369. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  370. endif
  371. ifeq ($(FULL_TARGET),i386-wdosx)
  372. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  373. endif
  374. ifeq ($(FULL_TARGET),i386-darwin)
  375. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  376. endif
  377. ifeq ($(FULL_TARGET),i386-emx)
  378. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  379. endif
  380. ifeq ($(FULL_TARGET),i386-watcom)
  381. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  382. endif
  383. ifeq ($(FULL_TARGET),i386-netwlibc)
  384. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  385. endif
  386. ifeq ($(FULL_TARGET),i386-wince)
  387. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  388. endif
  389. ifeq ($(FULL_TARGET),i386-embedded)
  390. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  391. endif
  392. ifeq ($(FULL_TARGET),i386-symbian)
  393. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  394. endif
  395. ifeq ($(FULL_TARGET),i386-nativent)
  396. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  397. endif
  398. ifeq ($(FULL_TARGET),i386-iphonesim)
  399. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  400. endif
  401. ifeq ($(FULL_TARGET),i386-android)
  402. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  403. endif
  404. ifeq ($(FULL_TARGET),m68k-linux)
  405. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  406. endif
  407. ifeq ($(FULL_TARGET),m68k-freebsd)
  408. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  409. endif
  410. ifeq ($(FULL_TARGET),m68k-netbsd)
  411. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  412. endif
  413. ifeq ($(FULL_TARGET),m68k-amiga)
  414. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  415. endif
  416. ifeq ($(FULL_TARGET),m68k-atari)
  417. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  418. endif
  419. ifeq ($(FULL_TARGET),m68k-openbsd)
  420. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  421. endif
  422. ifeq ($(FULL_TARGET),m68k-palmos)
  423. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  424. endif
  425. ifeq ($(FULL_TARGET),m68k-embedded)
  426. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  427. endif
  428. ifeq ($(FULL_TARGET),powerpc-linux)
  429. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  430. endif
  431. ifeq ($(FULL_TARGET),powerpc-netbsd)
  432. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  433. endif
  434. ifeq ($(FULL_TARGET),powerpc-amiga)
  435. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  436. endif
  437. ifeq ($(FULL_TARGET),powerpc-macos)
  438. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  439. endif
  440. ifeq ($(FULL_TARGET),powerpc-darwin)
  441. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  442. endif
  443. ifeq ($(FULL_TARGET),powerpc-morphos)
  444. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  445. endif
  446. ifeq ($(FULL_TARGET),powerpc-embedded)
  447. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  448. endif
  449. ifeq ($(FULL_TARGET),powerpc-wii)
  450. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  451. endif
  452. ifeq ($(FULL_TARGET),powerpc-aix)
  453. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  454. endif
  455. ifeq ($(FULL_TARGET),sparc-linux)
  456. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  457. endif
  458. ifeq ($(FULL_TARGET),sparc-netbsd)
  459. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  460. endif
  461. ifeq ($(FULL_TARGET),sparc-solaris)
  462. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  463. endif
  464. ifeq ($(FULL_TARGET),sparc-embedded)
  465. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  466. endif
  467. ifeq ($(FULL_TARGET),x86_64-linux)
  468. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  469. endif
  470. ifeq ($(FULL_TARGET),x86_64-freebsd)
  471. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  472. endif
  473. ifeq ($(FULL_TARGET),x86_64-netbsd)
  474. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  475. endif
  476. ifeq ($(FULL_TARGET),x86_64-solaris)
  477. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  478. endif
  479. ifeq ($(FULL_TARGET),x86_64-openbsd)
  480. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  481. endif
  482. ifeq ($(FULL_TARGET),x86_64-darwin)
  483. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  484. endif
  485. ifeq ($(FULL_TARGET),x86_64-win64)
  486. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  487. endif
  488. ifeq ($(FULL_TARGET),x86_64-embedded)
  489. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  490. endif
  491. ifeq ($(FULL_TARGET),arm-linux)
  492. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  493. endif
  494. ifeq ($(FULL_TARGET),arm-palmos)
  495. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  496. endif
  497. ifeq ($(FULL_TARGET),arm-darwin)
  498. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  499. endif
  500. ifeq ($(FULL_TARGET),arm-wince)
  501. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  502. endif
  503. ifeq ($(FULL_TARGET),arm-gba)
  504. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  505. endif
  506. ifeq ($(FULL_TARGET),arm-nds)
  507. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  508. endif
  509. ifeq ($(FULL_TARGET),arm-embedded)
  510. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  511. endif
  512. ifeq ($(FULL_TARGET),arm-symbian)
  513. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  514. endif
  515. ifeq ($(FULL_TARGET),arm-android)
  516. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  517. endif
  518. ifeq ($(FULL_TARGET),powerpc64-linux)
  519. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  520. endif
  521. ifeq ($(FULL_TARGET),powerpc64-darwin)
  522. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  523. endif
  524. ifeq ($(FULL_TARGET),powerpc64-embedded)
  525. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  526. endif
  527. ifeq ($(FULL_TARGET),powerpc64-aix)
  528. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  529. endif
  530. ifeq ($(FULL_TARGET),avr-embedded)
  531. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  532. endif
  533. ifeq ($(FULL_TARGET),armeb-linux)
  534. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  535. endif
  536. ifeq ($(FULL_TARGET),armeb-embedded)
  537. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  538. endif
  539. ifeq ($(FULL_TARGET),mips-linux)
  540. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  541. endif
  542. ifeq ($(FULL_TARGET),mipsel-linux)
  543. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  544. endif
  545. ifeq ($(FULL_TARGET),jvm-java)
  546. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  547. endif
  548. ifeq ($(FULL_TARGET),jvm-android)
  549. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  550. endif
  551. ifeq ($(FULL_TARGET),i8086-msdos)
  552. override TARGET_UNITS+=system uuchar objpas macpas iso7185 strings go32 dpmiexcp initc ports profile dxetype dxeload emu387 dos crt objects printer cmem sysutils classes math typinfo matrix cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl msmouse charset varutils video mouse keyboard variants vesamode types fmtbcd sysconst rtlconst dateutil convutil strutils stdconvs
  553. endif
  554. ifeq ($(FULL_TARGET),i386-linux)
  555. override TARGET_IMPLICITUNITS+=exeinfo
  556. endif
  557. ifeq ($(FULL_TARGET),i386-go32v2)
  558. override TARGET_IMPLICITUNITS+=exeinfo
  559. endif
  560. ifeq ($(FULL_TARGET),i386-win32)
  561. override TARGET_IMPLICITUNITS+=exeinfo
  562. endif
  563. ifeq ($(FULL_TARGET),i386-os2)
  564. override TARGET_IMPLICITUNITS+=exeinfo
  565. endif
  566. ifeq ($(FULL_TARGET),i386-freebsd)
  567. override TARGET_IMPLICITUNITS+=exeinfo
  568. endif
  569. ifeq ($(FULL_TARGET),i386-beos)
  570. override TARGET_IMPLICITUNITS+=exeinfo
  571. endif
  572. ifeq ($(FULL_TARGET),i386-haiku)
  573. override TARGET_IMPLICITUNITS+=exeinfo
  574. endif
  575. ifeq ($(FULL_TARGET),i386-netbsd)
  576. override TARGET_IMPLICITUNITS+=exeinfo
  577. endif
  578. ifeq ($(FULL_TARGET),i386-solaris)
  579. override TARGET_IMPLICITUNITS+=exeinfo
  580. endif
  581. ifeq ($(FULL_TARGET),i386-qnx)
  582. override TARGET_IMPLICITUNITS+=exeinfo
  583. endif
  584. ifeq ($(FULL_TARGET),i386-netware)
  585. override TARGET_IMPLICITUNITS+=exeinfo
  586. endif
  587. ifeq ($(FULL_TARGET),i386-openbsd)
  588. override TARGET_IMPLICITUNITS+=exeinfo
  589. endif
  590. ifeq ($(FULL_TARGET),i386-wdosx)
  591. override TARGET_IMPLICITUNITS+=exeinfo
  592. endif
  593. ifeq ($(FULL_TARGET),i386-darwin)
  594. override TARGET_IMPLICITUNITS+=exeinfo
  595. endif
  596. ifeq ($(FULL_TARGET),i386-emx)
  597. override TARGET_IMPLICITUNITS+=exeinfo
  598. endif
  599. ifeq ($(FULL_TARGET),i386-watcom)
  600. override TARGET_IMPLICITUNITS+=exeinfo
  601. endif
  602. ifeq ($(FULL_TARGET),i386-netwlibc)
  603. override TARGET_IMPLICITUNITS+=exeinfo
  604. endif
  605. ifeq ($(FULL_TARGET),i386-wince)
  606. override TARGET_IMPLICITUNITS+=exeinfo
  607. endif
  608. ifeq ($(FULL_TARGET),i386-embedded)
  609. override TARGET_IMPLICITUNITS+=exeinfo
  610. endif
  611. ifeq ($(FULL_TARGET),i386-symbian)
  612. override TARGET_IMPLICITUNITS+=exeinfo
  613. endif
  614. ifeq ($(FULL_TARGET),i386-nativent)
  615. override TARGET_IMPLICITUNITS+=exeinfo
  616. endif
  617. ifeq ($(FULL_TARGET),i386-iphonesim)
  618. override TARGET_IMPLICITUNITS+=exeinfo
  619. endif
  620. ifeq ($(FULL_TARGET),i386-android)
  621. override TARGET_IMPLICITUNITS+=exeinfo
  622. endif
  623. ifeq ($(FULL_TARGET),m68k-linux)
  624. override TARGET_IMPLICITUNITS+=exeinfo
  625. endif
  626. ifeq ($(FULL_TARGET),m68k-freebsd)
  627. override TARGET_IMPLICITUNITS+=exeinfo
  628. endif
  629. ifeq ($(FULL_TARGET),m68k-netbsd)
  630. override TARGET_IMPLICITUNITS+=exeinfo
  631. endif
  632. ifeq ($(FULL_TARGET),m68k-amiga)
  633. override TARGET_IMPLICITUNITS+=exeinfo
  634. endif
  635. ifeq ($(FULL_TARGET),m68k-atari)
  636. override TARGET_IMPLICITUNITS+=exeinfo
  637. endif
  638. ifeq ($(FULL_TARGET),m68k-openbsd)
  639. override TARGET_IMPLICITUNITS+=exeinfo
  640. endif
  641. ifeq ($(FULL_TARGET),m68k-palmos)
  642. override TARGET_IMPLICITUNITS+=exeinfo
  643. endif
  644. ifeq ($(FULL_TARGET),m68k-embedded)
  645. override TARGET_IMPLICITUNITS+=exeinfo
  646. endif
  647. ifeq ($(FULL_TARGET),powerpc-linux)
  648. override TARGET_IMPLICITUNITS+=exeinfo
  649. endif
  650. ifeq ($(FULL_TARGET),powerpc-netbsd)
  651. override TARGET_IMPLICITUNITS+=exeinfo
  652. endif
  653. ifeq ($(FULL_TARGET),powerpc-amiga)
  654. override TARGET_IMPLICITUNITS+=exeinfo
  655. endif
  656. ifeq ($(FULL_TARGET),powerpc-macos)
  657. override TARGET_IMPLICITUNITS+=exeinfo
  658. endif
  659. ifeq ($(FULL_TARGET),powerpc-darwin)
  660. override TARGET_IMPLICITUNITS+=exeinfo
  661. endif
  662. ifeq ($(FULL_TARGET),powerpc-morphos)
  663. override TARGET_IMPLICITUNITS+=exeinfo
  664. endif
  665. ifeq ($(FULL_TARGET),powerpc-embedded)
  666. override TARGET_IMPLICITUNITS+=exeinfo
  667. endif
  668. ifeq ($(FULL_TARGET),powerpc-wii)
  669. override TARGET_IMPLICITUNITS+=exeinfo
  670. endif
  671. ifeq ($(FULL_TARGET),powerpc-aix)
  672. override TARGET_IMPLICITUNITS+=exeinfo
  673. endif
  674. ifeq ($(FULL_TARGET),sparc-linux)
  675. override TARGET_IMPLICITUNITS+=exeinfo
  676. endif
  677. ifeq ($(FULL_TARGET),sparc-netbsd)
  678. override TARGET_IMPLICITUNITS+=exeinfo
  679. endif
  680. ifeq ($(FULL_TARGET),sparc-solaris)
  681. override TARGET_IMPLICITUNITS+=exeinfo
  682. endif
  683. ifeq ($(FULL_TARGET),sparc-embedded)
  684. override TARGET_IMPLICITUNITS+=exeinfo
  685. endif
  686. ifeq ($(FULL_TARGET),x86_64-linux)
  687. override TARGET_IMPLICITUNITS+=exeinfo
  688. endif
  689. ifeq ($(FULL_TARGET),x86_64-freebsd)
  690. override TARGET_IMPLICITUNITS+=exeinfo
  691. endif
  692. ifeq ($(FULL_TARGET),x86_64-netbsd)
  693. override TARGET_IMPLICITUNITS+=exeinfo
  694. endif
  695. ifeq ($(FULL_TARGET),x86_64-solaris)
  696. override TARGET_IMPLICITUNITS+=exeinfo
  697. endif
  698. ifeq ($(FULL_TARGET),x86_64-openbsd)
  699. override TARGET_IMPLICITUNITS+=exeinfo
  700. endif
  701. ifeq ($(FULL_TARGET),x86_64-darwin)
  702. override TARGET_IMPLICITUNITS+=exeinfo
  703. endif
  704. ifeq ($(FULL_TARGET),x86_64-win64)
  705. override TARGET_IMPLICITUNITS+=exeinfo
  706. endif
  707. ifeq ($(FULL_TARGET),x86_64-embedded)
  708. override TARGET_IMPLICITUNITS+=exeinfo
  709. endif
  710. ifeq ($(FULL_TARGET),arm-linux)
  711. override TARGET_IMPLICITUNITS+=exeinfo
  712. endif
  713. ifeq ($(FULL_TARGET),arm-palmos)
  714. override TARGET_IMPLICITUNITS+=exeinfo
  715. endif
  716. ifeq ($(FULL_TARGET),arm-darwin)
  717. override TARGET_IMPLICITUNITS+=exeinfo
  718. endif
  719. ifeq ($(FULL_TARGET),arm-wince)
  720. override TARGET_IMPLICITUNITS+=exeinfo
  721. endif
  722. ifeq ($(FULL_TARGET),arm-gba)
  723. override TARGET_IMPLICITUNITS+=exeinfo
  724. endif
  725. ifeq ($(FULL_TARGET),arm-nds)
  726. override TARGET_IMPLICITUNITS+=exeinfo
  727. endif
  728. ifeq ($(FULL_TARGET),arm-embedded)
  729. override TARGET_IMPLICITUNITS+=exeinfo
  730. endif
  731. ifeq ($(FULL_TARGET),arm-symbian)
  732. override TARGET_IMPLICITUNITS+=exeinfo
  733. endif
  734. ifeq ($(FULL_TARGET),arm-android)
  735. override TARGET_IMPLICITUNITS+=exeinfo
  736. endif
  737. ifeq ($(FULL_TARGET),powerpc64-linux)
  738. override TARGET_IMPLICITUNITS+=exeinfo
  739. endif
  740. ifeq ($(FULL_TARGET),powerpc64-darwin)
  741. override TARGET_IMPLICITUNITS+=exeinfo
  742. endif
  743. ifeq ($(FULL_TARGET),powerpc64-embedded)
  744. override TARGET_IMPLICITUNITS+=exeinfo
  745. endif
  746. ifeq ($(FULL_TARGET),powerpc64-aix)
  747. override TARGET_IMPLICITUNITS+=exeinfo
  748. endif
  749. ifeq ($(FULL_TARGET),avr-embedded)
  750. override TARGET_IMPLICITUNITS+=exeinfo
  751. endif
  752. ifeq ($(FULL_TARGET),armeb-linux)
  753. override TARGET_IMPLICITUNITS+=exeinfo
  754. endif
  755. ifeq ($(FULL_TARGET),armeb-embedded)
  756. override TARGET_IMPLICITUNITS+=exeinfo
  757. endif
  758. ifeq ($(FULL_TARGET),mips-linux)
  759. override TARGET_IMPLICITUNITS+=exeinfo
  760. endif
  761. ifeq ($(FULL_TARGET),mipsel-linux)
  762. override TARGET_IMPLICITUNITS+=exeinfo
  763. endif
  764. ifeq ($(FULL_TARGET),jvm-java)
  765. override TARGET_IMPLICITUNITS+=exeinfo
  766. endif
  767. ifeq ($(FULL_TARGET),jvm-android)
  768. override TARGET_IMPLICITUNITS+=exeinfo
  769. endif
  770. ifeq ($(FULL_TARGET),i8086-msdos)
  771. override TARGET_IMPLICITUNITS+=exeinfo
  772. endif
  773. ifeq ($(FULL_TARGET),i386-linux)
  774. override TARGET_LOADERS+=prt0 # exceptn fpu
  775. endif
  776. ifeq ($(FULL_TARGET),i386-go32v2)
  777. override TARGET_LOADERS+=prt0 # exceptn fpu
  778. endif
  779. ifeq ($(FULL_TARGET),i386-win32)
  780. override TARGET_LOADERS+=prt0 # exceptn fpu
  781. endif
  782. ifeq ($(FULL_TARGET),i386-os2)
  783. override TARGET_LOADERS+=prt0 # exceptn fpu
  784. endif
  785. ifeq ($(FULL_TARGET),i386-freebsd)
  786. override TARGET_LOADERS+=prt0 # exceptn fpu
  787. endif
  788. ifeq ($(FULL_TARGET),i386-beos)
  789. override TARGET_LOADERS+=prt0 # exceptn fpu
  790. endif
  791. ifeq ($(FULL_TARGET),i386-haiku)
  792. override TARGET_LOADERS+=prt0 # exceptn fpu
  793. endif
  794. ifeq ($(FULL_TARGET),i386-netbsd)
  795. override TARGET_LOADERS+=prt0 # exceptn fpu
  796. endif
  797. ifeq ($(FULL_TARGET),i386-solaris)
  798. override TARGET_LOADERS+=prt0 # exceptn fpu
  799. endif
  800. ifeq ($(FULL_TARGET),i386-qnx)
  801. override TARGET_LOADERS+=prt0 # exceptn fpu
  802. endif
  803. ifeq ($(FULL_TARGET),i386-netware)
  804. override TARGET_LOADERS+=prt0 # exceptn fpu
  805. endif
  806. ifeq ($(FULL_TARGET),i386-openbsd)
  807. override TARGET_LOADERS+=prt0 # exceptn fpu
  808. endif
  809. ifeq ($(FULL_TARGET),i386-wdosx)
  810. override TARGET_LOADERS+=prt0 # exceptn fpu
  811. endif
  812. ifeq ($(FULL_TARGET),i386-darwin)
  813. override TARGET_LOADERS+=prt0 # exceptn fpu
  814. endif
  815. ifeq ($(FULL_TARGET),i386-emx)
  816. override TARGET_LOADERS+=prt0 # exceptn fpu
  817. endif
  818. ifeq ($(FULL_TARGET),i386-watcom)
  819. override TARGET_LOADERS+=prt0 # exceptn fpu
  820. endif
  821. ifeq ($(FULL_TARGET),i386-netwlibc)
  822. override TARGET_LOADERS+=prt0 # exceptn fpu
  823. endif
  824. ifeq ($(FULL_TARGET),i386-wince)
  825. override TARGET_LOADERS+=prt0 # exceptn fpu
  826. endif
  827. ifeq ($(FULL_TARGET),i386-embedded)
  828. override TARGET_LOADERS+=prt0 # exceptn fpu
  829. endif
  830. ifeq ($(FULL_TARGET),i386-symbian)
  831. override TARGET_LOADERS+=prt0 # exceptn fpu
  832. endif
  833. ifeq ($(FULL_TARGET),i386-nativent)
  834. override TARGET_LOADERS+=prt0 # exceptn fpu
  835. endif
  836. ifeq ($(FULL_TARGET),i386-iphonesim)
  837. override TARGET_LOADERS+=prt0 # exceptn fpu
  838. endif
  839. ifeq ($(FULL_TARGET),i386-android)
  840. override TARGET_LOADERS+=prt0 # exceptn fpu
  841. endif
  842. ifeq ($(FULL_TARGET),m68k-linux)
  843. override TARGET_LOADERS+=prt0 # exceptn fpu
  844. endif
  845. ifeq ($(FULL_TARGET),m68k-freebsd)
  846. override TARGET_LOADERS+=prt0 # exceptn fpu
  847. endif
  848. ifeq ($(FULL_TARGET),m68k-netbsd)
  849. override TARGET_LOADERS+=prt0 # exceptn fpu
  850. endif
  851. ifeq ($(FULL_TARGET),m68k-amiga)
  852. override TARGET_LOADERS+=prt0 # exceptn fpu
  853. endif
  854. ifeq ($(FULL_TARGET),m68k-atari)
  855. override TARGET_LOADERS+=prt0 # exceptn fpu
  856. endif
  857. ifeq ($(FULL_TARGET),m68k-openbsd)
  858. override TARGET_LOADERS+=prt0 # exceptn fpu
  859. endif
  860. ifeq ($(FULL_TARGET),m68k-palmos)
  861. override TARGET_LOADERS+=prt0 # exceptn fpu
  862. endif
  863. ifeq ($(FULL_TARGET),m68k-embedded)
  864. override TARGET_LOADERS+=prt0 # exceptn fpu
  865. endif
  866. ifeq ($(FULL_TARGET),powerpc-linux)
  867. override TARGET_LOADERS+=prt0 # exceptn fpu
  868. endif
  869. ifeq ($(FULL_TARGET),powerpc-netbsd)
  870. override TARGET_LOADERS+=prt0 # exceptn fpu
  871. endif
  872. ifeq ($(FULL_TARGET),powerpc-amiga)
  873. override TARGET_LOADERS+=prt0 # exceptn fpu
  874. endif
  875. ifeq ($(FULL_TARGET),powerpc-macos)
  876. override TARGET_LOADERS+=prt0 # exceptn fpu
  877. endif
  878. ifeq ($(FULL_TARGET),powerpc-darwin)
  879. override TARGET_LOADERS+=prt0 # exceptn fpu
  880. endif
  881. ifeq ($(FULL_TARGET),powerpc-morphos)
  882. override TARGET_LOADERS+=prt0 # exceptn fpu
  883. endif
  884. ifeq ($(FULL_TARGET),powerpc-embedded)
  885. override TARGET_LOADERS+=prt0 # exceptn fpu
  886. endif
  887. ifeq ($(FULL_TARGET),powerpc-wii)
  888. override TARGET_LOADERS+=prt0 # exceptn fpu
  889. endif
  890. ifeq ($(FULL_TARGET),powerpc-aix)
  891. override TARGET_LOADERS+=prt0 # exceptn fpu
  892. endif
  893. ifeq ($(FULL_TARGET),sparc-linux)
  894. override TARGET_LOADERS+=prt0 # exceptn fpu
  895. endif
  896. ifeq ($(FULL_TARGET),sparc-netbsd)
  897. override TARGET_LOADERS+=prt0 # exceptn fpu
  898. endif
  899. ifeq ($(FULL_TARGET),sparc-solaris)
  900. override TARGET_LOADERS+=prt0 # exceptn fpu
  901. endif
  902. ifeq ($(FULL_TARGET),sparc-embedded)
  903. override TARGET_LOADERS+=prt0 # exceptn fpu
  904. endif
  905. ifeq ($(FULL_TARGET),x86_64-linux)
  906. override TARGET_LOADERS+=prt0 # exceptn fpu
  907. endif
  908. ifeq ($(FULL_TARGET),x86_64-freebsd)
  909. override TARGET_LOADERS+=prt0 # exceptn fpu
  910. endif
  911. ifeq ($(FULL_TARGET),x86_64-netbsd)
  912. override TARGET_LOADERS+=prt0 # exceptn fpu
  913. endif
  914. ifeq ($(FULL_TARGET),x86_64-solaris)
  915. override TARGET_LOADERS+=prt0 # exceptn fpu
  916. endif
  917. ifeq ($(FULL_TARGET),x86_64-openbsd)
  918. override TARGET_LOADERS+=prt0 # exceptn fpu
  919. endif
  920. ifeq ($(FULL_TARGET),x86_64-darwin)
  921. override TARGET_LOADERS+=prt0 # exceptn fpu
  922. endif
  923. ifeq ($(FULL_TARGET),x86_64-win64)
  924. override TARGET_LOADERS+=prt0 # exceptn fpu
  925. endif
  926. ifeq ($(FULL_TARGET),x86_64-embedded)
  927. override TARGET_LOADERS+=prt0 # exceptn fpu
  928. endif
  929. ifeq ($(FULL_TARGET),arm-linux)
  930. override TARGET_LOADERS+=prt0 # exceptn fpu
  931. endif
  932. ifeq ($(FULL_TARGET),arm-palmos)
  933. override TARGET_LOADERS+=prt0 # exceptn fpu
  934. endif
  935. ifeq ($(FULL_TARGET),arm-darwin)
  936. override TARGET_LOADERS+=prt0 # exceptn fpu
  937. endif
  938. ifeq ($(FULL_TARGET),arm-wince)
  939. override TARGET_LOADERS+=prt0 # exceptn fpu
  940. endif
  941. ifeq ($(FULL_TARGET),arm-gba)
  942. override TARGET_LOADERS+=prt0 # exceptn fpu
  943. endif
  944. ifeq ($(FULL_TARGET),arm-nds)
  945. override TARGET_LOADERS+=prt0 # exceptn fpu
  946. endif
  947. ifeq ($(FULL_TARGET),arm-embedded)
  948. override TARGET_LOADERS+=prt0 # exceptn fpu
  949. endif
  950. ifeq ($(FULL_TARGET),arm-symbian)
  951. override TARGET_LOADERS+=prt0 # exceptn fpu
  952. endif
  953. ifeq ($(FULL_TARGET),arm-android)
  954. override TARGET_LOADERS+=prt0 # exceptn fpu
  955. endif
  956. ifeq ($(FULL_TARGET),powerpc64-linux)
  957. override TARGET_LOADERS+=prt0 # exceptn fpu
  958. endif
  959. ifeq ($(FULL_TARGET),powerpc64-darwin)
  960. override TARGET_LOADERS+=prt0 # exceptn fpu
  961. endif
  962. ifeq ($(FULL_TARGET),powerpc64-embedded)
  963. override TARGET_LOADERS+=prt0 # exceptn fpu
  964. endif
  965. ifeq ($(FULL_TARGET),powerpc64-aix)
  966. override TARGET_LOADERS+=prt0 # exceptn fpu
  967. endif
  968. ifeq ($(FULL_TARGET),avr-embedded)
  969. override TARGET_LOADERS+=prt0 # exceptn fpu
  970. endif
  971. ifeq ($(FULL_TARGET),armeb-linux)
  972. override TARGET_LOADERS+=prt0 # exceptn fpu
  973. endif
  974. ifeq ($(FULL_TARGET),armeb-embedded)
  975. override TARGET_LOADERS+=prt0 # exceptn fpu
  976. endif
  977. ifeq ($(FULL_TARGET),mips-linux)
  978. override TARGET_LOADERS+=prt0 # exceptn fpu
  979. endif
  980. ifeq ($(FULL_TARGET),mipsel-linux)
  981. override TARGET_LOADERS+=prt0 # exceptn fpu
  982. endif
  983. ifeq ($(FULL_TARGET),jvm-java)
  984. override TARGET_LOADERS+=prt0 # exceptn fpu
  985. endif
  986. ifeq ($(FULL_TARGET),jvm-android)
  987. override TARGET_LOADERS+=prt0 # exceptn fpu
  988. endif
  989. ifeq ($(FULL_TARGET),i8086-msdos)
  990. override TARGET_LOADERS+=prt0 # exceptn fpu
  991. endif
  992. ifeq ($(FULL_TARGET),i386-linux)
  993. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  994. endif
  995. ifeq ($(FULL_TARGET),i386-go32v2)
  996. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  997. endif
  998. ifeq ($(FULL_TARGET),i386-win32)
  999. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1000. endif
  1001. ifeq ($(FULL_TARGET),i386-os2)
  1002. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1003. endif
  1004. ifeq ($(FULL_TARGET),i386-freebsd)
  1005. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1006. endif
  1007. ifeq ($(FULL_TARGET),i386-beos)
  1008. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1009. endif
  1010. ifeq ($(FULL_TARGET),i386-haiku)
  1011. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1012. endif
  1013. ifeq ($(FULL_TARGET),i386-netbsd)
  1014. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1015. endif
  1016. ifeq ($(FULL_TARGET),i386-solaris)
  1017. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1018. endif
  1019. ifeq ($(FULL_TARGET),i386-qnx)
  1020. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1021. endif
  1022. ifeq ($(FULL_TARGET),i386-netware)
  1023. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1024. endif
  1025. ifeq ($(FULL_TARGET),i386-openbsd)
  1026. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1027. endif
  1028. ifeq ($(FULL_TARGET),i386-wdosx)
  1029. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1030. endif
  1031. ifeq ($(FULL_TARGET),i386-darwin)
  1032. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1033. endif
  1034. ifeq ($(FULL_TARGET),i386-emx)
  1035. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1036. endif
  1037. ifeq ($(FULL_TARGET),i386-watcom)
  1038. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1039. endif
  1040. ifeq ($(FULL_TARGET),i386-netwlibc)
  1041. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1042. endif
  1043. ifeq ($(FULL_TARGET),i386-wince)
  1044. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1045. endif
  1046. ifeq ($(FULL_TARGET),i386-embedded)
  1047. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1048. endif
  1049. ifeq ($(FULL_TARGET),i386-symbian)
  1050. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1051. endif
  1052. ifeq ($(FULL_TARGET),i386-nativent)
  1053. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1054. endif
  1055. ifeq ($(FULL_TARGET),i386-iphonesim)
  1056. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1057. endif
  1058. ifeq ($(FULL_TARGET),i386-android)
  1059. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1060. endif
  1061. ifeq ($(FULL_TARGET),m68k-linux)
  1062. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1063. endif
  1064. ifeq ($(FULL_TARGET),m68k-freebsd)
  1065. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1066. endif
  1067. ifeq ($(FULL_TARGET),m68k-netbsd)
  1068. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1069. endif
  1070. ifeq ($(FULL_TARGET),m68k-amiga)
  1071. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1072. endif
  1073. ifeq ($(FULL_TARGET),m68k-atari)
  1074. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1075. endif
  1076. ifeq ($(FULL_TARGET),m68k-openbsd)
  1077. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1078. endif
  1079. ifeq ($(FULL_TARGET),m68k-palmos)
  1080. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1081. endif
  1082. ifeq ($(FULL_TARGET),m68k-embedded)
  1083. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1084. endif
  1085. ifeq ($(FULL_TARGET),powerpc-linux)
  1086. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1087. endif
  1088. ifeq ($(FULL_TARGET),powerpc-netbsd)
  1089. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1090. endif
  1091. ifeq ($(FULL_TARGET),powerpc-amiga)
  1092. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1093. endif
  1094. ifeq ($(FULL_TARGET),powerpc-macos)
  1095. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1096. endif
  1097. ifeq ($(FULL_TARGET),powerpc-darwin)
  1098. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1099. endif
  1100. ifeq ($(FULL_TARGET),powerpc-morphos)
  1101. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1102. endif
  1103. ifeq ($(FULL_TARGET),powerpc-embedded)
  1104. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1105. endif
  1106. ifeq ($(FULL_TARGET),powerpc-wii)
  1107. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1108. endif
  1109. ifeq ($(FULL_TARGET),powerpc-aix)
  1110. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1111. endif
  1112. ifeq ($(FULL_TARGET),sparc-linux)
  1113. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1114. endif
  1115. ifeq ($(FULL_TARGET),sparc-netbsd)
  1116. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1117. endif
  1118. ifeq ($(FULL_TARGET),sparc-solaris)
  1119. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1120. endif
  1121. ifeq ($(FULL_TARGET),sparc-embedded)
  1122. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1123. endif
  1124. ifeq ($(FULL_TARGET),x86_64-linux)
  1125. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1126. endif
  1127. ifeq ($(FULL_TARGET),x86_64-freebsd)
  1128. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1129. endif
  1130. ifeq ($(FULL_TARGET),x86_64-netbsd)
  1131. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1132. endif
  1133. ifeq ($(FULL_TARGET),x86_64-solaris)
  1134. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1135. endif
  1136. ifeq ($(FULL_TARGET),x86_64-openbsd)
  1137. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1138. endif
  1139. ifeq ($(FULL_TARGET),x86_64-darwin)
  1140. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1141. endif
  1142. ifeq ($(FULL_TARGET),x86_64-win64)
  1143. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1144. endif
  1145. ifeq ($(FULL_TARGET),x86_64-embedded)
  1146. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1147. endif
  1148. ifeq ($(FULL_TARGET),arm-linux)
  1149. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1150. endif
  1151. ifeq ($(FULL_TARGET),arm-palmos)
  1152. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1153. endif
  1154. ifeq ($(FULL_TARGET),arm-darwin)
  1155. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1156. endif
  1157. ifeq ($(FULL_TARGET),arm-wince)
  1158. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1159. endif
  1160. ifeq ($(FULL_TARGET),arm-gba)
  1161. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1162. endif
  1163. ifeq ($(FULL_TARGET),arm-nds)
  1164. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1165. endif
  1166. ifeq ($(FULL_TARGET),arm-embedded)
  1167. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1168. endif
  1169. ifeq ($(FULL_TARGET),arm-symbian)
  1170. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1171. endif
  1172. ifeq ($(FULL_TARGET),arm-android)
  1173. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1174. endif
  1175. ifeq ($(FULL_TARGET),powerpc64-linux)
  1176. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1177. endif
  1178. ifeq ($(FULL_TARGET),powerpc64-darwin)
  1179. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1180. endif
  1181. ifeq ($(FULL_TARGET),powerpc64-embedded)
  1182. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1183. endif
  1184. ifeq ($(FULL_TARGET),powerpc64-aix)
  1185. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1186. endif
  1187. ifeq ($(FULL_TARGET),avr-embedded)
  1188. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1189. endif
  1190. ifeq ($(FULL_TARGET),armeb-linux)
  1191. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1192. endif
  1193. ifeq ($(FULL_TARGET),armeb-embedded)
  1194. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1195. endif
  1196. ifeq ($(FULL_TARGET),mips-linux)
  1197. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1198. endif
  1199. ifeq ($(FULL_TARGET),mipsel-linux)
  1200. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1201. endif
  1202. ifeq ($(FULL_TARGET),jvm-java)
  1203. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1204. endif
  1205. ifeq ($(FULL_TARGET),jvm-android)
  1206. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1207. endif
  1208. ifeq ($(FULL_TARGET),i8086-msdos)
  1209. override TARGET_RSTS+=math varutils typinfo classes variants dateutil sysconst
  1210. endif
  1211. override INSTALL_FPCPACKAGE=y
  1212. ifeq ($(FULL_TARGET),i386-linux)
  1213. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1214. endif
  1215. ifeq ($(FULL_TARGET),i386-go32v2)
  1216. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1217. endif
  1218. ifeq ($(FULL_TARGET),i386-win32)
  1219. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1220. endif
  1221. ifeq ($(FULL_TARGET),i386-os2)
  1222. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1223. endif
  1224. ifeq ($(FULL_TARGET),i386-freebsd)
  1225. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1226. endif
  1227. ifeq ($(FULL_TARGET),i386-beos)
  1228. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1229. endif
  1230. ifeq ($(FULL_TARGET),i386-haiku)
  1231. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1232. endif
  1233. ifeq ($(FULL_TARGET),i386-netbsd)
  1234. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1235. endif
  1236. ifeq ($(FULL_TARGET),i386-solaris)
  1237. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1238. endif
  1239. ifeq ($(FULL_TARGET),i386-qnx)
  1240. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1241. endif
  1242. ifeq ($(FULL_TARGET),i386-netware)
  1243. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1244. endif
  1245. ifeq ($(FULL_TARGET),i386-openbsd)
  1246. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1247. endif
  1248. ifeq ($(FULL_TARGET),i386-wdosx)
  1249. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1250. endif
  1251. ifeq ($(FULL_TARGET),i386-darwin)
  1252. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1253. endif
  1254. ifeq ($(FULL_TARGET),i386-emx)
  1255. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1256. endif
  1257. ifeq ($(FULL_TARGET),i386-watcom)
  1258. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1259. endif
  1260. ifeq ($(FULL_TARGET),i386-netwlibc)
  1261. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1262. endif
  1263. ifeq ($(FULL_TARGET),i386-wince)
  1264. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1265. endif
  1266. ifeq ($(FULL_TARGET),i386-embedded)
  1267. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1268. endif
  1269. ifeq ($(FULL_TARGET),i386-symbian)
  1270. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1271. endif
  1272. ifeq ($(FULL_TARGET),i386-nativent)
  1273. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1274. endif
  1275. ifeq ($(FULL_TARGET),i386-iphonesim)
  1276. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1277. endif
  1278. ifeq ($(FULL_TARGET),i386-android)
  1279. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1280. endif
  1281. ifeq ($(FULL_TARGET),m68k-linux)
  1282. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1283. endif
  1284. ifeq ($(FULL_TARGET),m68k-freebsd)
  1285. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1286. endif
  1287. ifeq ($(FULL_TARGET),m68k-netbsd)
  1288. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1289. endif
  1290. ifeq ($(FULL_TARGET),m68k-amiga)
  1291. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1292. endif
  1293. ifeq ($(FULL_TARGET),m68k-atari)
  1294. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1295. endif
  1296. ifeq ($(FULL_TARGET),m68k-openbsd)
  1297. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1298. endif
  1299. ifeq ($(FULL_TARGET),m68k-palmos)
  1300. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1301. endif
  1302. ifeq ($(FULL_TARGET),m68k-embedded)
  1303. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1304. endif
  1305. ifeq ($(FULL_TARGET),powerpc-linux)
  1306. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1307. endif
  1308. ifeq ($(FULL_TARGET),powerpc-netbsd)
  1309. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1310. endif
  1311. ifeq ($(FULL_TARGET),powerpc-amiga)
  1312. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1313. endif
  1314. ifeq ($(FULL_TARGET),powerpc-macos)
  1315. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1316. endif
  1317. ifeq ($(FULL_TARGET),powerpc-darwin)
  1318. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1319. endif
  1320. ifeq ($(FULL_TARGET),powerpc-morphos)
  1321. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1322. endif
  1323. ifeq ($(FULL_TARGET),powerpc-embedded)
  1324. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1325. endif
  1326. ifeq ($(FULL_TARGET),powerpc-wii)
  1327. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1328. endif
  1329. ifeq ($(FULL_TARGET),powerpc-aix)
  1330. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1331. endif
  1332. ifeq ($(FULL_TARGET),sparc-linux)
  1333. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1334. endif
  1335. ifeq ($(FULL_TARGET),sparc-netbsd)
  1336. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1337. endif
  1338. ifeq ($(FULL_TARGET),sparc-solaris)
  1339. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1340. endif
  1341. ifeq ($(FULL_TARGET),sparc-embedded)
  1342. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1343. endif
  1344. ifeq ($(FULL_TARGET),x86_64-linux)
  1345. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1346. endif
  1347. ifeq ($(FULL_TARGET),x86_64-freebsd)
  1348. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1349. endif
  1350. ifeq ($(FULL_TARGET),x86_64-netbsd)
  1351. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1352. endif
  1353. ifeq ($(FULL_TARGET),x86_64-solaris)
  1354. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1355. endif
  1356. ifeq ($(FULL_TARGET),x86_64-openbsd)
  1357. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1358. endif
  1359. ifeq ($(FULL_TARGET),x86_64-darwin)
  1360. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1361. endif
  1362. ifeq ($(FULL_TARGET),x86_64-win64)
  1363. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1364. endif
  1365. ifeq ($(FULL_TARGET),x86_64-embedded)
  1366. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1367. endif
  1368. ifeq ($(FULL_TARGET),arm-linux)
  1369. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1370. endif
  1371. ifeq ($(FULL_TARGET),arm-palmos)
  1372. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1373. endif
  1374. ifeq ($(FULL_TARGET),arm-darwin)
  1375. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1376. endif
  1377. ifeq ($(FULL_TARGET),arm-wince)
  1378. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1379. endif
  1380. ifeq ($(FULL_TARGET),arm-gba)
  1381. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1382. endif
  1383. ifeq ($(FULL_TARGET),arm-nds)
  1384. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1385. endif
  1386. ifeq ($(FULL_TARGET),arm-embedded)
  1387. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1388. endif
  1389. ifeq ($(FULL_TARGET),arm-symbian)
  1390. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1391. endif
  1392. ifeq ($(FULL_TARGET),arm-android)
  1393. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1394. endif
  1395. ifeq ($(FULL_TARGET),powerpc64-linux)
  1396. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1397. endif
  1398. ifeq ($(FULL_TARGET),powerpc64-darwin)
  1399. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1400. endif
  1401. ifeq ($(FULL_TARGET),powerpc64-embedded)
  1402. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1403. endif
  1404. ifeq ($(FULL_TARGET),powerpc64-aix)
  1405. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1406. endif
  1407. ifeq ($(FULL_TARGET),avr-embedded)
  1408. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1409. endif
  1410. ifeq ($(FULL_TARGET),armeb-linux)
  1411. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1412. endif
  1413. ifeq ($(FULL_TARGET),armeb-embedded)
  1414. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1415. endif
  1416. ifeq ($(FULL_TARGET),mips-linux)
  1417. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1418. endif
  1419. ifeq ($(FULL_TARGET),mipsel-linux)
  1420. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1421. endif
  1422. ifeq ($(FULL_TARGET),jvm-java)
  1423. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1424. endif
  1425. ifeq ($(FULL_TARGET),jvm-android)
  1426. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1427. endif
  1428. ifeq ($(FULL_TARGET),i8086-msdos)
  1429. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  1430. endif
  1431. ifeq ($(FULL_TARGET),i386-linux)
  1432. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1433. endif
  1434. ifeq ($(FULL_TARGET),i386-go32v2)
  1435. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1436. endif
  1437. ifeq ($(FULL_TARGET),i386-win32)
  1438. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1439. endif
  1440. ifeq ($(FULL_TARGET),i386-os2)
  1441. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1442. endif
  1443. ifeq ($(FULL_TARGET),i386-freebsd)
  1444. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1445. endif
  1446. ifeq ($(FULL_TARGET),i386-beos)
  1447. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1448. endif
  1449. ifeq ($(FULL_TARGET),i386-haiku)
  1450. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1451. endif
  1452. ifeq ($(FULL_TARGET),i386-netbsd)
  1453. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1454. endif
  1455. ifeq ($(FULL_TARGET),i386-solaris)
  1456. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1457. endif
  1458. ifeq ($(FULL_TARGET),i386-qnx)
  1459. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1460. endif
  1461. ifeq ($(FULL_TARGET),i386-netware)
  1462. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1463. endif
  1464. ifeq ($(FULL_TARGET),i386-openbsd)
  1465. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1466. endif
  1467. ifeq ($(FULL_TARGET),i386-wdosx)
  1468. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1469. endif
  1470. ifeq ($(FULL_TARGET),i386-darwin)
  1471. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1472. endif
  1473. ifeq ($(FULL_TARGET),i386-emx)
  1474. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1475. endif
  1476. ifeq ($(FULL_TARGET),i386-watcom)
  1477. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1478. endif
  1479. ifeq ($(FULL_TARGET),i386-netwlibc)
  1480. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1481. endif
  1482. ifeq ($(FULL_TARGET),i386-wince)
  1483. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1484. endif
  1485. ifeq ($(FULL_TARGET),i386-embedded)
  1486. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1487. endif
  1488. ifeq ($(FULL_TARGET),i386-symbian)
  1489. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1490. endif
  1491. ifeq ($(FULL_TARGET),i386-nativent)
  1492. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1493. endif
  1494. ifeq ($(FULL_TARGET),i386-iphonesim)
  1495. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1496. endif
  1497. ifeq ($(FULL_TARGET),i386-android)
  1498. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1499. endif
  1500. ifeq ($(FULL_TARGET),m68k-linux)
  1501. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1502. endif
  1503. ifeq ($(FULL_TARGET),m68k-freebsd)
  1504. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1505. endif
  1506. ifeq ($(FULL_TARGET),m68k-netbsd)
  1507. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1508. endif
  1509. ifeq ($(FULL_TARGET),m68k-amiga)
  1510. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1511. endif
  1512. ifeq ($(FULL_TARGET),m68k-atari)
  1513. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1514. endif
  1515. ifeq ($(FULL_TARGET),m68k-openbsd)
  1516. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1517. endif
  1518. ifeq ($(FULL_TARGET),m68k-palmos)
  1519. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1520. endif
  1521. ifeq ($(FULL_TARGET),m68k-embedded)
  1522. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1523. endif
  1524. ifeq ($(FULL_TARGET),powerpc-linux)
  1525. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1526. endif
  1527. ifeq ($(FULL_TARGET),powerpc-netbsd)
  1528. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1529. endif
  1530. ifeq ($(FULL_TARGET),powerpc-amiga)
  1531. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1532. endif
  1533. ifeq ($(FULL_TARGET),powerpc-macos)
  1534. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1535. endif
  1536. ifeq ($(FULL_TARGET),powerpc-darwin)
  1537. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1538. endif
  1539. ifeq ($(FULL_TARGET),powerpc-morphos)
  1540. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1541. endif
  1542. ifeq ($(FULL_TARGET),powerpc-embedded)
  1543. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1544. endif
  1545. ifeq ($(FULL_TARGET),powerpc-wii)
  1546. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1547. endif
  1548. ifeq ($(FULL_TARGET),powerpc-aix)
  1549. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1550. endif
  1551. ifeq ($(FULL_TARGET),sparc-linux)
  1552. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1553. endif
  1554. ifeq ($(FULL_TARGET),sparc-netbsd)
  1555. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1556. endif
  1557. ifeq ($(FULL_TARGET),sparc-solaris)
  1558. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1559. endif
  1560. ifeq ($(FULL_TARGET),sparc-embedded)
  1561. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1562. endif
  1563. ifeq ($(FULL_TARGET),x86_64-linux)
  1564. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1565. endif
  1566. ifeq ($(FULL_TARGET),x86_64-freebsd)
  1567. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1568. endif
  1569. ifeq ($(FULL_TARGET),x86_64-netbsd)
  1570. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1571. endif
  1572. ifeq ($(FULL_TARGET),x86_64-solaris)
  1573. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1574. endif
  1575. ifeq ($(FULL_TARGET),x86_64-openbsd)
  1576. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1577. endif
  1578. ifeq ($(FULL_TARGET),x86_64-darwin)
  1579. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1580. endif
  1581. ifeq ($(FULL_TARGET),x86_64-win64)
  1582. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1583. endif
  1584. ifeq ($(FULL_TARGET),x86_64-embedded)
  1585. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1586. endif
  1587. ifeq ($(FULL_TARGET),arm-linux)
  1588. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1589. endif
  1590. ifeq ($(FULL_TARGET),arm-palmos)
  1591. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1592. endif
  1593. ifeq ($(FULL_TARGET),arm-darwin)
  1594. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1595. endif
  1596. ifeq ($(FULL_TARGET),arm-wince)
  1597. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1598. endif
  1599. ifeq ($(FULL_TARGET),arm-gba)
  1600. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1601. endif
  1602. ifeq ($(FULL_TARGET),arm-nds)
  1603. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1604. endif
  1605. ifeq ($(FULL_TARGET),arm-embedded)
  1606. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1607. endif
  1608. ifeq ($(FULL_TARGET),arm-symbian)
  1609. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1610. endif
  1611. ifeq ($(FULL_TARGET),arm-android)
  1612. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1613. endif
  1614. ifeq ($(FULL_TARGET),powerpc64-linux)
  1615. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1616. endif
  1617. ifeq ($(FULL_TARGET),powerpc64-darwin)
  1618. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1619. endif
  1620. ifeq ($(FULL_TARGET),powerpc64-embedded)
  1621. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1622. endif
  1623. ifeq ($(FULL_TARGET),powerpc64-aix)
  1624. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1625. endif
  1626. ifeq ($(FULL_TARGET),avr-embedded)
  1627. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1628. endif
  1629. ifeq ($(FULL_TARGET),armeb-linux)
  1630. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1631. endif
  1632. ifeq ($(FULL_TARGET),armeb-embedded)
  1633. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1634. endif
  1635. ifeq ($(FULL_TARGET),mips-linux)
  1636. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1637. endif
  1638. ifeq ($(FULL_TARGET),mipsel-linux)
  1639. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1640. endif
  1641. ifeq ($(FULL_TARGET),jvm-java)
  1642. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1643. endif
  1644. ifeq ($(FULL_TARGET),jvm-android)
  1645. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1646. endif
  1647. ifeq ($(FULL_TARGET),i8086-msdos)
  1648. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  1649. endif
  1650. ifdef REQUIRE_UNITSDIR
  1651. override UNITSDIR+=$(REQUIRE_UNITSDIR)
  1652. endif
  1653. ifdef REQUIRE_PACKAGESDIR
  1654. override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
  1655. endif
  1656. ifdef ZIPINSTALL
  1657. ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
  1658. UNIXHier=1
  1659. endif
  1660. else
  1661. ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),)
  1662. UNIXHier=1
  1663. endif
  1664. endif
  1665. ifndef INSTALL_PREFIX
  1666. ifdef PREFIX
  1667. INSTALL_PREFIX=$(PREFIX)
  1668. endif
  1669. endif
  1670. ifndef INSTALL_PREFIX
  1671. ifdef UNIXHier
  1672. INSTALL_PREFIX=/usr/local
  1673. else
  1674. ifdef INSTALL_FPCPACKAGE
  1675. INSTALL_BASEDIR:=/pp
  1676. else
  1677. INSTALL_BASEDIR:=/$(PACKAGE_NAME)
  1678. endif
  1679. endif
  1680. endif
  1681. export INSTALL_PREFIX
  1682. ifdef INSTALL_FPCSUBDIR
  1683. export INSTALL_FPCSUBDIR
  1684. endif
  1685. ifndef DIST_DESTDIR
  1686. DIST_DESTDIR:=$(BASEDIR)
  1687. endif
  1688. export DIST_DESTDIR
  1689. ifndef COMPILER_UNITTARGETDIR
  1690. ifdef PACKAGEDIR_MAIN
  1691. COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX)
  1692. else
  1693. COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX)
  1694. endif
  1695. endif
  1696. ifndef COMPILER_TARGETDIR
  1697. COMPILER_TARGETDIR=.
  1698. endif
  1699. ifndef INSTALL_BASEDIR
  1700. ifdef UNIXHier
  1701. ifdef INSTALL_FPCPACKAGE
  1702. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
  1703. else
  1704. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
  1705. endif
  1706. else
  1707. INSTALL_BASEDIR:=$(INSTALL_PREFIX)
  1708. endif
  1709. endif
  1710. ifndef INSTALL_BINDIR
  1711. ifdef UNIXHier
  1712. INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
  1713. else
  1714. INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
  1715. ifdef INSTALL_FPCPACKAGE
  1716. ifdef CROSSCOMPILE
  1717. ifdef CROSSINSTALL
  1718. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX)
  1719. else
  1720. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
  1721. endif
  1722. else
  1723. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
  1724. endif
  1725. endif
  1726. endif
  1727. endif
  1728. ifndef INSTALL_UNITDIR
  1729. INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX)
  1730. ifdef INSTALL_FPCPACKAGE
  1731. ifdef PACKAGE_NAME
  1732. INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
  1733. endif
  1734. endif
  1735. endif
  1736. ifndef INSTALL_LIBDIR
  1737. ifdef UNIXHier
  1738. INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
  1739. else
  1740. INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
  1741. endif
  1742. endif
  1743. ifndef INSTALL_SOURCEDIR
  1744. ifdef UNIXHier
  1745. ifdef BSDhier
  1746. SRCPREFIXDIR=share/src
  1747. else
  1748. ifdef linuxHier
  1749. SRCPREFIXDIR=share/src
  1750. else
  1751. SRCPREFIXDIR=src
  1752. endif
  1753. endif
  1754. ifdef INSTALL_FPCPACKAGE
  1755. ifdef INSTALL_FPCSUBDIR
  1756. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
  1757. else
  1758. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  1759. endif
  1760. else
  1761. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  1762. endif
  1763. else
  1764. ifdef INSTALL_FPCPACKAGE
  1765. ifdef INSTALL_FPCSUBDIR
  1766. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
  1767. else
  1768. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
  1769. endif
  1770. else
  1771. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
  1772. endif
  1773. endif
  1774. endif
  1775. ifndef INSTALL_DOCDIR
  1776. ifdef UNIXHier
  1777. ifdef BSDhier
  1778. DOCPREFIXDIR=share/doc
  1779. else
  1780. ifdef linuxHier
  1781. DOCPREFIXDIR=share/doc
  1782. else
  1783. DOCPREFIXDIR=doc
  1784. endif
  1785. endif
  1786. ifdef INSTALL_FPCPACKAGE
  1787. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  1788. else
  1789. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  1790. endif
  1791. else
  1792. ifdef INSTALL_FPCPACKAGE
  1793. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
  1794. else
  1795. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
  1796. endif
  1797. endif
  1798. endif
  1799. ifndef INSTALL_EXAMPLEDIR
  1800. ifdef UNIXHier
  1801. ifdef INSTALL_FPCPACKAGE
  1802. ifdef BSDhier
  1803. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  1804. else
  1805. ifdef linuxHier
  1806. INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
  1807. else
  1808. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
  1809. endif
  1810. endif
  1811. else
  1812. ifdef BSDhier
  1813. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  1814. else
  1815. ifdef linuxHier
  1816. INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  1817. else
  1818. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  1819. endif
  1820. endif
  1821. endif
  1822. else
  1823. ifdef INSTALL_FPCPACKAGE
  1824. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
  1825. else
  1826. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
  1827. endif
  1828. endif
  1829. endif
  1830. ifndef INSTALL_DATADIR
  1831. INSTALL_DATADIR=$(INSTALL_BASEDIR)
  1832. endif
  1833. ifndef INSTALL_SHAREDDIR
  1834. INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib
  1835. endif
  1836. ifdef CROSSCOMPILE
  1837. ifndef CROSSBINDIR
  1838. CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
  1839. ifeq ($(CROSSBINDIR),)
  1840. CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE))
  1841. endif
  1842. endif
  1843. else
  1844. CROSSBINDIR=
  1845. endif
  1846. BATCHEXT=.bat
  1847. LOADEREXT=.as
  1848. EXEEXT=.exe
  1849. PPLEXT=.ppl
  1850. PPUEXT=.ppu
  1851. OEXT=.o
  1852. ASMEXT=.s
  1853. SMARTEXT=.sl
  1854. STATICLIBEXT=.a
  1855. SHAREDLIBEXT=.so
  1856. SHAREDLIBPREFIX=libfp
  1857. STATICLIBPREFIX=libp
  1858. IMPORTLIBPREFIX=libimp
  1859. RSTEXT=.rst
  1860. EXEDBGEXT=.dbg
  1861. ifeq ($(OS_TARGET),go32v1)
  1862. STATICLIBPREFIX=
  1863. SHORTSUFFIX=v1
  1864. endif
  1865. ifeq ($(OS_TARGET),go32v2)
  1866. STATICLIBPREFIX=
  1867. SHORTSUFFIX=dos
  1868. IMPORTLIBPREFIX=
  1869. endif
  1870. ifeq ($(OS_TARGET),watcom)
  1871. STATICLIBPREFIX=
  1872. OEXT=.obj
  1873. ASMEXT=.asm
  1874. SHAREDLIBEXT=.dll
  1875. SHORTSUFFIX=wat
  1876. IMPORTLIBPREFIX=
  1877. endif
  1878. ifneq ($(CPU_TARGET),jvm)
  1879. ifeq ($(OS_TARGET),android)
  1880. BATCHEXT=.sh
  1881. EXEEXT=
  1882. HASSHAREDLIB=1
  1883. SHORTSUFFIX=lnx
  1884. endif
  1885. endif
  1886. ifeq ($(OS_TARGET),linux)
  1887. BATCHEXT=.sh
  1888. EXEEXT=
  1889. HASSHAREDLIB=1
  1890. SHORTSUFFIX=lnx
  1891. endif
  1892. ifeq ($(OS_TARGET),freebsd)
  1893. BATCHEXT=.sh
  1894. EXEEXT=
  1895. HASSHAREDLIB=1
  1896. SHORTSUFFIX=fbs
  1897. endif
  1898. ifeq ($(OS_TARGET),netbsd)
  1899. BATCHEXT=.sh
  1900. EXEEXT=
  1901. HASSHAREDLIB=1
  1902. SHORTSUFFIX=nbs
  1903. endif
  1904. ifeq ($(OS_TARGET),openbsd)
  1905. BATCHEXT=.sh
  1906. EXEEXT=
  1907. HASSHAREDLIB=1
  1908. SHORTSUFFIX=obs
  1909. endif
  1910. ifeq ($(OS_TARGET),win32)
  1911. SHAREDLIBEXT=.dll
  1912. SHORTSUFFIX=w32
  1913. endif
  1914. ifeq ($(OS_TARGET),os2)
  1915. BATCHEXT=.cmd
  1916. AOUTEXT=.out
  1917. STATICLIBPREFIX=
  1918. SHAREDLIBEXT=.dll
  1919. SHORTSUFFIX=os2
  1920. ECHO=echo
  1921. IMPORTLIBPREFIX=
  1922. endif
  1923. ifeq ($(OS_TARGET),emx)
  1924. BATCHEXT=.cmd
  1925. AOUTEXT=.out
  1926. STATICLIBPREFIX=
  1927. SHAREDLIBEXT=.dll
  1928. SHORTSUFFIX=emx
  1929. ECHO=echo
  1930. IMPORTLIBPREFIX=
  1931. endif
  1932. ifeq ($(OS_TARGET),amiga)
  1933. EXEEXT=
  1934. SHAREDLIBEXT=.library
  1935. SHORTSUFFIX=amg
  1936. endif
  1937. ifeq ($(OS_TARGET),morphos)
  1938. EXEEXT=
  1939. SHAREDLIBEXT=.library
  1940. SHORTSUFFIX=mos
  1941. endif
  1942. ifeq ($(OS_TARGET),atari)
  1943. EXEEXT=.ttp
  1944. SHORTSUFFIX=ata
  1945. endif
  1946. ifeq ($(OS_TARGET),beos)
  1947. BATCHEXT=.sh
  1948. EXEEXT=
  1949. SHORTSUFFIX=be
  1950. endif
  1951. ifeq ($(OS_TARGET),haiku)
  1952. BATCHEXT=.sh
  1953. EXEEXT=
  1954. SHORTSUFFIX=hai
  1955. endif
  1956. ifeq ($(OS_TARGET),solaris)
  1957. BATCHEXT=.sh
  1958. EXEEXT=
  1959. SHORTSUFFIX=sun
  1960. endif
  1961. ifeq ($(OS_TARGET),qnx)
  1962. BATCHEXT=.sh
  1963. EXEEXT=
  1964. SHORTSUFFIX=qnx
  1965. endif
  1966. ifeq ($(OS_TARGET),netware)
  1967. EXEEXT=.nlm
  1968. STATICLIBPREFIX=
  1969. SHORTSUFFIX=nw
  1970. IMPORTLIBPREFIX=imp
  1971. endif
  1972. ifeq ($(OS_TARGET),netwlibc)
  1973. EXEEXT=.nlm
  1974. STATICLIBPREFIX=
  1975. SHORTSUFFIX=nwl
  1976. IMPORTLIBPREFIX=imp
  1977. endif
  1978. ifeq ($(OS_TARGET),macos)
  1979. BATCHEXT=
  1980. EXEEXT=
  1981. DEBUGSYMEXT=.xcoff
  1982. SHORTSUFFIX=mac
  1983. IMPORTLIBPREFIX=imp
  1984. endif
  1985. ifneq ($(findstring $(OS_TARGET),darwin iphonesim),)
  1986. BATCHEXT=.sh
  1987. EXEEXT=
  1988. HASSHAREDLIB=1
  1989. SHORTSUFFIX=dwn
  1990. EXEDBGEXT=.dSYM
  1991. endif
  1992. ifeq ($(OS_TARGET),gba)
  1993. EXEEXT=.gba
  1994. SHAREDLIBEXT=.so
  1995. SHORTSUFFIX=gba
  1996. endif
  1997. ifeq ($(OS_TARGET),symbian)
  1998. SHAREDLIBEXT=.dll
  1999. SHORTSUFFIX=symbian
  2000. endif
  2001. ifeq ($(OS_TARGET),NativeNT)
  2002. SHAREDLIBEXT=.dll
  2003. SHORTSUFFIX=nativent
  2004. endif
  2005. ifeq ($(OS_TARGET),wii)
  2006. EXEEXT=.dol
  2007. SHAREDLIBEXT=.so
  2008. SHORTSUFFIX=wii
  2009. endif
  2010. ifeq ($(OS_TARGET),aix)
  2011. BATCHEXT=.sh
  2012. EXEEXT=
  2013. SHORTSUFFIX=aix
  2014. endif
  2015. ifeq ($(OS_TARGET),java)
  2016. OEXT=.class
  2017. ASMEXT=.j
  2018. SHAREDLIBEXT=.jar
  2019. SHORTSUFFIX=java
  2020. endif
  2021. ifeq ($(CPU_TARGET),jvm)
  2022. ifeq ($(OS_TARGET),android)
  2023. OEXT=.class
  2024. ASMEXT=.j
  2025. SHAREDLIBEXT=.jar
  2026. SHORTSUFFIX=android
  2027. endif
  2028. endif
  2029. ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
  2030. FPCMADE=fpcmade.$(SHORTSUFFIX)
  2031. ZIPSUFFIX=$(SHORTSUFFIX)
  2032. ZIPCROSSPREFIX=
  2033. ZIPSOURCESUFFIX=src
  2034. ZIPEXAMPLESUFFIX=exm
  2035. else
  2036. FPCMADE=fpcmade.$(TARGETSUFFIX)
  2037. ZIPSOURCESUFFIX=.source
  2038. ZIPEXAMPLESUFFIX=.examples
  2039. ifdef CROSSCOMPILE
  2040. ZIPSUFFIX=.$(SOURCESUFFIX)
  2041. ZIPCROSSPREFIX=$(TARGETSUFFIX)-
  2042. else
  2043. ZIPSUFFIX=.$(TARGETSUFFIX)
  2044. ZIPCROSSPREFIX=
  2045. endif
  2046. endif
  2047. ifndef ECHO
  2048. ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
  2049. ifeq ($(ECHO),)
  2050. ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
  2051. ifeq ($(ECHO),)
  2052. ECHO= __missing_command_ECHO
  2053. else
  2054. ECHO:=$(firstword $(ECHO))
  2055. endif
  2056. else
  2057. ECHO:=$(firstword $(ECHO))
  2058. endif
  2059. endif
  2060. export ECHO
  2061. ifndef DATE
  2062. DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
  2063. ifeq ($(DATE),)
  2064. DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
  2065. ifeq ($(DATE),)
  2066. DATE= __missing_command_DATE
  2067. else
  2068. DATE:=$(firstword $(DATE))
  2069. endif
  2070. else
  2071. DATE:=$(firstword $(DATE))
  2072. endif
  2073. endif
  2074. export DATE
  2075. ifndef GINSTALL
  2076. GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
  2077. ifeq ($(GINSTALL),)
  2078. GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
  2079. ifeq ($(GINSTALL),)
  2080. GINSTALL= __missing_command_GINSTALL
  2081. else
  2082. GINSTALL:=$(firstword $(GINSTALL))
  2083. endif
  2084. else
  2085. GINSTALL:=$(firstword $(GINSTALL))
  2086. endif
  2087. endif
  2088. export GINSTALL
  2089. ifndef CPPROG
  2090. CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
  2091. ifeq ($(CPPROG),)
  2092. CPPROG= __missing_command_CPPROG
  2093. else
  2094. CPPROG:=$(firstword $(CPPROG))
  2095. endif
  2096. endif
  2097. export CPPROG
  2098. ifndef RMPROG
  2099. RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
  2100. ifeq ($(RMPROG),)
  2101. RMPROG= __missing_command_RMPROG
  2102. else
  2103. RMPROG:=$(firstword $(RMPROG))
  2104. endif
  2105. endif
  2106. export RMPROG
  2107. ifndef MVPROG
  2108. MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
  2109. ifeq ($(MVPROG),)
  2110. MVPROG= __missing_command_MVPROG
  2111. else
  2112. MVPROG:=$(firstword $(MVPROG))
  2113. endif
  2114. endif
  2115. export MVPROG
  2116. ifndef MKDIRPROG
  2117. MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH))))
  2118. ifeq ($(MKDIRPROG),)
  2119. MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH))))
  2120. ifeq ($(MKDIRPROG),)
  2121. MKDIRPROG= __missing_command_MKDIRPROG
  2122. else
  2123. MKDIRPROG:=$(firstword $(MKDIRPROG))
  2124. endif
  2125. else
  2126. MKDIRPROG:=$(firstword $(MKDIRPROG))
  2127. endif
  2128. endif
  2129. export MKDIRPROG
  2130. ifndef ECHOREDIR
  2131. ifndef inUnix
  2132. ECHOREDIR=echo
  2133. else
  2134. ECHOREDIR=$(ECHO)
  2135. endif
  2136. endif
  2137. ifndef COPY
  2138. COPY:=$(CPPROG) -fp
  2139. endif
  2140. ifndef COPYTREE
  2141. COPYTREE:=$(CPPROG) -Rfp
  2142. endif
  2143. ifndef MKDIRTREE
  2144. MKDIRTREE:=$(MKDIRPROG) -p
  2145. endif
  2146. ifndef MOVE
  2147. MOVE:=$(MVPROG) -f
  2148. endif
  2149. ifndef DEL
  2150. DEL:=$(RMPROG) -f
  2151. endif
  2152. ifndef DELTREE
  2153. DELTREE:=$(RMPROG) -rf
  2154. endif
  2155. ifndef INSTALL
  2156. ifdef inUnix
  2157. INSTALL:=$(GINSTALL) -c -m 644
  2158. else
  2159. INSTALL:=$(COPY)
  2160. endif
  2161. endif
  2162. ifndef INSTALLEXE
  2163. ifdef inUnix
  2164. INSTALLEXE:=$(GINSTALL) -c -m 755
  2165. else
  2166. INSTALLEXE:=$(COPY)
  2167. endif
  2168. endif
  2169. ifndef MKDIR
  2170. MKDIR:=$(GINSTALL) -m 755 -d
  2171. endif
  2172. export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
  2173. ifndef PPUMOVE
  2174. PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
  2175. ifeq ($(PPUMOVE),)
  2176. PPUMOVE= __missing_command_PPUMOVE
  2177. else
  2178. PPUMOVE:=$(firstword $(PPUMOVE))
  2179. endif
  2180. endif
  2181. export PPUMOVE
  2182. ifndef FPCMAKE
  2183. FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
  2184. ifeq ($(FPCMAKE),)
  2185. FPCMAKE= __missing_command_FPCMAKE
  2186. else
  2187. FPCMAKE:=$(firstword $(FPCMAKE))
  2188. endif
  2189. endif
  2190. export FPCMAKE
  2191. ifndef ZIPPROG
  2192. ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
  2193. ifeq ($(ZIPPROG),)
  2194. ZIPPROG= __missing_command_ZIPPROG
  2195. else
  2196. ZIPPROG:=$(firstword $(ZIPPROG))
  2197. endif
  2198. endif
  2199. export ZIPPROG
  2200. ifndef TARPROG
  2201. TARPROG:=$(strip $(wildcard $(addsuffix /gtar$(SRCEXEEXT),$(SEARCHPATH))))
  2202. ifeq ($(TARPROG),)
  2203. TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
  2204. ifeq ($(TARPROG),)
  2205. TARPROG= __missing_command_TARPROG
  2206. else
  2207. TARPROG:=$(firstword $(TARPROG))
  2208. endif
  2209. else
  2210. TARPROG:=$(firstword $(TARPROG))
  2211. endif
  2212. endif
  2213. export TARPROG
  2214. ASNAME=$(BINUTILSPREFIX)as
  2215. LDNAME=$(BINUTILSPREFIX)ld
  2216. ARNAME=$(BINUTILSPREFIX)ar
  2217. RCNAME=$(BINUTILSPREFIX)rc
  2218. ifndef ASPROG
  2219. ifdef CROSSBINDIR
  2220. ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
  2221. else
  2222. ASPROG=$(ASNAME)
  2223. endif
  2224. endif
  2225. ifndef LDPROG
  2226. ifdef CROSSBINDIR
  2227. LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
  2228. else
  2229. LDPROG=$(LDNAME)
  2230. endif
  2231. endif
  2232. ifndef RCPROG
  2233. ifdef CROSSBINDIR
  2234. RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
  2235. else
  2236. RCPROG=$(RCNAME)
  2237. endif
  2238. endif
  2239. ifndef ARPROG
  2240. ifdef CROSSBINDIR
  2241. ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
  2242. else
  2243. ARPROG=$(ARNAME)
  2244. endif
  2245. endif
  2246. AS=$(ASPROG)
  2247. LD=$(LDPROG)
  2248. RC=$(RCPROG)
  2249. AR=$(ARPROG)
  2250. PPAS=ppas$(SRCBATCHEXT)
  2251. ifdef inUnix
  2252. LDCONFIG=ldconfig
  2253. else
  2254. LDCONFIG=
  2255. endif
  2256. ifdef DATE
  2257. DATESTR:=$(shell $(DATE) +%Y%m%d)
  2258. else
  2259. DATESTR=
  2260. endif
  2261. ZIPOPT=-9
  2262. ZIPEXT=.zip
  2263. ifeq ($(USETAR),bz2)
  2264. TAROPT=vj
  2265. TAREXT=.tar.bz2
  2266. else
  2267. TAROPT=vz
  2268. TAREXT=.tar.gz
  2269. endif
  2270. ifndef NOCPUDEF
  2271. override FPCOPTDEF=$(ARCH)
  2272. endif
  2273. ifneq ($(OS_TARGET),$(OS_SOURCE))
  2274. override FPCOPT+=-T$(OS_TARGET)
  2275. endif
  2276. ifneq ($(CPU_TARGET),$(CPU_SOURCE))
  2277. override FPCOPT+=-P$(ARCH)
  2278. endif
  2279. ifeq ($(OS_SOURCE),openbsd)
  2280. override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
  2281. override FPCMAKEOPT+=-FD$(NEW_BINUTILS_PATH)
  2282. endif
  2283. ifndef CROSSBOOTSTRAP
  2284. ifneq ($(BINUTILSPREFIX),)
  2285. override FPCOPT+=-XP$(BINUTILSPREFIX)
  2286. endif
  2287. ifneq ($(BINUTILSPREFIX),)
  2288. override FPCOPT+=-Xr$(RLINKPATH)
  2289. endif
  2290. endif
  2291. ifndef CROSSCOMPILE
  2292. ifneq ($(BINUTILSPREFIX),)
  2293. override FPCMAKEOPT+=-XP$(BINUTILSPREFIX)
  2294. endif
  2295. endif
  2296. ifdef UNITDIR
  2297. override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
  2298. endif
  2299. ifdef LIBDIR
  2300. override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
  2301. endif
  2302. ifdef OBJDIR
  2303. override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
  2304. endif
  2305. ifdef INCDIR
  2306. override FPCOPT+=$(addprefix -Fi,$(INCDIR))
  2307. endif
  2308. ifdef LINKSMART
  2309. override FPCOPT+=-XX
  2310. endif
  2311. ifdef CREATESMART
  2312. override FPCOPT+=-CX
  2313. endif
  2314. ifdef DEBUG
  2315. override FPCOPT+=-gl
  2316. override FPCOPTDEF+=DEBUG
  2317. endif
  2318. ifdef RELEASE
  2319. ifneq ($(findstring 2.0.,$(FPC_VERSION)),)
  2320. ifeq ($(CPU_TARGET),i386)
  2321. FPCCPUOPT:=-OG2p3
  2322. endif
  2323. ifeq ($(CPU_TARGET),powerpc)
  2324. FPCCPUOPT:=-O1r
  2325. endif
  2326. else
  2327. FPCCPUOPT:=-O2
  2328. endif
  2329. override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
  2330. override FPCOPTDEF+=RELEASE
  2331. endif
  2332. ifdef STRIP
  2333. override FPCOPT+=-Xs
  2334. endif
  2335. ifdef OPTIMIZE
  2336. override FPCOPT+=-O2
  2337. endif
  2338. ifdef VERBOSE
  2339. override FPCOPT+=-vwni
  2340. endif
  2341. ifdef COMPILER_OPTIONS
  2342. override FPCOPT+=$(COMPILER_OPTIONS)
  2343. endif
  2344. ifdef COMPILER_UNITDIR
  2345. override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
  2346. endif
  2347. ifdef COMPILER_LIBRARYDIR
  2348. override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
  2349. endif
  2350. ifdef COMPILER_OBJECTDIR
  2351. override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
  2352. endif
  2353. ifdef COMPILER_INCLUDEDIR
  2354. override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
  2355. endif
  2356. ifdef CROSSBINDIR
  2357. override FPCOPT+=-FD$(CROSSBINDIR)
  2358. endif
  2359. ifdef COMPILER_TARGETDIR
  2360. override FPCOPT+=-FE$(COMPILER_TARGETDIR)
  2361. ifeq ($(COMPILER_TARGETDIR),.)
  2362. override TARGETDIRPREFIX=
  2363. else
  2364. override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
  2365. endif
  2366. endif
  2367. ifdef COMPILER_UNITTARGETDIR
  2368. override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
  2369. ifeq ($(COMPILER_UNITTARGETDIR),.)
  2370. override UNITTARGETDIRPREFIX=
  2371. else
  2372. override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
  2373. endif
  2374. else
  2375. ifdef COMPILER_TARGETDIR
  2376. override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
  2377. override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
  2378. endif
  2379. endif
  2380. ifdef CREATESHARED
  2381. override FPCOPT+=-Cg
  2382. endif
  2383. ifneq ($(findstring $(OS_TARGET),freebsd openbsd netbsd linux solaris),)
  2384. ifeq ($(CPU_TARGET),x86_64)
  2385. override FPCOPT+=-Cg
  2386. endif
  2387. endif
  2388. ifdef LINKSHARED
  2389. endif
  2390. ifdef OPT
  2391. override FPCOPT+=$(OPT)
  2392. endif
  2393. ifdef FPCOPTDEF
  2394. override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
  2395. endif
  2396. ifdef CFGFILE
  2397. override FPCOPT+=@$(CFGFILE)
  2398. endif
  2399. ifdef USEENV
  2400. override FPCEXTCMD:=$(FPCOPT)
  2401. override FPCOPT:=!FPCEXTCMD
  2402. export FPCEXTCMD
  2403. endif
  2404. override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
  2405. override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
  2406. ifneq ($(AFULL_TARGET),$(AFULL_SOURCE))
  2407. override ACROSSCOMPILE=1
  2408. endif
  2409. ifdef ACROSSCOMPILE
  2410. override FPCOPT+=$(CROSSOPT)
  2411. endif
  2412. override COMPILER:=$(FPC) $(FPCOPT)
  2413. ifeq (,$(findstring -s ,$(COMPILER)))
  2414. EXECPPAS=
  2415. else
  2416. ifeq ($(FULL_SOURCE),$(FULL_TARGET))
  2417. ifdef RUNBATCH
  2418. EXECPPAS:=@$(RUNBATCH) $(PPAS)
  2419. else
  2420. EXECPPAS:=@$(PPAS)
  2421. endif
  2422. endif
  2423. endif
  2424. .PHONY: fpc_loaders
  2425. ifneq ($(TARGET_LOADERS),)
  2426. override ALLTARGET+=fpc_loaders
  2427. override CLEANTARGET+=fpc_loaders_clean
  2428. override INSTALLTARGET+=fpc_loaders_install
  2429. override LOADEROFILES:=$(addsuffix $(OEXT),$(TARGET_LOADERS))
  2430. endif
  2431. %$(OEXT): %$(LOADEREXT)
  2432. ifdef COMPILER_UNITTARGETDIR
  2433. $(AS) -o $(COMPILER_UNITTARGETDIR)/$*$(OEXT) $<
  2434. else
  2435. $(AS) -o $*$(OEXT) $<
  2436. endif
  2437. fpc_loaders: $(COMPILER_UNITTARGETDIR) $(LOADEROFILES)
  2438. fpc_loaders_clean:
  2439. ifdef COMPILER_UNITTARGETDIR
  2440. -$(DEL) $(addprefix $(COMPILER_UNITTARGETDIR)/,$(LOADEROFILES))
  2441. else
  2442. -$(DEL) $(LOADEROFILES)
  2443. endif
  2444. fpc_loaders_install:
  2445. $(MKDIR) $(INSTALL_UNITDIR)
  2446. ifdef COMPILER_UNITTARGETDIR
  2447. $(INSTALL) $(addprefix $(COMPILER_UNITTARGETDIR)/,$(LOADEROFILES)) $(INSTALL_UNITDIR)
  2448. else
  2449. $(INSTALL) $(LOADEROFILES) $(INSTALL_UNITDIR)
  2450. endif
  2451. .PHONY: fpc_units
  2452. ifneq ($(TARGET_UNITS)$(TARGET_IMPLICITUNITS),)
  2453. override ALLTARGET+=fpc_units
  2454. override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS))
  2455. override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS))
  2456. override INSTALLPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
  2457. override CLEANPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
  2458. endif
  2459. fpc_units: $(COMPILER_UNITTARGETDIR) $(UNITPPUFILES)
  2460. ifdef TARGET_RSTS
  2461. override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
  2462. override CLEANRSTFILES+=$(RSTFILES)
  2463. endif
  2464. .PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared
  2465. $(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
  2466. @$(ECHOREDIR) Compiled > $(FPCMADE)
  2467. fpc_all: $(FPCMADE)
  2468. fpc_smart:
  2469. $(MAKE) all LINKSMART=1 CREATESMART=1
  2470. fpc_debug:
  2471. $(MAKE) all DEBUG=1
  2472. fpc_release:
  2473. $(MAKE) all RELEASE=1
  2474. .SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res
  2475. $(COMPILER_UNITTARGETDIR):
  2476. $(MKDIRTREE) $(COMPILER_UNITTARGETDIR)
  2477. $(COMPILER_TARGETDIR):
  2478. $(MKDIRTREE) $(COMPILER_TARGETDIR)
  2479. %$(PPUEXT): %.pp
  2480. $(COMPILER) $<
  2481. $(EXECPPAS)
  2482. %$(PPUEXT): %.pas
  2483. $(COMPILER) $<
  2484. $(EXECPPAS)
  2485. %$(EXEEXT): %.pp
  2486. $(COMPILER) $<
  2487. $(EXECPPAS)
  2488. %$(EXEEXT): %.pas
  2489. $(COMPILER) $<
  2490. $(EXECPPAS)
  2491. %$(EXEEXT): %.lpr
  2492. $(COMPILER) $<
  2493. $(EXECPPAS)
  2494. %$(EXEEXT): %.dpr
  2495. $(COMPILER) $<
  2496. $(EXECPPAS)
  2497. %.res: %.rc
  2498. windres -i $< -o $@
  2499. vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  2500. vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  2501. vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  2502. vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  2503. vpath %.inc $(COMPILER_INCLUDEDIR)
  2504. vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
  2505. vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
  2506. .PHONY: fpc_shared
  2507. override INSTALLTARGET+=fpc_shared_install
  2508. ifndef SHARED_LIBVERSION
  2509. SHARED_LIBVERSION=$(FPC_VERSION)
  2510. endif
  2511. ifndef SHARED_LIBNAME
  2512. SHARED_LIBNAME=$(PACKAGE_NAME)
  2513. endif
  2514. ifndef SHARED_FULLNAME
  2515. SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION)$(SHAREDLIBEXT)
  2516. endif
  2517. ifndef SHARED_LIBUNITS
  2518. SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS)
  2519. override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_LIBUNITS))
  2520. endif
  2521. fpc_shared:
  2522. ifdef HASSHAREDLIB
  2523. $(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1
  2524. ifneq ($(SHARED_BUILD),n)
  2525. $(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR)
  2526. endif
  2527. else
  2528. @$(ECHO) Shared Libraries not supported
  2529. endif
  2530. fpc_shared_install:
  2531. ifneq ($(SHARED_BUILD),n)
  2532. ifneq ($(SHARED_LIBUNITS),)
  2533. ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),)
  2534. $(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(INSTALL_SHAREDDIR)
  2535. endif
  2536. endif
  2537. endif
  2538. .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
  2539. ifdef INSTALL_UNITS
  2540. override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
  2541. endif
  2542. ifdef INSTALL_BUILDUNIT
  2543. override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
  2544. endif
  2545. ifdef INSTALLPPUFILES
  2546. override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
  2547. ifneq ($(UNITTARGETDIRPREFIX),)
  2548. override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPUFILES)))
  2549. override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPULINKFILES))))
  2550. endif
  2551. override INSTALL_CREATEPACKAGEFPC=1
  2552. endif
  2553. ifdef INSTALLEXEFILES
  2554. ifneq ($(TARGETDIRPREFIX),)
  2555. override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(notdir $(INSTALLEXEFILES)))
  2556. endif
  2557. endif
  2558. fpc_install: all $(INSTALLTARGET)
  2559. ifdef INSTALLEXEFILES
  2560. $(MKDIR) $(INSTALL_BINDIR)
  2561. $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
  2562. endif
  2563. ifdef INSTALL_CREATEPACKAGEFPC
  2564. ifdef FPCMAKE
  2565. ifdef PACKAGE_VERSION
  2566. ifneq ($(wildcard Makefile.fpc),)
  2567. $(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
  2568. $(MKDIR) $(INSTALL_UNITDIR)
  2569. $(INSTALL) Package.fpc $(INSTALL_UNITDIR)
  2570. endif
  2571. endif
  2572. endif
  2573. endif
  2574. ifdef INSTALLPPUFILES
  2575. $(MKDIR) $(INSTALL_UNITDIR)
  2576. $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
  2577. ifneq ($(INSTALLPPULINKFILES),)
  2578. $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
  2579. endif
  2580. ifneq ($(wildcard $(LIB_FULLNAME)),)
  2581. $(MKDIR) $(INSTALL_LIBDIR)
  2582. $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
  2583. ifdef inUnix
  2584. ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
  2585. endif
  2586. endif
  2587. endif
  2588. ifdef INSTALL_FILES
  2589. $(MKDIR) $(INSTALL_DATADIR)
  2590. $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
  2591. endif
  2592. fpc_sourceinstall: distclean
  2593. $(MKDIR) $(INSTALL_SOURCEDIR)
  2594. $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
  2595. fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
  2596. ifdef HASEXAMPLES
  2597. $(MKDIR) $(INSTALL_EXAMPLEDIR)
  2598. endif
  2599. ifdef EXAMPLESOURCEFILES
  2600. $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
  2601. endif
  2602. ifdef TARGET_EXAMPLEDIRS
  2603. $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
  2604. endif
  2605. .PHONY: fpc_clean fpc_cleanall fpc_distclean
  2606. ifdef EXEFILES
  2607. override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
  2608. override CLEANEXEDBGFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEDBGFILES))
  2609. endif
  2610. ifdef CLEAN_PROGRAMS
  2611. override CLEANEXEFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEEXT), $(CLEAN_PROGRAMS)))
  2612. override CLEANEXEDBGFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEDBGEXT), $(CLEAN_PROGRAMS)))
  2613. endif
  2614. ifdef CLEAN_UNITS
  2615. override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
  2616. endif
  2617. ifdef CLEANPPUFILES
  2618. override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
  2619. ifdef DEBUGSYMEXT
  2620. override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
  2621. endif
  2622. override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
  2623. override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
  2624. endif
  2625. fpc_clean: $(CLEANTARGET)
  2626. ifdef CLEANEXEFILES
  2627. -$(DEL) $(CLEANEXEFILES)
  2628. endif
  2629. ifdef CLEANEXEDBGFILES
  2630. -$(DELTREE) $(CLEANEXEDBGFILES)
  2631. endif
  2632. ifdef CLEANPPUFILES
  2633. -$(DEL) $(CLEANPPUFILES)
  2634. endif
  2635. ifneq ($(CLEANPPULINKFILES),)
  2636. -$(DEL) $(CLEANPPULINKFILES)
  2637. endif
  2638. ifdef CLEANRSTFILES
  2639. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  2640. endif
  2641. ifdef CLEAN_FILES
  2642. -$(DEL) $(CLEAN_FILES)
  2643. endif
  2644. ifdef LIB_NAME
  2645. -$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
  2646. endif
  2647. -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
  2648. -$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
  2649. fpc_cleanall: $(CLEANTARGET)
  2650. ifdef CLEANEXEFILES
  2651. -$(DEL) $(CLEANEXEFILES)
  2652. endif
  2653. ifdef COMPILER_UNITTARGETDIR
  2654. ifdef CLEANPPUFILES
  2655. -$(DEL) $(CLEANPPUFILES)
  2656. endif
  2657. ifneq ($(CLEANPPULINKFILES),)
  2658. -$(DEL) $(CLEANPPULINKFILES)
  2659. endif
  2660. ifdef CLEANRSTFILES
  2661. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  2662. endif
  2663. endif
  2664. ifdef CLEAN_FILES
  2665. -$(DEL) $(CLEAN_FILES)
  2666. endif
  2667. -$(DELTREE) units
  2668. -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
  2669. ifneq ($(PPUEXT),.ppu)
  2670. -$(DEL) *.o *.ppu *.a
  2671. endif
  2672. -$(DELTREE) *$(SMARTEXT)
  2673. -$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
  2674. -$(DEL) *_ppas$(BATCHEXT)
  2675. ifdef AOUTEXT
  2676. -$(DEL) *$(AOUTEXT)
  2677. endif
  2678. ifdef DEBUGSYMEXT
  2679. -$(DEL) *$(DEBUGSYMEXT)
  2680. endif
  2681. fpc_distclean: cleanall
  2682. .PHONY: fpc_baseinfo
  2683. override INFORULES+=fpc_baseinfo
  2684. fpc_baseinfo:
  2685. @$(ECHO)
  2686. @$(ECHO) == Package info ==
  2687. @$(ECHO) Package Name..... $(PACKAGE_NAME)
  2688. @$(ECHO) Package Version.. $(PACKAGE_VERSION)
  2689. @$(ECHO)
  2690. @$(ECHO) == Configuration info ==
  2691. @$(ECHO)
  2692. @$(ECHO) FPC.......... $(FPC)
  2693. @$(ECHO) FPC Version.. $(FPC_VERSION)
  2694. @$(ECHO) Source CPU... $(CPU_SOURCE)
  2695. @$(ECHO) Target CPU... $(CPU_TARGET)
  2696. @$(ECHO) Source OS.... $(OS_SOURCE)
  2697. @$(ECHO) Target OS.... $(OS_TARGET)
  2698. @$(ECHO) Full Source.. $(FULL_SOURCE)
  2699. @$(ECHO) Full Target.. $(FULL_TARGET)
  2700. @$(ECHO) SourceSuffix. $(SOURCESUFFIX)
  2701. @$(ECHO) TargetSuffix. $(TARGETSUFFIX)
  2702. @$(ECHO) FPC fpmake... $(FPCFPMAKE)
  2703. @$(ECHO)
  2704. @$(ECHO) == Directory info ==
  2705. @$(ECHO)
  2706. @$(ECHO) Required pkgs... $(REQUIRE_PACKAGES)
  2707. @$(ECHO)
  2708. @$(ECHO) Basedir......... $(BASEDIR)
  2709. @$(ECHO) FPCDir.......... $(FPCDIR)
  2710. @$(ECHO) CrossBinDir..... $(CROSSBINDIR)
  2711. @$(ECHO) UnitsDir........ $(UNITSDIR)
  2712. @$(ECHO) PackagesDir..... $(PACKAGESDIR)
  2713. @$(ECHO)
  2714. @$(ECHO) GCC library..... $(GCCLIBDIR)
  2715. @$(ECHO) Other library... $(OTHERLIBDIR)
  2716. @$(ECHO)
  2717. @$(ECHO) == Tools info ==
  2718. @$(ECHO)
  2719. @$(ECHO) As........ $(AS)
  2720. @$(ECHO) Ld........ $(LD)
  2721. @$(ECHO) Ar........ $(AR)
  2722. @$(ECHO) Rc........ $(RC)
  2723. @$(ECHO)
  2724. @$(ECHO) Mv........ $(MVPROG)
  2725. @$(ECHO) Cp........ $(CPPROG)
  2726. @$(ECHO) Rm........ $(RMPROG)
  2727. @$(ECHO) GInstall.. $(GINSTALL)
  2728. @$(ECHO) Echo...... $(ECHO)
  2729. @$(ECHO) Shell..... $(SHELL)
  2730. @$(ECHO) Date...... $(DATE)
  2731. @$(ECHO) FPCMake... $(FPCMAKE)
  2732. @$(ECHO) PPUMove... $(PPUMOVE)
  2733. @$(ECHO) Zip....... $(ZIPPROG)
  2734. @$(ECHO)
  2735. @$(ECHO) == Object info ==
  2736. @$(ECHO)
  2737. @$(ECHO) Target Loaders........ $(TARGET_LOADERS)
  2738. @$(ECHO) Target Units.......... $(TARGET_UNITS)
  2739. @$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS)
  2740. @$(ECHO) Target Programs....... $(TARGET_PROGRAMS)
  2741. @$(ECHO) Target Dirs........... $(TARGET_DIRS)
  2742. @$(ECHO) Target Examples....... $(TARGET_EXAMPLES)
  2743. @$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
  2744. @$(ECHO)
  2745. @$(ECHO) Clean Units......... $(CLEAN_UNITS)
  2746. @$(ECHO) Clean Files......... $(CLEAN_FILES)
  2747. @$(ECHO)
  2748. @$(ECHO) Install Units....... $(INSTALL_UNITS)
  2749. @$(ECHO) Install Files....... $(INSTALL_FILES)
  2750. @$(ECHO)
  2751. @$(ECHO) == Install info ==
  2752. @$(ECHO)
  2753. @$(ECHO) DateStr.............. $(DATESTR)
  2754. @$(ECHO) ZipName.............. $(ZIPNAME)
  2755. @$(ECHO) ZipPrefix............ $(ZIPPREFIX)
  2756. @$(ECHO) ZipCrossPrefix....... $(ZIPCROSSPREFIX)
  2757. @$(ECHO) ZipSuffix............ $(ZIPSUFFIX)
  2758. @$(ECHO) FullZipName.......... $(FULLZIPNAME)
  2759. @$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE)
  2760. @$(ECHO)
  2761. @$(ECHO) Install base dir..... $(INSTALL_BASEDIR)
  2762. @$(ECHO) Install binary dir... $(INSTALL_BINDIR)
  2763. @$(ECHO) Install library dir.. $(INSTALL_LIBDIR)
  2764. @$(ECHO) Install units dir.... $(INSTALL_UNITDIR)
  2765. @$(ECHO) Install source dir... $(INSTALL_SOURCEDIR)
  2766. @$(ECHO) Install doc dir...... $(INSTALL_DOCDIR)
  2767. @$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR)
  2768. @$(ECHO) Install data dir..... $(INSTALL_DATADIR)
  2769. @$(ECHO)
  2770. @$(ECHO) Dist destination dir. $(DIST_DESTDIR)
  2771. @$(ECHO) Dist zip name........ $(DIST_ZIPNAME)
  2772. @$(ECHO)
  2773. .PHONY: fpc_info
  2774. fpc_info: $(INFORULES)
  2775. .PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
  2776. fpc_makefile_dirs
  2777. fpc_makefile:
  2778. $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
  2779. fpc_makefile_sub1:
  2780. ifdef TARGET_DIRS
  2781. $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
  2782. endif
  2783. ifdef TARGET_EXAMPLEDIRS
  2784. $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
  2785. endif
  2786. fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
  2787. fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
  2788. fpc_makefiles: fpc_makefile fpc_makefile_dirs
  2789. all: fpc_all
  2790. debug: fpc_debug
  2791. smart: fpc_smart
  2792. release: fpc_release
  2793. units: fpc_units
  2794. examples:
  2795. shared: fpc_shared
  2796. install: fpc_install
  2797. sourceinstall: fpc_sourceinstall
  2798. exampleinstall: fpc_exampleinstall
  2799. distinstall:
  2800. zipinstall:
  2801. zipsourceinstall:
  2802. zipexampleinstall:
  2803. zipdistinstall:
  2804. clean: fpc_clean
  2805. distclean: fpc_distclean
  2806. cleanall: fpc_cleanall
  2807. info: fpc_info
  2808. makefiles: fpc_makefiles
  2809. .PHONY: all debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
  2810. ifneq ($(wildcard fpcmake.loc),)
  2811. include fpcmake.loc
  2812. endif
  2813. .NOTPARALLEL:
  2814. include $(INC)/makefile.inc
  2815. SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
  2816. include $(PROCINC)/makefile.cpu
  2817. SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
  2818. SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
  2819. prt0$(OEXT) : prt0.asm
  2820. nasm -f obj -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) prt0.asm
  2821. system$(PPUEXT) : system.pp $(SYSDEPS)
  2822. $(COMPILER) -Us -Sg system.pp
  2823. uuchar$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT) $(INC)/uuchar.pp
  2824. objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc system$(PPUEXT)
  2825. $(COMPILER) -Fi$(OBJPASDIR) $(OBJPASDIR)/objpas.pp
  2826. strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \
  2827. $(PROCINC)/strings.inc $(PROCINC)/stringss.inc \
  2828. system$(PPUEXT)
  2829. go32$(PPUEXT) : go32.pp system$(PPUEXT)
  2830. dpmiexcp$(PPUEXT) : dpmiexcp.pp exceptn$(OEXT) system$(PPUEXT)
  2831. $(COMPILER) -Sg dpmiexcp.pp
  2832. initc$(PPUEXT) : initc.pp system$(PPUEXT)
  2833. profile$(PPUEXT) : profile.pp dpmiexcp$(PPUEXT) go32$(PPUEXT)
  2834. dxetype$(PPUEXT) : dxetype.pp system$(PPUEXT)
  2835. dxeload$(PPUEXT) : dxeload.pp dxetype$(PPUEXT) system$(PPUEXT)
  2836. emu387$(PPUEXT) : emu387.pp fpu$(OEXT) strings$(PPUEXT) dxeload$(PPUEXT) \
  2837. dpmiexcp$(PPUEXT)
  2838. ports$(PPUEXT) : ports.pp objpas$(PPUEXT) system$(PPUEXT)
  2839. dos$(PPUEXT) : dos.pp $(INC)/filerec.inc $(INC)/textrec.inc \
  2840. go32$(PPUEXT) strings$(PPUEXT) system$(PPUEXT)
  2841. crt$(PPUEXT) : crt.pp $(INC)/textrec.inc go32$(PPUEXT) system$(PPUEXT)
  2842. objects$(PPUEXT) : $(INC)/objects.pp system$(PPUEXT)
  2843. printer$(PPUEXT) : printer.pp system$(PPUEXT)
  2844. sysutils$(PPUEXT) : sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \
  2845. objpas$(PPUEXT) dos$(PPUEXT) go32$(PPUEXT) sysconst$(PPUEXT)
  2846. $(COMPILER) -Fi$(OBJPASDIR)/sysutils sysutils.pp
  2847. classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
  2848. sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconst$(PPUEXT) types$(PPUEXT) fgl$(PPUEXT)
  2849. $(COMPILER) -Fi$(OBJPASDIR)/classes classes.pp
  2850. fgl$(PPUEXT) : $(OBJPASDIR)/fgl.pp objpas$(PPUEXT) types$(PPUEXT) system$(PPUEXT) sysutils$(PPUEXT)
  2851. $(COMPILER) $(OBJPASDIR)/fgl.pp
  2852. math$(PPUEXT): $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT)
  2853. $(COMPILER) $(OBJPASDIR)/math.pp
  2854. typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT) rtlconst$(PPUEXT)
  2855. $(COMPILER) -Sg -Fi$(OBJPASDIR) $(OBJPASDIR)/typinfo.pp
  2856. varutils$(PPUEXT) : $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \
  2857. $(OBJPASDIR)/varutilh.inc varutils.pp sysutils$(PPUEXT)
  2858. $(COMPILER) -I$(OBJPASDIR) varutils.pp
  2859. variants$(PPUEXT) : $(INC)/variants.pp varutils$(PPUEXT) sysutils$(PPUEXT) sysconst$(PPUEXT) typinfo$(PPUEXT) rtlconst$(PPUEXT)
  2860. $(COMPILER) -Fi$(INC) $(INC)/variants.pp
  2861. fmtbcd$(PPUEXT) : $(OBJPASDIR)/fmtbcd.pp objpas$(PPUEXT) sysutils$(PPUEXT) variants$(PPUEXT) classes$(PPUEXT) system$(PPUEXT)
  2862. $(COMPILER) $(OBJPASDIR)/fmtbcd.pp
  2863. types$(PPUEXT) : $(OBJPASDIR)/types.pp objpas$(PPUEXT)
  2864. $(COMPILER) $(OBJPASDIR)/types.pp
  2865. rtlconst$(PPUEXT) : $(OBJPASDIR)/rtlconst.pp
  2866. $(COMPILER) -Fi$(OBJPASDIR) $(OBJPASDIR)/rtlconst.pp
  2867. sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT)
  2868. $(COMPILER) $(OBJPASDIR)/sysconst.pp
  2869. dateutil$(PPUEXT) : $(OBJPASDIR)/dateutil.pp
  2870. $(COMPILER) -Fi$(OBJPASDIR) $(OBJPASDIR)/dateutil.pp
  2871. convutil$(PPUEXT) : $(OBJPASDIR)/convutil.pp
  2872. $(COMPILER) -Fi$(OBJPASDIR) $(OBJPASDIR)/convutil.pp
  2873. strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp
  2874. $(COMPILER) $(OBJPASDIR)/strutils.pp
  2875. stdconvs$(PPUEXT) : $(OBJPASDIR)/stdconvs.pp objpas$(PPUEXT) system$(PPUEXT) \
  2876. sysutils$(PPUEXT)
  2877. $(COMPILER) $(OBJPASDIR)/stdconvs.pp
  2878. macpas$(PPUEXT) : $(INC)/macpas.pp objpas$(PPUEXT) math$(PPUEXT)
  2879. $(COMPILER) $(INC)/macpas.pp $(REDIR)
  2880. cpu$(PPUEXT) : $(PROCINC)/cpu.pp system$(PPUEXT)
  2881. mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) system$(PPUEXT)
  2882. getopts$(PPUEXT) : $(INC)/getopts.pp system$(PPUEXT)
  2883. heaptrc$(PPUEXT) : $(INC)/heaptrc.pp system$(PPUEXT)
  2884. $(COMPILER) -Sg $(INC)/heaptrc.pp
  2885. lineinfo$(PPUEXT) : $(INC)/lineinfo.pp system$(PPUEXT)
  2886. lnfodwrf$(PPUEXT) : $(INC)/lnfodwrf.pp system$(PPUEXT)
  2887. charset$(PPUEXT) : $(INC)/charset.pp system$(PPUEXT)
  2888. ucomplex$(PPUEXT) : $(INC)/ucomplex.pp math$(PPUEXT) system$(PPUEXT)
  2889. msmouse$(PPUEXT) : msmouse.pp system$(PPUEXT)
  2890. callspec$(PPUEXT) : $(INC)/callspec.pp system$(PPUEXT)
  2891. ctypes$(PPUEXT) : $(INC)/ctypes.pp system$(PPUEXT)