Makefile 98 KB

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