Makefile 125 KB

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