Makefile 101 KB

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