Makefile 119 KB

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