Makefile 99 KB

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