Makefile 147 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917
  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 m68k-human68k 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 mipsel-ps1 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-wasip1 wasm32-wasip1threads wasm32-wasip2 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 human68k
  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 ($(CPU_OS_TARGET),aarch64-embedded)
  195. endif
  196. ifdef SUB_TARGET
  197. FPCOPT+=-t$(SUB_TARGET)
  198. FPMAKE_OPT+=--subtarget=$(SUB_TARGET)
  199. endif
  200. ifeq ($(CPU_OS_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 ($(CPU_OS_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 ($(CPU_OS_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 ($(CPU_OS_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 ($(CPU_OS_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 ($(CPU_OS_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+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  371. endif
  372. ifeq ($(CPU_OS_TARGET),i386-go32v2)
  373. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  374. endif
  375. ifeq ($(CPU_OS_TARGET),i386-win32)
  376. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 showver testproc testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv testtimer
  377. endif
  378. ifeq ($(CPU_OS_TARGET),i386-os2)
  379. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 isockcli isocksvr testhres testnres testsres testrhre testrnre testrsre testur
  380. endif
  381. ifeq ($(CPU_OS_TARGET),i386-freebsd)
  382. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  383. endif
  384. ifeq ($(CPU_OS_TARGET),i386-beos)
  385. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  386. endif
  387. ifeq ($(CPU_OS_TARGET),i386-haiku)
  388. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  389. endif
  390. ifeq ($(CPU_OS_TARGET),i386-netbsd)
  391. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  392. endif
  393. ifeq ($(CPU_OS_TARGET),i386-solaris)
  394. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  395. endif
  396. ifeq ($(CPU_OS_TARGET),i386-netware)
  397. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  398. endif
  399. ifeq ($(CPU_OS_TARGET),i386-openbsd)
  400. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  401. endif
  402. ifeq ($(CPU_OS_TARGET),i386-wdosx)
  403. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  404. endif
  405. ifeq ($(CPU_OS_TARGET),i386-darwin)
  406. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  407. endif
  408. ifeq ($(CPU_OS_TARGET),i386-emx)
  409. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 isockcli isocksvr testhres testnres testsres testrhre testrnre testrsre testur
  410. endif
  411. ifeq ($(CPU_OS_TARGET),i386-watcom)
  412. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  413. endif
  414. ifeq ($(CPU_OS_TARGET),i386-netwlibc)
  415. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  416. endif
  417. ifeq ($(CPU_OS_TARGET),i386-wince)
  418. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  419. endif
  420. ifeq ($(CPU_OS_TARGET),i386-embedded)
  421. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  422. endif
  423. ifeq ($(CPU_OS_TARGET),i386-symbian)
  424. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  425. endif
  426. ifeq ($(CPU_OS_TARGET),i386-nativent)
  427. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  428. endif
  429. ifeq ($(CPU_OS_TARGET),i386-iphonesim)
  430. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  431. endif
  432. ifeq ($(CPU_OS_TARGET),i386-android)
  433. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  434. endif
  435. ifeq ($(CPU_OS_TARGET),i386-aros)
  436. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  437. endif
  438. ifeq ($(CPU_OS_TARGET),m68k-linux)
  439. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  440. endif
  441. ifeq ($(CPU_OS_TARGET),m68k-netbsd)
  442. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  443. endif
  444. ifeq ($(CPU_OS_TARGET),m68k-amiga)
  445. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  446. endif
  447. ifeq ($(CPU_OS_TARGET),m68k-atari)
  448. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  449. endif
  450. ifeq ($(CPU_OS_TARGET),m68k-palmos)
  451. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  452. endif
  453. ifeq ($(CPU_OS_TARGET),m68k-macosclassic)
  454. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  455. endif
  456. ifeq ($(CPU_OS_TARGET),m68k-embedded)
  457. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  458. endif
  459. ifeq ($(CPU_OS_TARGET),m68k-sinclairql)
  460. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  461. endif
  462. ifeq ($(CPU_OS_TARGET),m68k-human68k)
  463. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  464. endif
  465. ifeq ($(CPU_OS_TARGET),powerpc-linux)
  466. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  467. endif
  468. ifeq ($(CPU_OS_TARGET),powerpc-netbsd)
  469. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  470. endif
  471. ifeq ($(CPU_OS_TARGET),powerpc-amiga)
  472. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  473. endif
  474. ifeq ($(CPU_OS_TARGET),powerpc-macosclassic)
  475. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  476. endif
  477. ifeq ($(CPU_OS_TARGET),powerpc-darwin)
  478. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  479. endif
  480. ifeq ($(CPU_OS_TARGET),powerpc-morphos)
  481. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  482. endif
  483. ifeq ($(CPU_OS_TARGET),powerpc-embedded)
  484. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  485. endif
  486. ifeq ($(CPU_OS_TARGET),powerpc-wii)
  487. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  488. endif
  489. ifeq ($(CPU_OS_TARGET),powerpc-aix)
  490. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  491. endif
  492. ifeq ($(CPU_OS_TARGET),sparc-linux)
  493. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  494. endif
  495. ifeq ($(CPU_OS_TARGET),sparc-netbsd)
  496. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  497. endif
  498. ifeq ($(CPU_OS_TARGET),sparc-solaris)
  499. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  500. endif
  501. ifeq ($(CPU_OS_TARGET),sparc-embedded)
  502. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  503. endif
  504. ifeq ($(CPU_OS_TARGET),x86_64-linux)
  505. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  506. endif
  507. ifeq ($(CPU_OS_TARGET),x86_64-freebsd)
  508. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  509. endif
  510. ifeq ($(CPU_OS_TARGET),x86_64-haiku)
  511. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  512. endif
  513. ifeq ($(CPU_OS_TARGET),x86_64-netbsd)
  514. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  515. endif
  516. ifeq ($(CPU_OS_TARGET),x86_64-solaris)
  517. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  518. endif
  519. ifeq ($(CPU_OS_TARGET),x86_64-openbsd)
  520. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  521. endif
  522. ifeq ($(CPU_OS_TARGET),x86_64-darwin)
  523. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  524. endif
  525. ifeq ($(CPU_OS_TARGET),x86_64-win64)
  526. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  527. endif
  528. ifeq ($(CPU_OS_TARGET),x86_64-embedded)
  529. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  530. endif
  531. ifeq ($(CPU_OS_TARGET),x86_64-iphonesim)
  532. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  533. endif
  534. ifeq ($(CPU_OS_TARGET),x86_64-android)
  535. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  536. endif
  537. ifeq ($(CPU_OS_TARGET),x86_64-aros)
  538. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  539. endif
  540. ifeq ($(CPU_OS_TARGET),x86_64-dragonfly)
  541. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  542. endif
  543. ifeq ($(CPU_OS_TARGET),arm-linux)
  544. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  545. endif
  546. ifeq ($(CPU_OS_TARGET),arm-netbsd)
  547. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  548. endif
  549. ifeq ($(CPU_OS_TARGET),arm-palmos)
  550. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  551. endif
  552. ifeq ($(CPU_OS_TARGET),arm-wince)
  553. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  554. endif
  555. ifeq ($(CPU_OS_TARGET),arm-gba)
  556. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  557. endif
  558. ifeq ($(CPU_OS_TARGET),arm-nds)
  559. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  560. endif
  561. ifeq ($(CPU_OS_TARGET),arm-embedded)
  562. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  563. endif
  564. ifeq ($(CPU_OS_TARGET),arm-symbian)
  565. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  566. endif
  567. ifeq ($(CPU_OS_TARGET),arm-android)
  568. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  569. endif
  570. ifeq ($(CPU_OS_TARGET),arm-aros)
  571. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  572. endif
  573. ifeq ($(CPU_OS_TARGET),arm-freertos)
  574. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  575. endif
  576. ifeq ($(CPU_OS_TARGET),arm-ios)
  577. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  578. endif
  579. ifeq ($(CPU_OS_TARGET),powerpc64-linux)
  580. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  581. endif
  582. ifeq ($(CPU_OS_TARGET),powerpc64-darwin)
  583. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  584. endif
  585. ifeq ($(CPU_OS_TARGET),powerpc64-embedded)
  586. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  587. endif
  588. ifeq ($(CPU_OS_TARGET),powerpc64-aix)
  589. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  590. endif
  591. ifeq ($(CPU_OS_TARGET),avr-embedded)
  592. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  593. endif
  594. ifeq ($(CPU_OS_TARGET),armeb-linux)
  595. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  596. endif
  597. ifeq ($(CPU_OS_TARGET),armeb-embedded)
  598. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  599. endif
  600. ifeq ($(CPU_OS_TARGET),mips-linux)
  601. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  602. endif
  603. ifeq ($(CPU_OS_TARGET),mipsel-linux)
  604. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  605. endif
  606. ifeq ($(CPU_OS_TARGET),mipsel-embedded)
  607. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  608. endif
  609. ifeq ($(CPU_OS_TARGET),mipsel-android)
  610. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  611. endif
  612. ifeq ($(CPU_OS_TARGET),mipsel-ps1)
  613. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  614. endif
  615. ifeq ($(CPU_OS_TARGET),mips64-linux)
  616. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  617. endif
  618. ifeq ($(CPU_OS_TARGET),mips64el-linux)
  619. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  620. endif
  621. ifeq ($(CPU_OS_TARGET),jvm-java)
  622. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  623. endif
  624. ifeq ($(CPU_OS_TARGET),jvm-android)
  625. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  626. endif
  627. ifeq ($(CPU_OS_TARGET),i8086-embedded)
  628. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  629. endif
  630. ifeq ($(CPU_OS_TARGET),i8086-msdos)
  631. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  632. endif
  633. ifeq ($(CPU_OS_TARGET),i8086-win16)
  634. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  635. endif
  636. ifeq ($(CPU_OS_TARGET),aarch64-linux)
  637. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  638. endif
  639. ifeq ($(CPU_OS_TARGET),aarch64-freebsd)
  640. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  641. endif
  642. ifeq ($(CPU_OS_TARGET),aarch64-darwin)
  643. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  644. endif
  645. ifeq ($(CPU_OS_TARGET),aarch64-win64)
  646. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  647. endif
  648. ifeq ($(CPU_OS_TARGET),aarch64-embedded)
  649. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  650. endif
  651. ifeq ($(CPU_OS_TARGET),aarch64-iphonesim)
  652. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  653. endif
  654. ifeq ($(CPU_OS_TARGET),aarch64-android)
  655. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  656. endif
  657. ifeq ($(CPU_OS_TARGET),aarch64-ios)
  658. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  659. endif
  660. ifeq ($(CPU_OS_TARGET),wasm32-embedded)
  661. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  662. endif
  663. ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
  664. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  665. endif
  666. ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
  667. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  668. endif
  669. ifeq ($(CPU_OS_TARGET),wasm32-wasip2)
  670. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  671. endif
  672. ifeq ($(CPU_OS_TARGET),sparc64-linux)
  673. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  674. endif
  675. ifeq ($(CPU_OS_TARGET),riscv32-linux)
  676. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  677. endif
  678. ifeq ($(CPU_OS_TARGET),riscv32-embedded)
  679. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  680. endif
  681. ifeq ($(CPU_OS_TARGET),riscv32-freertos)
  682. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  683. endif
  684. ifeq ($(CPU_OS_TARGET),riscv64-linux)
  685. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  686. endif
  687. ifeq ($(CPU_OS_TARGET),riscv64-embedded)
  688. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  689. endif
  690. ifeq ($(CPU_OS_TARGET),xtensa-linux)
  691. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  692. endif
  693. ifeq ($(CPU_OS_TARGET),xtensa-embedded)
  694. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  695. endif
  696. ifeq ($(CPU_OS_TARGET),xtensa-freertos)
  697. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  698. endif
  699. ifeq ($(CPU_OS_TARGET),z80-embedded)
  700. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  701. endif
  702. ifeq ($(CPU_OS_TARGET),z80-zxspectrum)
  703. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  704. endif
  705. ifeq ($(CPU_OS_TARGET),z80-msxdos)
  706. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  707. endif
  708. ifeq ($(CPU_OS_TARGET),z80-amstradcpc)
  709. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85
  710. endif
  711. ifeq ($(CPU_OS_TARGET),loongarch64-linux)
  712. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip avltreetest testmime decodeascii85 encodeascii85 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest testtimer
  713. endif
  714. override INSTALL_FPCPACKAGE=y
  715. ifdef REQUIRE_UNITSDIR
  716. override UNITSDIR+=$(REQUIRE_UNITSDIR)
  717. endif
  718. ifdef REQUIRE_PACKAGESDIR
  719. override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
  720. endif
  721. ifdef ZIPINSTALL
  722. ifneq ($(filter $(OS_TARGET),$(UNIXs)),)
  723. UNIXHier=1
  724. endif
  725. else
  726. ifneq ($(filter $(OS_SOURCE),$(UNIXs)),)
  727. UNIXHier=1
  728. endif
  729. endif
  730. ifndef INSTALL_PREFIX
  731. ifdef PREFIX
  732. INSTALL_PREFIX=$(PREFIX)
  733. endif
  734. endif
  735. ifndef INSTALL_PREFIX
  736. ifdef UNIXHier
  737. INSTALL_PREFIX=/usr/local
  738. else
  739. ifdef INSTALL_FPCPACKAGE
  740. INSTALL_BASEDIR:=/pp
  741. else
  742. INSTALL_BASEDIR:=/$(PACKAGE_NAME)
  743. endif
  744. endif
  745. endif
  746. export INSTALL_PREFIX
  747. ifdef INSTALL_FPCSUBDIR
  748. export INSTALL_FPCSUBDIR
  749. endif
  750. ifndef DIST_DESTDIR
  751. DIST_DESTDIR:=$(BASEDIR)
  752. endif
  753. export DIST_DESTDIR
  754. ifndef COMPILER_UNITTARGETDIR
  755. ifdef PACKAGEDIR_MAIN
  756. COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX)
  757. else
  758. COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX)
  759. endif
  760. endif
  761. ifndef COMPILER_TARGETDIR
  762. COMPILER_TARGETDIR=.
  763. endif
  764. ifndef INSTALL_BASEDIR
  765. ifdef UNIXHier
  766. ifdef INSTALL_FPCPACKAGE
  767. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
  768. else
  769. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
  770. endif
  771. else
  772. INSTALL_BASEDIR:=$(INSTALL_PREFIX)
  773. endif
  774. endif
  775. ifndef INSTALL_BINDIR
  776. ifdef UNIXHier
  777. INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
  778. else
  779. INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
  780. ifdef INSTALL_FPCPACKAGE
  781. ifdef CROSSCOMPILE
  782. ifdef CROSSINSTALL
  783. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX)
  784. else
  785. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
  786. endif
  787. else
  788. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
  789. endif
  790. endif
  791. endif
  792. endif
  793. ifndef INSTALL_UNITDIR
  794. INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX)
  795. ifdef INSTALL_FPCPACKAGE
  796. ifdef PACKAGE_NAME
  797. INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
  798. endif
  799. endif
  800. endif
  801. ifndef INSTALL_LIBDIR
  802. ifdef UNIXHier
  803. INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
  804. else
  805. INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
  806. endif
  807. endif
  808. ifndef INSTALL_SOURCEDIR
  809. ifdef UNIXHier
  810. ifdef BSDhier
  811. SRCPREFIXDIR=share/src
  812. else
  813. ifdef linuxHier
  814. SRCPREFIXDIR=share/src
  815. else
  816. SRCPREFIXDIR=src
  817. endif
  818. endif
  819. ifdef INSTALL_FPCPACKAGE
  820. ifdef INSTALL_FPCSUBDIR
  821. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
  822. else
  823. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  824. endif
  825. else
  826. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  827. endif
  828. else
  829. ifdef INSTALL_FPCPACKAGE
  830. ifdef INSTALL_FPCSUBDIR
  831. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
  832. else
  833. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
  834. endif
  835. else
  836. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
  837. endif
  838. endif
  839. endif
  840. ifndef INSTALL_DOCDIR
  841. ifdef UNIXHier
  842. ifdef BSDhier
  843. DOCPREFIXDIR=share/doc
  844. else
  845. ifdef linuxHier
  846. DOCPREFIXDIR=share/doc
  847. else
  848. DOCPREFIXDIR=doc
  849. endif
  850. endif
  851. ifdef INSTALL_FPCPACKAGE
  852. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  853. else
  854. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  855. endif
  856. else
  857. ifdef INSTALL_FPCPACKAGE
  858. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
  859. else
  860. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
  861. endif
  862. endif
  863. endif
  864. ifndef INSTALL_EXAMPLEDIR
  865. ifdef UNIXHier
  866. ifdef INSTALL_FPCPACKAGE
  867. ifdef BSDhier
  868. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  869. else
  870. ifdef linuxHier
  871. INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
  872. else
  873. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
  874. endif
  875. endif
  876. else
  877. ifdef BSDhier
  878. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  879. else
  880. ifdef linuxHier
  881. INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  882. else
  883. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  884. endif
  885. endif
  886. endif
  887. else
  888. ifdef INSTALL_FPCPACKAGE
  889. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
  890. else
  891. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
  892. endif
  893. endif
  894. endif
  895. ifndef INSTALL_DATADIR
  896. INSTALL_DATADIR=$(INSTALL_BASEDIR)
  897. endif
  898. ifndef INSTALL_SHAREDDIR
  899. INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib
  900. endif
  901. ifdef CROSSCOMPILE
  902. ifndef CROSSBINDIR
  903. CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
  904. ifeq ($(CROSSBINDIR),)
  905. CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE))
  906. endif
  907. endif
  908. else
  909. CROSSBINDIR=
  910. endif
  911. ifeq ($(OS_SOURCE),linux)
  912. ifndef GCCLIBDIR
  913. ifeq ($(CPU_TARGET),i386)
  914. ifneq ($(filter x86_64,$(shell uname -a)),)
  915. ifeq ($(BINUTILSPREFIX),)
  916. GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`)
  917. else
  918. CROSSGCCOPT=-m32
  919. endif
  920. endif
  921. endif
  922. ifeq ($(CPU_TARGET),powerpc)
  923. ifeq ($(BINUTILSPREFIX),)
  924. GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`)
  925. else
  926. CROSSGCCOPT=-m32
  927. endif
  928. endif
  929. ifeq ($(CPU_TARGET),powerpc64)
  930. ifeq ($(BINUTILSPREFIX),)
  931. GCCLIBDIR:=$(shell dirname `gcc -m64 -print-libgcc-file-name`)
  932. else
  933. CROSSGCCOPT=-m64
  934. endif
  935. endif
  936. ifeq ($(CPU_TARGET),sparc)
  937. ifneq ($(filter sparc64,$(shell uname -a)),)
  938. ifeq ($(BINUTILSPREFIX),)
  939. GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`)
  940. else
  941. CROSSGCCOPT=-m32
  942. endif
  943. endif
  944. endif
  945. ifneq ($(filter $(CPU_TARGET),mips64 mipsel64),)
  946. ifeq ($(BINUTILSPREFIX),)
  947. GCCLIBDIR:=$(shell dirname `gcc -mabi=64 -print-libgcc-file-name`)
  948. else
  949. CROSSGCCOPT=-mabi=64
  950. endif
  951. endif
  952. ifneq ($(filter $(CPU_TARGET),mips mipsel),)
  953. ifeq ($(BINUTILSPREFIX),)
  954. GCCLIBDIR:=$(shell dirname `gcc -mabi=32 -print-libgcc-file-name`)
  955. else
  956. CROSSGCCOPT=-mabi=32
  957. endif
  958. endif
  959. ifeq ($(BINUTILSPREFIX),)
  960. ifeq ($(GCCLIBDIR),)
  961. GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
  962. endif
  963. else
  964. ifeq ($(CROSSGCCOPT),)
  965. CROSSGCCOPT=-g
  966. endif
  967. endif
  968. endif
  969. ifdef FPCFPMAKE
  970. FPCFPMAKE_CPU_TARGET=$(shell $(FPCFPMAKE) -iTP)
  971. ifeq ($(CPU_TARGET),$(FPCFPMAKE_CPU_TARGET))
  972. FPCMAKEGCCLIBDIR:=$(GCCLIBDIR)
  973. else
  974. ifneq ($(filter $(FPCFPMAKE_CPU_TARGET),aarch64 powerpc64 riscv64 sparc64 x86_64 loongarch64),)
  975. FPCMAKE_CROSSGCCOPT=-m64
  976. else
  977. ifneq ($(filter $(FPCFPMAKE_CPU_TARGET),mips64 mips64el),)
  978. FPCMAKE_CROSSGCCOPT=-mabi=64
  979. else
  980. ifneq ($(filter $(FPCFPMAKE_CPU_TARGET),mips mipsel),)
  981. FPCMAKE_CROSSGCCOPT=-mabi=32
  982. else
  983. ifeq ($(FPCFPMAKE_CPU_TARGET),riscv64)
  984. FPCMAKE_CROSSGCCOPT=-mabi=lp64
  985. else
  986. ifeq ($(FPCFPMAKE_CPU_TARGET),riscv32)
  987. FPCMAKE_CROSSGCCOPT=-mabi=ilp32
  988. else
  989. ifeq ($(FPCFPMAKE_CPU_TARGET),loongarch64)
  990. FPCMAKE_CROSSGCCOPT=-mabi=lp64d
  991. else
  992. FPCMAKE_CROSSGCCOPT=-m32
  993. endif
  994. endif
  995. endif
  996. endif
  997. endif
  998. endif
  999. FPCMAKEGCCLIBDIR:=$(shell dirname `gcc $(FPCMAKE_CROSSGCCOPT) -print-libgcc-file-name`)
  1000. endif
  1001. endif
  1002. ifndef FPCMAKEGCCLIBDIR
  1003. FPCMAKEGCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
  1004. endif
  1005. ifndef GCCLIBDIR
  1006. CROSSGCC=$(strip $(wildcard $(addsuffix /$(BINUTILSPREFIX)gcc$(SRCEXEEXT),$(SEARCHPATH))))
  1007. ifneq ($(CROSSGCC),)
  1008. GCCLIBDIR:=$(shell dirname `$(CROSSGCC) $(CROSSGCCOPT) -print-libgcc-file-name`)
  1009. endif
  1010. endif
  1011. endif
  1012. ifdef inUnix
  1013. ifeq ($(OS_SOURCE),netbsd)
  1014. OTHERLIBDIR:=/usr/pkg/lib
  1015. endif
  1016. export GCCLIBDIR FPCMAKEGCCLIBDIR OTHERLIBDIR
  1017. endif
  1018. BATCHEXT=.bat
  1019. LOADEREXT=.as
  1020. EXEEXT=.exe
  1021. PPLEXT=.ppl
  1022. PPUEXT=.ppu
  1023. OEXT=.o
  1024. LTOEXT=.bc
  1025. ASMEXT=.s
  1026. SMARTEXT=.sl
  1027. STATICLIBEXT=.a
  1028. SHAREDLIBEXT=.so
  1029. SHAREDLIBPREFIX=libfp
  1030. STATICLIBPREFIX=libp
  1031. IMPORTLIBPREFIX=libimp
  1032. RSTEXT=.rsj
  1033. EXEDBGEXT=.dbg
  1034. ALL_EXEEXT=.exe
  1035. ifeq ($(OS_TARGET),go32v1)
  1036. STATICLIBPREFIX=
  1037. SHORTSUFFIX=v1
  1038. endif
  1039. ifeq ($(OS_TARGET),go32v2)
  1040. STATICLIBPREFIX=
  1041. SHORTSUFFIX=dos
  1042. IMPORTLIBPREFIX=
  1043. endif
  1044. ifeq ($(OS_TARGET),watcom)
  1045. STATICLIBPREFIX=
  1046. OEXT=.obj
  1047. ASMEXT=.asm
  1048. SHAREDLIBEXT=.dll
  1049. SHORTSUFFIX=wat
  1050. IMPORTLIBPREFIX=
  1051. endif
  1052. ifneq ($(CPU_TARGET),jvm)
  1053. ifeq ($(OS_TARGET),android)
  1054. BATCHEXT=.sh
  1055. EXEEXT=
  1056. HASSHAREDLIB=1
  1057. SHORTSUFFIX=lnx
  1058. endif
  1059. endif
  1060. ifeq ($(OS_TARGET),linux)
  1061. BATCHEXT=.sh
  1062. EXEEXT=
  1063. HASSHAREDLIB=1
  1064. SHORTSUFFIX=lnx
  1065. endif
  1066. ifeq ($(OS_TARGET),dragonfly)
  1067. BATCHEXT=.sh
  1068. EXEEXT=
  1069. HASSHAREDLIB=1
  1070. SHORTSUFFIX=df
  1071. endif
  1072. ifeq ($(OS_TARGET),freebsd)
  1073. BATCHEXT=.sh
  1074. EXEEXT=
  1075. HASSHAREDLIB=1
  1076. SHORTSUFFIX=fbs
  1077. endif
  1078. ifeq ($(OS_TARGET),netbsd)
  1079. BATCHEXT=.sh
  1080. EXEEXT=
  1081. HASSHAREDLIB=1
  1082. SHORTSUFFIX=nbs
  1083. endif
  1084. ifeq ($(OS_TARGET),openbsd)
  1085. BATCHEXT=.sh
  1086. EXEEXT=
  1087. HASSHAREDLIB=1
  1088. SHORTSUFFIX=obs
  1089. endif
  1090. ifeq ($(OS_TARGET),win32)
  1091. SHAREDLIBEXT=.dll
  1092. SHORTSUFFIX=w32
  1093. endif
  1094. ifeq ($(OS_TARGET),os2)
  1095. BATCHEXT=.cmd
  1096. AOUTEXT=.out
  1097. STATICLIBPREFIX=
  1098. SHAREDLIBEXT=.dll
  1099. SHORTSUFFIX=os2
  1100. ECHO=echo
  1101. IMPORTLIBPREFIX=
  1102. endif
  1103. ifeq ($(OS_TARGET),emx)
  1104. BATCHEXT=.cmd
  1105. AOUTEXT=.out
  1106. STATICLIBPREFIX=
  1107. SHAREDLIBEXT=.dll
  1108. SHORTSUFFIX=emx
  1109. ECHO=echo
  1110. IMPORTLIBPREFIX=
  1111. endif
  1112. ifeq ($(OS_TARGET),amiga)
  1113. EXEEXT=
  1114. SHAREDLIBEXT=.library
  1115. SHORTSUFFIX=amg
  1116. endif
  1117. ifeq ($(OS_TARGET),aros)
  1118. EXEEXT=
  1119. SHAREDLIBEXT=.library
  1120. SHORTSUFFIX=aros
  1121. endif
  1122. ifeq ($(OS_TARGET),morphos)
  1123. EXEEXT=
  1124. SHAREDLIBEXT=.library
  1125. SHORTSUFFIX=mos
  1126. endif
  1127. ifeq ($(OS_TARGET),atari)
  1128. EXEEXT=.ttp
  1129. SHORTSUFFIX=ata
  1130. endif
  1131. ALL_EXEEXT+=.ttp
  1132. ifeq ($(OS_TARGET),beos)
  1133. BATCHEXT=.sh
  1134. EXEEXT=
  1135. SHORTSUFFIX=be
  1136. endif
  1137. ifeq ($(OS_TARGET),haiku)
  1138. BATCHEXT=.sh
  1139. EXEEXT=
  1140. SHORTSUFFIX=hai
  1141. endif
  1142. ifeq ($(OS_TARGET),solaris)
  1143. BATCHEXT=.sh
  1144. EXEEXT=
  1145. SHORTSUFFIX=sun
  1146. endif
  1147. ifeq ($(OS_TARGET),qnx)
  1148. BATCHEXT=.sh
  1149. EXEEXT=
  1150. SHORTSUFFIX=qnx
  1151. endif
  1152. ifeq ($(OS_TARGET),netware)
  1153. EXEEXT=.nlm
  1154. STATICLIBPREFIX=
  1155. SHORTSUFFIX=nw
  1156. IMPORTLIBPREFIX=imp
  1157. endif
  1158. ALL_EXEEXT+=.nlm
  1159. ifeq ($(OS_TARGET),netwlibc)
  1160. EXEEXT=.nlm
  1161. STATICLIBPREFIX=
  1162. SHORTSUFFIX=nwl
  1163. IMPORTLIBPREFIX=imp
  1164. endif
  1165. ifeq ($(OS_TARGET),macosclassic)
  1166. BATCHEXT=
  1167. EXEEXT=
  1168. DEBUGSYMEXT=.xcoff
  1169. SHORTSUFFIX=mac
  1170. IMPORTLIBPREFIX=imp
  1171. endif
  1172. ifneq ($(filter $(OS_TARGET),darwin iphonesim ios),)
  1173. BATCHEXT=.sh
  1174. EXEEXT=
  1175. HASSHAREDLIB=1
  1176. SHORTSUFFIX=dwn
  1177. EXEDBGEXT=.dSYM
  1178. endif
  1179. ifeq ($(OS_TARGET),gba)
  1180. EXEEXT=.gba
  1181. SHAREDLIBEXT=.so
  1182. SHORTSUFFIX=gba
  1183. endif
  1184. ALL_EXEEXT+=.gba
  1185. ifeq ($(OS_TARGET),symbian)
  1186. SHAREDLIBEXT=.dll
  1187. SHORTSUFFIX=symbian
  1188. endif
  1189. ifeq ($(OS_TARGET),NativeNT)
  1190. SHAREDLIBEXT=.dll
  1191. SHORTSUFFIX=nativent
  1192. endif
  1193. ifeq ($(OS_TARGET),wii)
  1194. EXEEXT=.dol
  1195. SHAREDLIBEXT=.so
  1196. SHORTSUFFIX=wii
  1197. endif
  1198. ALL_EXEEXT+=.dol
  1199. ifeq ($(OS_TARGET),aix)
  1200. BATCHEXT=.sh
  1201. EXEEXT=
  1202. SHAREDLIBEXT=.a
  1203. SHORTSUFFIX=aix
  1204. endif
  1205. ifeq ($(OS_TARGET),java)
  1206. OEXT=.class
  1207. ASMEXT=.j
  1208. SHAREDLIBEXT=.jar
  1209. SHORTSUFFIX=java
  1210. endif
  1211. ifeq ($(CPU_TARGET),jvm)
  1212. ifeq ($(OS_TARGET),android)
  1213. OEXT=.class
  1214. ASMEXT=.j
  1215. SHAREDLIBEXT=.jar
  1216. SHORTSUFFIX=android
  1217. endif
  1218. endif
  1219. ifeq ($(OS_TARGET),msdos)
  1220. STATICLIBPREFIX=
  1221. STATICLIBEXT=.a
  1222. SHORTSUFFIX=d16
  1223. endif
  1224. ifeq ($(OS_TARGET),msxdos)
  1225. STATICLIBPREFIX=
  1226. STATICLIBEXT=.a
  1227. SHORTSUFFIX=msd
  1228. endif
  1229. ifeq ($(OS_TARGET),embedded)
  1230. ifeq ($(CPU_TARGET),i8086)
  1231. STATICLIBPREFIX=
  1232. STATICLIBEXT=.a
  1233. else
  1234. EXEEXT=.bin
  1235. endif
  1236. ifeq ($(CPU_TARGET),z80)
  1237. OEXT=.rel
  1238. endif
  1239. SHORTSUFFIX=emb
  1240. endif
  1241. ALL_EXEEXT+=.bin
  1242. ifeq ($(OS_TARGET),win16)
  1243. STATICLIBPREFIX=
  1244. STATICLIBEXT=.a
  1245. SHAREDLIBEXT=.dll
  1246. SHORTSUFFIX=w16
  1247. endif
  1248. ifeq ($(OS_TARGET),zxspectrum)
  1249. OEXT=.rel
  1250. endif
  1251. ifeq ($(OS_TARGET),wasip1)
  1252. EXEEXT=.wasm
  1253. endif
  1254. ALL_EXEEXT+=.wasm
  1255. ifeq ($(OS_TARGET),wasip1threads)
  1256. EXEEXT=.wasm
  1257. endif
  1258. ifeq ($(OS_TARGET),wasip2)
  1259. EXEEXT=.wasm
  1260. endif
  1261. ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
  1262. FPCMADE=fpcmade.$(SHORTSUFFIX)
  1263. ZIPSUFFIX=$(SHORTSUFFIX)
  1264. ZIPCROSSPREFIX=
  1265. ZIPSOURCESUFFIX=src
  1266. ZIPEXAMPLESUFFIX=exm
  1267. else
  1268. FPCMADE=fpcmade.$(TARGETSUFFIX)
  1269. ZIPSOURCESUFFIX=.source
  1270. ZIPEXAMPLESUFFIX=.examples
  1271. ifdef CROSSCOMPILE
  1272. ZIPSUFFIX=.$(SOURCESUFFIX)
  1273. ZIPCROSSPREFIX=$(TARGETSUFFIX)-
  1274. else
  1275. ZIPSUFFIX=.$(TARGETSUFFIX)
  1276. ZIPCROSSPREFIX=
  1277. endif
  1278. endif
  1279. ifndef ECHO
  1280. ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
  1281. ifeq ($(ECHO),)
  1282. ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
  1283. ifeq ($(ECHO),)
  1284. ECHO= __missing_command_ECHO
  1285. else
  1286. ECHO:=$(firstword $(ECHO))
  1287. endif
  1288. else
  1289. ECHO:=$(firstword $(ECHO))
  1290. endif
  1291. endif
  1292. export ECHO
  1293. ifndef DATE
  1294. DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
  1295. ifeq ($(DATE),)
  1296. DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
  1297. ifeq ($(DATE),)
  1298. DATE= __missing_command_DATE
  1299. else
  1300. DATE:=$(firstword $(DATE))
  1301. endif
  1302. else
  1303. DATE:=$(firstword $(DATE))
  1304. endif
  1305. endif
  1306. export DATE
  1307. ifndef GINSTALL
  1308. GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
  1309. ifeq ($(GINSTALL),)
  1310. GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
  1311. ifeq ($(GINSTALL),)
  1312. GINSTALL= __missing_command_GINSTALL
  1313. else
  1314. GINSTALL:=$(firstword $(GINSTALL))
  1315. endif
  1316. else
  1317. GINSTALL:=$(firstword $(GINSTALL))
  1318. endif
  1319. endif
  1320. export GINSTALL
  1321. ifndef CPPROG
  1322. CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
  1323. ifeq ($(CPPROG),)
  1324. CPPROG= __missing_command_CPPROG
  1325. else
  1326. CPPROG:=$(firstword $(CPPROG))
  1327. endif
  1328. endif
  1329. export CPPROG
  1330. ifndef RMPROG
  1331. RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
  1332. ifeq ($(RMPROG),)
  1333. RMPROG= __missing_command_RMPROG
  1334. else
  1335. RMPROG:=$(firstword $(RMPROG))
  1336. endif
  1337. endif
  1338. export RMPROG
  1339. ifndef MVPROG
  1340. MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
  1341. ifeq ($(MVPROG),)
  1342. MVPROG= __missing_command_MVPROG
  1343. else
  1344. MVPROG:=$(firstword $(MVPROG))
  1345. endif
  1346. endif
  1347. export MVPROG
  1348. ifndef MKDIRPROG
  1349. MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH))))
  1350. ifeq ($(MKDIRPROG),)
  1351. MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH))))
  1352. ifeq ($(MKDIRPROG),)
  1353. MKDIRPROG= __missing_command_MKDIRPROG
  1354. else
  1355. MKDIRPROG:=$(firstword $(MKDIRPROG))
  1356. endif
  1357. else
  1358. MKDIRPROG:=$(firstword $(MKDIRPROG))
  1359. endif
  1360. endif
  1361. export MKDIRPROG
  1362. ifndef ECHOREDIR
  1363. ifndef inUnix
  1364. ECHOREDIR=echo
  1365. else
  1366. ECHOREDIR=$(ECHO)
  1367. endif
  1368. endif
  1369. ifndef COPY
  1370. COPY:=$(CPPROG) -fp
  1371. endif
  1372. ifndef COPYTREE
  1373. COPYTREE:=$(CPPROG) -Rfp
  1374. endif
  1375. ifndef MKDIRTREE
  1376. MKDIRTREE:=$(MKDIRPROG) -p
  1377. endif
  1378. ifndef MOVE
  1379. MOVE:=$(MVPROG) -f
  1380. endif
  1381. ifndef DEL
  1382. DEL:=$(RMPROG) -f
  1383. endif
  1384. ifndef DELTREE
  1385. DELTREE:=$(RMPROG) -rf
  1386. endif
  1387. ifndef INSTALL
  1388. ifdef inUnix
  1389. INSTALL:=$(GINSTALL) -c -m 644
  1390. else
  1391. INSTALL:=$(COPY)
  1392. endif
  1393. endif
  1394. ifndef INSTALLEXE
  1395. ifdef inUnix
  1396. INSTALLEXE:=$(GINSTALL) -c -m 755
  1397. else
  1398. INSTALLEXE:=$(COPY)
  1399. endif
  1400. endif
  1401. ifndef MKDIR
  1402. MKDIR:=$(GINSTALL) -m 755 -d
  1403. endif
  1404. export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
  1405. ifndef PPUMOVE
  1406. PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
  1407. ifeq ($(PPUMOVE),)
  1408. PPUMOVE= __missing_command_PPUMOVE
  1409. else
  1410. PPUMOVE:=$(firstword $(PPUMOVE))
  1411. endif
  1412. endif
  1413. export PPUMOVE
  1414. ifndef FPCMAKE
  1415. FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
  1416. ifeq ($(FPCMAKE),)
  1417. FPCMAKE= __missing_command_FPCMAKE
  1418. else
  1419. FPCMAKE:=$(firstword $(FPCMAKE))
  1420. endif
  1421. endif
  1422. export FPCMAKE
  1423. ifndef ZIPPROG
  1424. ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
  1425. ifeq ($(ZIPPROG),)
  1426. ZIPPROG= __missing_command_ZIPPROG
  1427. else
  1428. ZIPPROG:=$(firstword $(ZIPPROG))
  1429. endif
  1430. endif
  1431. export ZIPPROG
  1432. ifndef TARPROG
  1433. TARPROG:=$(strip $(wildcard $(addsuffix /gtar$(SRCEXEEXT),$(SEARCHPATH))))
  1434. ifeq ($(TARPROG),)
  1435. TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
  1436. ifeq ($(TARPROG),)
  1437. TARPROG= __missing_command_TARPROG
  1438. else
  1439. TARPROG:=$(firstword $(TARPROG))
  1440. endif
  1441. else
  1442. TARPROG:=$(firstword $(TARPROG))
  1443. endif
  1444. endif
  1445. export TARPROG
  1446. ASNAME=$(BINUTILSPREFIX)as
  1447. LDNAME=$(BINUTILSPREFIX)ld
  1448. ARNAME=$(BINUTILSPREFIX)ar
  1449. RCNAME=$(BINUTILSPREFIX)rc
  1450. NASMNAME=$(BINUTILSPREFIX)nasm
  1451. ifndef ASPROG
  1452. ifdef CROSSBINDIR
  1453. ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
  1454. else
  1455. ASPROG=$(ASNAME)
  1456. endif
  1457. endif
  1458. ifndef LDPROG
  1459. ifdef CROSSBINDIR
  1460. LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
  1461. else
  1462. LDPROG=$(LDNAME)
  1463. endif
  1464. endif
  1465. ifndef RCPROG
  1466. ifdef CROSSBINDIR
  1467. RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
  1468. else
  1469. RCPROG=$(RCNAME)
  1470. endif
  1471. endif
  1472. ifndef ARPROG
  1473. ifdef CROSSBINDIR
  1474. ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
  1475. else
  1476. ARPROG=$(ARNAME)
  1477. endif
  1478. endif
  1479. ifndef NASMPROG
  1480. ifdef CROSSBINDIR
  1481. NASMPROG=$(CROSSBINDIR)/$(NASMNAME)$(SRCEXEEXT)
  1482. else
  1483. NASMPROG=$(NASMNAME)
  1484. endif
  1485. endif
  1486. AS=$(ASPROG)
  1487. LD=$(LDPROG)
  1488. RC=$(RCPROG)
  1489. AR=$(ARPROG)
  1490. NASM=$(NASMPROG)
  1491. ifdef inUnix
  1492. PPAS=./ppas$(SRCBATCHEXT)
  1493. else
  1494. PPAS=ppas$(SRCBATCHEXT)
  1495. endif
  1496. ifdef inUnix
  1497. LDCONFIG=ldconfig
  1498. else
  1499. LDCONFIG=
  1500. endif
  1501. ifdef DATE
  1502. DATESTR:=$(shell $(DATE) +%Y%m%d)
  1503. else
  1504. DATESTR=
  1505. endif
  1506. ZIPOPT=-9
  1507. ZIPEXT=.zip
  1508. ifeq ($(USETAR),bz2)
  1509. TAROPT=vj
  1510. TAREXT=.tar.bz2
  1511. else
  1512. TAROPT=vz
  1513. TAREXT=.tar.gz
  1514. endif
  1515. override REQUIRE_PACKAGES=rtl fcl-base fcl-db fcl-fpcunit fcl-image fcl-net fcl-passrc fcl-registry fcl-web fcl-xml
  1516. ifeq ($(CPU_OS_TARGET),i386-linux)
  1517. REQUIRE_PACKAGES_RTL=1
  1518. REQUIRE_PACKAGES_FCL-BASE=1
  1519. REQUIRE_PACKAGES_FCL-DB=1
  1520. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1521. REQUIRE_PACKAGES_FCL-IMAGE=1
  1522. REQUIRE_PACKAGES_FCL-NET=1
  1523. REQUIRE_PACKAGES_FCL-PASSRC=1
  1524. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1525. REQUIRE_PACKAGES_FCL-WEB=1
  1526. REQUIRE_PACKAGES_FCL-XML=1
  1527. endif
  1528. ifeq ($(CPU_OS_TARGET),i386-go32v2)
  1529. REQUIRE_PACKAGES_RTL=1
  1530. REQUIRE_PACKAGES_FCL-BASE=1
  1531. REQUIRE_PACKAGES_FCL-DB=1
  1532. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1533. REQUIRE_PACKAGES_FCL-IMAGE=1
  1534. REQUIRE_PACKAGES_FCL-NET=1
  1535. REQUIRE_PACKAGES_FCL-PASSRC=1
  1536. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1537. REQUIRE_PACKAGES_FCL-WEB=1
  1538. REQUIRE_PACKAGES_FCL-XML=1
  1539. endif
  1540. ifeq ($(CPU_OS_TARGET),i386-win32)
  1541. REQUIRE_PACKAGES_RTL=1
  1542. REQUIRE_PACKAGES_FCL-BASE=1
  1543. REQUIRE_PACKAGES_FCL-DB=1
  1544. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1545. REQUIRE_PACKAGES_FCL-IMAGE=1
  1546. REQUIRE_PACKAGES_FCL-NET=1
  1547. REQUIRE_PACKAGES_FCL-PASSRC=1
  1548. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1549. REQUIRE_PACKAGES_FCL-WEB=1
  1550. REQUIRE_PACKAGES_FCL-XML=1
  1551. endif
  1552. ifeq ($(CPU_OS_TARGET),i386-os2)
  1553. REQUIRE_PACKAGES_RTL=1
  1554. REQUIRE_PACKAGES_FCL-BASE=1
  1555. REQUIRE_PACKAGES_FCL-DB=1
  1556. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1557. REQUIRE_PACKAGES_FCL-IMAGE=1
  1558. REQUIRE_PACKAGES_FCL-NET=1
  1559. REQUIRE_PACKAGES_FCL-PASSRC=1
  1560. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1561. REQUIRE_PACKAGES_FCL-WEB=1
  1562. REQUIRE_PACKAGES_FCL-XML=1
  1563. endif
  1564. ifeq ($(CPU_OS_TARGET),i386-freebsd)
  1565. REQUIRE_PACKAGES_RTL=1
  1566. REQUIRE_PACKAGES_FCL-BASE=1
  1567. REQUIRE_PACKAGES_FCL-DB=1
  1568. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1569. REQUIRE_PACKAGES_FCL-IMAGE=1
  1570. REQUIRE_PACKAGES_FCL-NET=1
  1571. REQUIRE_PACKAGES_FCL-PASSRC=1
  1572. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1573. REQUIRE_PACKAGES_FCL-WEB=1
  1574. REQUIRE_PACKAGES_FCL-XML=1
  1575. endif
  1576. ifeq ($(CPU_OS_TARGET),i386-beos)
  1577. REQUIRE_PACKAGES_RTL=1
  1578. REQUIRE_PACKAGES_FCL-BASE=1
  1579. REQUIRE_PACKAGES_FCL-DB=1
  1580. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1581. REQUIRE_PACKAGES_FCL-IMAGE=1
  1582. REQUIRE_PACKAGES_FCL-NET=1
  1583. REQUIRE_PACKAGES_FCL-PASSRC=1
  1584. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1585. REQUIRE_PACKAGES_FCL-WEB=1
  1586. REQUIRE_PACKAGES_FCL-XML=1
  1587. endif
  1588. ifeq ($(CPU_OS_TARGET),i386-haiku)
  1589. REQUIRE_PACKAGES_RTL=1
  1590. REQUIRE_PACKAGES_FCL-BASE=1
  1591. REQUIRE_PACKAGES_FCL-DB=1
  1592. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1593. REQUIRE_PACKAGES_FCL-IMAGE=1
  1594. REQUIRE_PACKAGES_FCL-NET=1
  1595. REQUIRE_PACKAGES_FCL-PASSRC=1
  1596. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1597. REQUIRE_PACKAGES_FCL-WEB=1
  1598. REQUIRE_PACKAGES_FCL-XML=1
  1599. endif
  1600. ifeq ($(CPU_OS_TARGET),i386-netbsd)
  1601. REQUIRE_PACKAGES_RTL=1
  1602. REQUIRE_PACKAGES_FCL-BASE=1
  1603. REQUIRE_PACKAGES_FCL-DB=1
  1604. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1605. REQUIRE_PACKAGES_FCL-IMAGE=1
  1606. REQUIRE_PACKAGES_FCL-NET=1
  1607. REQUIRE_PACKAGES_FCL-PASSRC=1
  1608. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1609. REQUIRE_PACKAGES_FCL-WEB=1
  1610. REQUIRE_PACKAGES_FCL-XML=1
  1611. endif
  1612. ifeq ($(CPU_OS_TARGET),i386-solaris)
  1613. REQUIRE_PACKAGES_RTL=1
  1614. REQUIRE_PACKAGES_FCL-BASE=1
  1615. REQUIRE_PACKAGES_FCL-DB=1
  1616. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1617. REQUIRE_PACKAGES_FCL-IMAGE=1
  1618. REQUIRE_PACKAGES_FCL-NET=1
  1619. REQUIRE_PACKAGES_FCL-PASSRC=1
  1620. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1621. REQUIRE_PACKAGES_FCL-WEB=1
  1622. REQUIRE_PACKAGES_FCL-XML=1
  1623. endif
  1624. ifeq ($(CPU_OS_TARGET),i386-netware)
  1625. REQUIRE_PACKAGES_RTL=1
  1626. REQUIRE_PACKAGES_FCL-BASE=1
  1627. REQUIRE_PACKAGES_FCL-DB=1
  1628. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1629. REQUIRE_PACKAGES_FCL-IMAGE=1
  1630. REQUIRE_PACKAGES_FCL-NET=1
  1631. REQUIRE_PACKAGES_FCL-PASSRC=1
  1632. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1633. REQUIRE_PACKAGES_FCL-WEB=1
  1634. REQUIRE_PACKAGES_FCL-XML=1
  1635. endif
  1636. ifeq ($(CPU_OS_TARGET),i386-openbsd)
  1637. REQUIRE_PACKAGES_RTL=1
  1638. REQUIRE_PACKAGES_FCL-BASE=1
  1639. REQUIRE_PACKAGES_FCL-DB=1
  1640. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1641. REQUIRE_PACKAGES_FCL-IMAGE=1
  1642. REQUIRE_PACKAGES_FCL-NET=1
  1643. REQUIRE_PACKAGES_FCL-PASSRC=1
  1644. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1645. REQUIRE_PACKAGES_FCL-WEB=1
  1646. REQUIRE_PACKAGES_FCL-XML=1
  1647. endif
  1648. ifeq ($(CPU_OS_TARGET),i386-wdosx)
  1649. REQUIRE_PACKAGES_RTL=1
  1650. REQUIRE_PACKAGES_FCL-BASE=1
  1651. REQUIRE_PACKAGES_FCL-DB=1
  1652. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1653. REQUIRE_PACKAGES_FCL-IMAGE=1
  1654. REQUIRE_PACKAGES_FCL-NET=1
  1655. REQUIRE_PACKAGES_FCL-PASSRC=1
  1656. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1657. REQUIRE_PACKAGES_FCL-WEB=1
  1658. REQUIRE_PACKAGES_FCL-XML=1
  1659. endif
  1660. ifeq ($(CPU_OS_TARGET),i386-darwin)
  1661. REQUIRE_PACKAGES_RTL=1
  1662. REQUIRE_PACKAGES_FCL-BASE=1
  1663. REQUIRE_PACKAGES_FCL-DB=1
  1664. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1665. REQUIRE_PACKAGES_FCL-IMAGE=1
  1666. REQUIRE_PACKAGES_FCL-NET=1
  1667. REQUIRE_PACKAGES_FCL-PASSRC=1
  1668. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1669. REQUIRE_PACKAGES_FCL-WEB=1
  1670. REQUIRE_PACKAGES_FCL-XML=1
  1671. endif
  1672. ifeq ($(CPU_OS_TARGET),i386-emx)
  1673. REQUIRE_PACKAGES_RTL=1
  1674. REQUIRE_PACKAGES_FCL-BASE=1
  1675. REQUIRE_PACKAGES_FCL-DB=1
  1676. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1677. REQUIRE_PACKAGES_FCL-IMAGE=1
  1678. REQUIRE_PACKAGES_FCL-NET=1
  1679. REQUIRE_PACKAGES_FCL-PASSRC=1
  1680. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1681. REQUIRE_PACKAGES_FCL-WEB=1
  1682. REQUIRE_PACKAGES_FCL-XML=1
  1683. endif
  1684. ifeq ($(CPU_OS_TARGET),i386-watcom)
  1685. REQUIRE_PACKAGES_RTL=1
  1686. REQUIRE_PACKAGES_FCL-BASE=1
  1687. REQUIRE_PACKAGES_FCL-DB=1
  1688. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1689. REQUIRE_PACKAGES_FCL-IMAGE=1
  1690. REQUIRE_PACKAGES_FCL-NET=1
  1691. REQUIRE_PACKAGES_FCL-PASSRC=1
  1692. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1693. REQUIRE_PACKAGES_FCL-WEB=1
  1694. REQUIRE_PACKAGES_FCL-XML=1
  1695. endif
  1696. ifeq ($(CPU_OS_TARGET),i386-netwlibc)
  1697. REQUIRE_PACKAGES_RTL=1
  1698. REQUIRE_PACKAGES_FCL-BASE=1
  1699. REQUIRE_PACKAGES_FCL-DB=1
  1700. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1701. REQUIRE_PACKAGES_FCL-IMAGE=1
  1702. REQUIRE_PACKAGES_FCL-NET=1
  1703. REQUIRE_PACKAGES_FCL-PASSRC=1
  1704. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1705. REQUIRE_PACKAGES_FCL-WEB=1
  1706. REQUIRE_PACKAGES_FCL-XML=1
  1707. endif
  1708. ifeq ($(CPU_OS_TARGET),i386-wince)
  1709. REQUIRE_PACKAGES_RTL=1
  1710. REQUIRE_PACKAGES_FCL-BASE=1
  1711. REQUIRE_PACKAGES_FCL-DB=1
  1712. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1713. REQUIRE_PACKAGES_FCL-IMAGE=1
  1714. REQUIRE_PACKAGES_FCL-NET=1
  1715. REQUIRE_PACKAGES_FCL-PASSRC=1
  1716. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1717. REQUIRE_PACKAGES_FCL-WEB=1
  1718. REQUIRE_PACKAGES_FCL-XML=1
  1719. endif
  1720. ifeq ($(CPU_OS_TARGET),i386-embedded)
  1721. REQUIRE_PACKAGES_RTL=1
  1722. REQUIRE_PACKAGES_FCL-BASE=1
  1723. REQUIRE_PACKAGES_FCL-DB=1
  1724. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1725. REQUIRE_PACKAGES_FCL-IMAGE=1
  1726. REQUIRE_PACKAGES_FCL-NET=1
  1727. REQUIRE_PACKAGES_FCL-PASSRC=1
  1728. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1729. REQUIRE_PACKAGES_FCL-WEB=1
  1730. REQUIRE_PACKAGES_FCL-XML=1
  1731. endif
  1732. ifeq ($(CPU_OS_TARGET),i386-symbian)
  1733. REQUIRE_PACKAGES_RTL=1
  1734. REQUIRE_PACKAGES_FCL-BASE=1
  1735. REQUIRE_PACKAGES_FCL-DB=1
  1736. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1737. REQUIRE_PACKAGES_FCL-IMAGE=1
  1738. REQUIRE_PACKAGES_FCL-NET=1
  1739. REQUIRE_PACKAGES_FCL-PASSRC=1
  1740. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1741. REQUIRE_PACKAGES_FCL-WEB=1
  1742. REQUIRE_PACKAGES_FCL-XML=1
  1743. endif
  1744. ifeq ($(CPU_OS_TARGET),i386-nativent)
  1745. REQUIRE_PACKAGES_RTL=1
  1746. REQUIRE_PACKAGES_FCL-BASE=1
  1747. REQUIRE_PACKAGES_FCL-DB=1
  1748. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1749. REQUIRE_PACKAGES_FCL-IMAGE=1
  1750. REQUIRE_PACKAGES_FCL-NET=1
  1751. REQUIRE_PACKAGES_FCL-PASSRC=1
  1752. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1753. REQUIRE_PACKAGES_FCL-WEB=1
  1754. REQUIRE_PACKAGES_FCL-XML=1
  1755. endif
  1756. ifeq ($(CPU_OS_TARGET),i386-iphonesim)
  1757. REQUIRE_PACKAGES_RTL=1
  1758. REQUIRE_PACKAGES_FCL-BASE=1
  1759. REQUIRE_PACKAGES_FCL-DB=1
  1760. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1761. REQUIRE_PACKAGES_FCL-IMAGE=1
  1762. REQUIRE_PACKAGES_FCL-NET=1
  1763. REQUIRE_PACKAGES_FCL-PASSRC=1
  1764. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1765. REQUIRE_PACKAGES_FCL-WEB=1
  1766. REQUIRE_PACKAGES_FCL-XML=1
  1767. endif
  1768. ifeq ($(CPU_OS_TARGET),i386-android)
  1769. REQUIRE_PACKAGES_RTL=1
  1770. REQUIRE_PACKAGES_FCL-BASE=1
  1771. REQUIRE_PACKAGES_FCL-DB=1
  1772. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1773. REQUIRE_PACKAGES_FCL-IMAGE=1
  1774. REQUIRE_PACKAGES_FCL-NET=1
  1775. REQUIRE_PACKAGES_FCL-PASSRC=1
  1776. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1777. REQUIRE_PACKAGES_FCL-WEB=1
  1778. REQUIRE_PACKAGES_FCL-XML=1
  1779. endif
  1780. ifeq ($(CPU_OS_TARGET),i386-aros)
  1781. REQUIRE_PACKAGES_RTL=1
  1782. REQUIRE_PACKAGES_FCL-BASE=1
  1783. REQUIRE_PACKAGES_FCL-DB=1
  1784. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1785. REQUIRE_PACKAGES_FCL-IMAGE=1
  1786. REQUIRE_PACKAGES_FCL-NET=1
  1787. REQUIRE_PACKAGES_FCL-PASSRC=1
  1788. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1789. REQUIRE_PACKAGES_FCL-WEB=1
  1790. REQUIRE_PACKAGES_FCL-XML=1
  1791. endif
  1792. ifeq ($(CPU_OS_TARGET),m68k-linux)
  1793. REQUIRE_PACKAGES_RTL=1
  1794. REQUIRE_PACKAGES_FCL-BASE=1
  1795. REQUIRE_PACKAGES_FCL-DB=1
  1796. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1797. REQUIRE_PACKAGES_FCL-IMAGE=1
  1798. REQUIRE_PACKAGES_FCL-NET=1
  1799. REQUIRE_PACKAGES_FCL-PASSRC=1
  1800. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1801. REQUIRE_PACKAGES_FCL-WEB=1
  1802. REQUIRE_PACKAGES_FCL-XML=1
  1803. endif
  1804. ifeq ($(CPU_OS_TARGET),m68k-netbsd)
  1805. REQUIRE_PACKAGES_RTL=1
  1806. REQUIRE_PACKAGES_FCL-BASE=1
  1807. REQUIRE_PACKAGES_FCL-DB=1
  1808. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1809. REQUIRE_PACKAGES_FCL-IMAGE=1
  1810. REQUIRE_PACKAGES_FCL-NET=1
  1811. REQUIRE_PACKAGES_FCL-PASSRC=1
  1812. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1813. REQUIRE_PACKAGES_FCL-WEB=1
  1814. REQUIRE_PACKAGES_FCL-XML=1
  1815. endif
  1816. ifeq ($(CPU_OS_TARGET),m68k-amiga)
  1817. REQUIRE_PACKAGES_RTL=1
  1818. REQUIRE_PACKAGES_FCL-BASE=1
  1819. REQUIRE_PACKAGES_FCL-DB=1
  1820. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1821. REQUIRE_PACKAGES_FCL-IMAGE=1
  1822. REQUIRE_PACKAGES_FCL-NET=1
  1823. REQUIRE_PACKAGES_FCL-PASSRC=1
  1824. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1825. REQUIRE_PACKAGES_FCL-WEB=1
  1826. REQUIRE_PACKAGES_FCL-XML=1
  1827. endif
  1828. ifeq ($(CPU_OS_TARGET),m68k-atari)
  1829. REQUIRE_PACKAGES_RTL=1
  1830. REQUIRE_PACKAGES_FCL-BASE=1
  1831. REQUIRE_PACKAGES_FCL-DB=1
  1832. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1833. REQUIRE_PACKAGES_FCL-IMAGE=1
  1834. REQUIRE_PACKAGES_FCL-NET=1
  1835. REQUIRE_PACKAGES_FCL-PASSRC=1
  1836. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1837. REQUIRE_PACKAGES_FCL-WEB=1
  1838. REQUIRE_PACKAGES_FCL-XML=1
  1839. endif
  1840. ifeq ($(CPU_OS_TARGET),m68k-palmos)
  1841. REQUIRE_PACKAGES_RTL=1
  1842. REQUIRE_PACKAGES_FCL-BASE=1
  1843. REQUIRE_PACKAGES_FCL-DB=1
  1844. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1845. REQUIRE_PACKAGES_FCL-IMAGE=1
  1846. REQUIRE_PACKAGES_FCL-NET=1
  1847. REQUIRE_PACKAGES_FCL-PASSRC=1
  1848. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1849. REQUIRE_PACKAGES_FCL-WEB=1
  1850. REQUIRE_PACKAGES_FCL-XML=1
  1851. endif
  1852. ifeq ($(CPU_OS_TARGET),m68k-macosclassic)
  1853. REQUIRE_PACKAGES_RTL=1
  1854. REQUIRE_PACKAGES_FCL-BASE=1
  1855. REQUIRE_PACKAGES_FCL-DB=1
  1856. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1857. REQUIRE_PACKAGES_FCL-IMAGE=1
  1858. REQUIRE_PACKAGES_FCL-NET=1
  1859. REQUIRE_PACKAGES_FCL-PASSRC=1
  1860. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1861. REQUIRE_PACKAGES_FCL-WEB=1
  1862. REQUIRE_PACKAGES_FCL-XML=1
  1863. endif
  1864. ifeq ($(CPU_OS_TARGET),m68k-embedded)
  1865. REQUIRE_PACKAGES_RTL=1
  1866. REQUIRE_PACKAGES_FCL-BASE=1
  1867. REQUIRE_PACKAGES_FCL-DB=1
  1868. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1869. REQUIRE_PACKAGES_FCL-IMAGE=1
  1870. REQUIRE_PACKAGES_FCL-NET=1
  1871. REQUIRE_PACKAGES_FCL-PASSRC=1
  1872. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1873. REQUIRE_PACKAGES_FCL-WEB=1
  1874. REQUIRE_PACKAGES_FCL-XML=1
  1875. endif
  1876. ifeq ($(CPU_OS_TARGET),m68k-sinclairql)
  1877. REQUIRE_PACKAGES_RTL=1
  1878. REQUIRE_PACKAGES_FCL-BASE=1
  1879. REQUIRE_PACKAGES_FCL-DB=1
  1880. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1881. REQUIRE_PACKAGES_FCL-IMAGE=1
  1882. REQUIRE_PACKAGES_FCL-NET=1
  1883. REQUIRE_PACKAGES_FCL-PASSRC=1
  1884. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1885. REQUIRE_PACKAGES_FCL-WEB=1
  1886. REQUIRE_PACKAGES_FCL-XML=1
  1887. endif
  1888. ifeq ($(CPU_OS_TARGET),m68k-human68k)
  1889. REQUIRE_PACKAGES_RTL=1
  1890. REQUIRE_PACKAGES_FCL-BASE=1
  1891. REQUIRE_PACKAGES_FCL-DB=1
  1892. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1893. REQUIRE_PACKAGES_FCL-IMAGE=1
  1894. REQUIRE_PACKAGES_FCL-NET=1
  1895. REQUIRE_PACKAGES_FCL-PASSRC=1
  1896. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1897. REQUIRE_PACKAGES_FCL-WEB=1
  1898. REQUIRE_PACKAGES_FCL-XML=1
  1899. endif
  1900. ifeq ($(CPU_OS_TARGET),powerpc-linux)
  1901. REQUIRE_PACKAGES_RTL=1
  1902. REQUIRE_PACKAGES_FCL-BASE=1
  1903. REQUIRE_PACKAGES_FCL-DB=1
  1904. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1905. REQUIRE_PACKAGES_FCL-IMAGE=1
  1906. REQUIRE_PACKAGES_FCL-NET=1
  1907. REQUIRE_PACKAGES_FCL-PASSRC=1
  1908. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1909. REQUIRE_PACKAGES_FCL-WEB=1
  1910. REQUIRE_PACKAGES_FCL-XML=1
  1911. endif
  1912. ifeq ($(CPU_OS_TARGET),powerpc-netbsd)
  1913. REQUIRE_PACKAGES_RTL=1
  1914. REQUIRE_PACKAGES_FCL-BASE=1
  1915. REQUIRE_PACKAGES_FCL-DB=1
  1916. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1917. REQUIRE_PACKAGES_FCL-IMAGE=1
  1918. REQUIRE_PACKAGES_FCL-NET=1
  1919. REQUIRE_PACKAGES_FCL-PASSRC=1
  1920. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1921. REQUIRE_PACKAGES_FCL-WEB=1
  1922. REQUIRE_PACKAGES_FCL-XML=1
  1923. endif
  1924. ifeq ($(CPU_OS_TARGET),powerpc-amiga)
  1925. REQUIRE_PACKAGES_RTL=1
  1926. REQUIRE_PACKAGES_FCL-BASE=1
  1927. REQUIRE_PACKAGES_FCL-DB=1
  1928. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1929. REQUIRE_PACKAGES_FCL-IMAGE=1
  1930. REQUIRE_PACKAGES_FCL-NET=1
  1931. REQUIRE_PACKAGES_FCL-PASSRC=1
  1932. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1933. REQUIRE_PACKAGES_FCL-WEB=1
  1934. REQUIRE_PACKAGES_FCL-XML=1
  1935. endif
  1936. ifeq ($(CPU_OS_TARGET),powerpc-macosclassic)
  1937. REQUIRE_PACKAGES_RTL=1
  1938. REQUIRE_PACKAGES_FCL-BASE=1
  1939. REQUIRE_PACKAGES_FCL-DB=1
  1940. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1941. REQUIRE_PACKAGES_FCL-IMAGE=1
  1942. REQUIRE_PACKAGES_FCL-NET=1
  1943. REQUIRE_PACKAGES_FCL-PASSRC=1
  1944. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1945. REQUIRE_PACKAGES_FCL-WEB=1
  1946. REQUIRE_PACKAGES_FCL-XML=1
  1947. endif
  1948. ifeq ($(CPU_OS_TARGET),powerpc-darwin)
  1949. REQUIRE_PACKAGES_RTL=1
  1950. REQUIRE_PACKAGES_FCL-BASE=1
  1951. REQUIRE_PACKAGES_FCL-DB=1
  1952. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1953. REQUIRE_PACKAGES_FCL-IMAGE=1
  1954. REQUIRE_PACKAGES_FCL-NET=1
  1955. REQUIRE_PACKAGES_FCL-PASSRC=1
  1956. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1957. REQUIRE_PACKAGES_FCL-WEB=1
  1958. REQUIRE_PACKAGES_FCL-XML=1
  1959. endif
  1960. ifeq ($(CPU_OS_TARGET),powerpc-morphos)
  1961. REQUIRE_PACKAGES_RTL=1
  1962. REQUIRE_PACKAGES_FCL-BASE=1
  1963. REQUIRE_PACKAGES_FCL-DB=1
  1964. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1965. REQUIRE_PACKAGES_FCL-IMAGE=1
  1966. REQUIRE_PACKAGES_FCL-NET=1
  1967. REQUIRE_PACKAGES_FCL-PASSRC=1
  1968. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1969. REQUIRE_PACKAGES_FCL-WEB=1
  1970. REQUIRE_PACKAGES_FCL-XML=1
  1971. endif
  1972. ifeq ($(CPU_OS_TARGET),powerpc-embedded)
  1973. REQUIRE_PACKAGES_RTL=1
  1974. REQUIRE_PACKAGES_FCL-BASE=1
  1975. REQUIRE_PACKAGES_FCL-DB=1
  1976. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1977. REQUIRE_PACKAGES_FCL-IMAGE=1
  1978. REQUIRE_PACKAGES_FCL-NET=1
  1979. REQUIRE_PACKAGES_FCL-PASSRC=1
  1980. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1981. REQUIRE_PACKAGES_FCL-WEB=1
  1982. REQUIRE_PACKAGES_FCL-XML=1
  1983. endif
  1984. ifeq ($(CPU_OS_TARGET),powerpc-wii)
  1985. REQUIRE_PACKAGES_RTL=1
  1986. REQUIRE_PACKAGES_FCL-BASE=1
  1987. REQUIRE_PACKAGES_FCL-DB=1
  1988. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  1989. REQUIRE_PACKAGES_FCL-IMAGE=1
  1990. REQUIRE_PACKAGES_FCL-NET=1
  1991. REQUIRE_PACKAGES_FCL-PASSRC=1
  1992. REQUIRE_PACKAGES_FCL-REGISTRY=1
  1993. REQUIRE_PACKAGES_FCL-WEB=1
  1994. REQUIRE_PACKAGES_FCL-XML=1
  1995. endif
  1996. ifeq ($(CPU_OS_TARGET),powerpc-aix)
  1997. REQUIRE_PACKAGES_RTL=1
  1998. REQUIRE_PACKAGES_FCL-BASE=1
  1999. REQUIRE_PACKAGES_FCL-DB=1
  2000. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2001. REQUIRE_PACKAGES_FCL-IMAGE=1
  2002. REQUIRE_PACKAGES_FCL-NET=1
  2003. REQUIRE_PACKAGES_FCL-PASSRC=1
  2004. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2005. REQUIRE_PACKAGES_FCL-WEB=1
  2006. REQUIRE_PACKAGES_FCL-XML=1
  2007. endif
  2008. ifeq ($(CPU_OS_TARGET),sparc-linux)
  2009. REQUIRE_PACKAGES_RTL=1
  2010. REQUIRE_PACKAGES_FCL-BASE=1
  2011. REQUIRE_PACKAGES_FCL-DB=1
  2012. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2013. REQUIRE_PACKAGES_FCL-IMAGE=1
  2014. REQUIRE_PACKAGES_FCL-NET=1
  2015. REQUIRE_PACKAGES_FCL-PASSRC=1
  2016. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2017. REQUIRE_PACKAGES_FCL-WEB=1
  2018. REQUIRE_PACKAGES_FCL-XML=1
  2019. endif
  2020. ifeq ($(CPU_OS_TARGET),sparc-netbsd)
  2021. REQUIRE_PACKAGES_RTL=1
  2022. REQUIRE_PACKAGES_FCL-BASE=1
  2023. REQUIRE_PACKAGES_FCL-DB=1
  2024. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2025. REQUIRE_PACKAGES_FCL-IMAGE=1
  2026. REQUIRE_PACKAGES_FCL-NET=1
  2027. REQUIRE_PACKAGES_FCL-PASSRC=1
  2028. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2029. REQUIRE_PACKAGES_FCL-WEB=1
  2030. REQUIRE_PACKAGES_FCL-XML=1
  2031. endif
  2032. ifeq ($(CPU_OS_TARGET),sparc-solaris)
  2033. REQUIRE_PACKAGES_RTL=1
  2034. REQUIRE_PACKAGES_FCL-BASE=1
  2035. REQUIRE_PACKAGES_FCL-DB=1
  2036. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2037. REQUIRE_PACKAGES_FCL-IMAGE=1
  2038. REQUIRE_PACKAGES_FCL-NET=1
  2039. REQUIRE_PACKAGES_FCL-PASSRC=1
  2040. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2041. REQUIRE_PACKAGES_FCL-WEB=1
  2042. REQUIRE_PACKAGES_FCL-XML=1
  2043. endif
  2044. ifeq ($(CPU_OS_TARGET),sparc-embedded)
  2045. REQUIRE_PACKAGES_RTL=1
  2046. REQUIRE_PACKAGES_FCL-BASE=1
  2047. REQUIRE_PACKAGES_FCL-DB=1
  2048. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2049. REQUIRE_PACKAGES_FCL-IMAGE=1
  2050. REQUIRE_PACKAGES_FCL-NET=1
  2051. REQUIRE_PACKAGES_FCL-PASSRC=1
  2052. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2053. REQUIRE_PACKAGES_FCL-WEB=1
  2054. REQUIRE_PACKAGES_FCL-XML=1
  2055. endif
  2056. ifeq ($(CPU_OS_TARGET),x86_64-linux)
  2057. REQUIRE_PACKAGES_RTL=1
  2058. REQUIRE_PACKAGES_FCL-BASE=1
  2059. REQUIRE_PACKAGES_FCL-DB=1
  2060. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2061. REQUIRE_PACKAGES_FCL-IMAGE=1
  2062. REQUIRE_PACKAGES_FCL-NET=1
  2063. REQUIRE_PACKAGES_FCL-PASSRC=1
  2064. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2065. REQUIRE_PACKAGES_FCL-WEB=1
  2066. REQUIRE_PACKAGES_FCL-XML=1
  2067. endif
  2068. ifeq ($(CPU_OS_TARGET),x86_64-freebsd)
  2069. REQUIRE_PACKAGES_RTL=1
  2070. REQUIRE_PACKAGES_FCL-BASE=1
  2071. REQUIRE_PACKAGES_FCL-DB=1
  2072. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2073. REQUIRE_PACKAGES_FCL-IMAGE=1
  2074. REQUIRE_PACKAGES_FCL-NET=1
  2075. REQUIRE_PACKAGES_FCL-PASSRC=1
  2076. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2077. REQUIRE_PACKAGES_FCL-WEB=1
  2078. REQUIRE_PACKAGES_FCL-XML=1
  2079. endif
  2080. ifeq ($(CPU_OS_TARGET),x86_64-haiku)
  2081. REQUIRE_PACKAGES_RTL=1
  2082. REQUIRE_PACKAGES_FCL-BASE=1
  2083. REQUIRE_PACKAGES_FCL-DB=1
  2084. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2085. REQUIRE_PACKAGES_FCL-IMAGE=1
  2086. REQUIRE_PACKAGES_FCL-NET=1
  2087. REQUIRE_PACKAGES_FCL-PASSRC=1
  2088. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2089. REQUIRE_PACKAGES_FCL-WEB=1
  2090. REQUIRE_PACKAGES_FCL-XML=1
  2091. endif
  2092. ifeq ($(CPU_OS_TARGET),x86_64-netbsd)
  2093. REQUIRE_PACKAGES_RTL=1
  2094. REQUIRE_PACKAGES_FCL-BASE=1
  2095. REQUIRE_PACKAGES_FCL-DB=1
  2096. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2097. REQUIRE_PACKAGES_FCL-IMAGE=1
  2098. REQUIRE_PACKAGES_FCL-NET=1
  2099. REQUIRE_PACKAGES_FCL-PASSRC=1
  2100. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2101. REQUIRE_PACKAGES_FCL-WEB=1
  2102. REQUIRE_PACKAGES_FCL-XML=1
  2103. endif
  2104. ifeq ($(CPU_OS_TARGET),x86_64-solaris)
  2105. REQUIRE_PACKAGES_RTL=1
  2106. REQUIRE_PACKAGES_FCL-BASE=1
  2107. REQUIRE_PACKAGES_FCL-DB=1
  2108. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2109. REQUIRE_PACKAGES_FCL-IMAGE=1
  2110. REQUIRE_PACKAGES_FCL-NET=1
  2111. REQUIRE_PACKAGES_FCL-PASSRC=1
  2112. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2113. REQUIRE_PACKAGES_FCL-WEB=1
  2114. REQUIRE_PACKAGES_FCL-XML=1
  2115. endif
  2116. ifeq ($(CPU_OS_TARGET),x86_64-openbsd)
  2117. REQUIRE_PACKAGES_RTL=1
  2118. REQUIRE_PACKAGES_FCL-BASE=1
  2119. REQUIRE_PACKAGES_FCL-DB=1
  2120. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2121. REQUIRE_PACKAGES_FCL-IMAGE=1
  2122. REQUIRE_PACKAGES_FCL-NET=1
  2123. REQUIRE_PACKAGES_FCL-PASSRC=1
  2124. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2125. REQUIRE_PACKAGES_FCL-WEB=1
  2126. REQUIRE_PACKAGES_FCL-XML=1
  2127. endif
  2128. ifeq ($(CPU_OS_TARGET),x86_64-darwin)
  2129. REQUIRE_PACKAGES_RTL=1
  2130. REQUIRE_PACKAGES_FCL-BASE=1
  2131. REQUIRE_PACKAGES_FCL-DB=1
  2132. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2133. REQUIRE_PACKAGES_FCL-IMAGE=1
  2134. REQUIRE_PACKAGES_FCL-NET=1
  2135. REQUIRE_PACKAGES_FCL-PASSRC=1
  2136. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2137. REQUIRE_PACKAGES_FCL-WEB=1
  2138. REQUIRE_PACKAGES_FCL-XML=1
  2139. endif
  2140. ifeq ($(CPU_OS_TARGET),x86_64-win64)
  2141. REQUIRE_PACKAGES_RTL=1
  2142. REQUIRE_PACKAGES_FCL-BASE=1
  2143. REQUIRE_PACKAGES_FCL-DB=1
  2144. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2145. REQUIRE_PACKAGES_FCL-IMAGE=1
  2146. REQUIRE_PACKAGES_FCL-NET=1
  2147. REQUIRE_PACKAGES_FCL-PASSRC=1
  2148. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2149. REQUIRE_PACKAGES_FCL-WEB=1
  2150. REQUIRE_PACKAGES_FCL-XML=1
  2151. endif
  2152. ifeq ($(CPU_OS_TARGET),x86_64-embedded)
  2153. REQUIRE_PACKAGES_RTL=1
  2154. REQUIRE_PACKAGES_FCL-BASE=1
  2155. REQUIRE_PACKAGES_FCL-DB=1
  2156. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2157. REQUIRE_PACKAGES_FCL-IMAGE=1
  2158. REQUIRE_PACKAGES_FCL-NET=1
  2159. REQUIRE_PACKAGES_FCL-PASSRC=1
  2160. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2161. REQUIRE_PACKAGES_FCL-WEB=1
  2162. REQUIRE_PACKAGES_FCL-XML=1
  2163. endif
  2164. ifeq ($(CPU_OS_TARGET),x86_64-iphonesim)
  2165. REQUIRE_PACKAGES_RTL=1
  2166. REQUIRE_PACKAGES_FCL-BASE=1
  2167. REQUIRE_PACKAGES_FCL-DB=1
  2168. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2169. REQUIRE_PACKAGES_FCL-IMAGE=1
  2170. REQUIRE_PACKAGES_FCL-NET=1
  2171. REQUIRE_PACKAGES_FCL-PASSRC=1
  2172. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2173. REQUIRE_PACKAGES_FCL-WEB=1
  2174. REQUIRE_PACKAGES_FCL-XML=1
  2175. endif
  2176. ifeq ($(CPU_OS_TARGET),x86_64-android)
  2177. REQUIRE_PACKAGES_RTL=1
  2178. REQUIRE_PACKAGES_FCL-BASE=1
  2179. REQUIRE_PACKAGES_FCL-DB=1
  2180. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2181. REQUIRE_PACKAGES_FCL-IMAGE=1
  2182. REQUIRE_PACKAGES_FCL-NET=1
  2183. REQUIRE_PACKAGES_FCL-PASSRC=1
  2184. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2185. REQUIRE_PACKAGES_FCL-WEB=1
  2186. REQUIRE_PACKAGES_FCL-XML=1
  2187. endif
  2188. ifeq ($(CPU_OS_TARGET),x86_64-aros)
  2189. REQUIRE_PACKAGES_RTL=1
  2190. REQUIRE_PACKAGES_FCL-BASE=1
  2191. REQUIRE_PACKAGES_FCL-DB=1
  2192. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2193. REQUIRE_PACKAGES_FCL-IMAGE=1
  2194. REQUIRE_PACKAGES_FCL-NET=1
  2195. REQUIRE_PACKAGES_FCL-PASSRC=1
  2196. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2197. REQUIRE_PACKAGES_FCL-WEB=1
  2198. REQUIRE_PACKAGES_FCL-XML=1
  2199. endif
  2200. ifeq ($(CPU_OS_TARGET),x86_64-dragonfly)
  2201. REQUIRE_PACKAGES_RTL=1
  2202. REQUIRE_PACKAGES_FCL-BASE=1
  2203. REQUIRE_PACKAGES_FCL-DB=1
  2204. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2205. REQUIRE_PACKAGES_FCL-IMAGE=1
  2206. REQUIRE_PACKAGES_FCL-NET=1
  2207. REQUIRE_PACKAGES_FCL-PASSRC=1
  2208. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2209. REQUIRE_PACKAGES_FCL-WEB=1
  2210. REQUIRE_PACKAGES_FCL-XML=1
  2211. endif
  2212. ifeq ($(CPU_OS_TARGET),arm-linux)
  2213. REQUIRE_PACKAGES_RTL=1
  2214. REQUIRE_PACKAGES_FCL-BASE=1
  2215. REQUIRE_PACKAGES_FCL-DB=1
  2216. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2217. REQUIRE_PACKAGES_FCL-IMAGE=1
  2218. REQUIRE_PACKAGES_FCL-NET=1
  2219. REQUIRE_PACKAGES_FCL-PASSRC=1
  2220. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2221. REQUIRE_PACKAGES_FCL-WEB=1
  2222. REQUIRE_PACKAGES_FCL-XML=1
  2223. endif
  2224. ifeq ($(CPU_OS_TARGET),arm-netbsd)
  2225. REQUIRE_PACKAGES_RTL=1
  2226. REQUIRE_PACKAGES_FCL-BASE=1
  2227. REQUIRE_PACKAGES_FCL-DB=1
  2228. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2229. REQUIRE_PACKAGES_FCL-IMAGE=1
  2230. REQUIRE_PACKAGES_FCL-NET=1
  2231. REQUIRE_PACKAGES_FCL-PASSRC=1
  2232. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2233. REQUIRE_PACKAGES_FCL-WEB=1
  2234. REQUIRE_PACKAGES_FCL-XML=1
  2235. endif
  2236. ifeq ($(CPU_OS_TARGET),arm-palmos)
  2237. REQUIRE_PACKAGES_RTL=1
  2238. REQUIRE_PACKAGES_FCL-BASE=1
  2239. REQUIRE_PACKAGES_FCL-DB=1
  2240. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2241. REQUIRE_PACKAGES_FCL-IMAGE=1
  2242. REQUIRE_PACKAGES_FCL-NET=1
  2243. REQUIRE_PACKAGES_FCL-PASSRC=1
  2244. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2245. REQUIRE_PACKAGES_FCL-WEB=1
  2246. REQUIRE_PACKAGES_FCL-XML=1
  2247. endif
  2248. ifeq ($(CPU_OS_TARGET),arm-wince)
  2249. REQUIRE_PACKAGES_RTL=1
  2250. REQUIRE_PACKAGES_FCL-BASE=1
  2251. REQUIRE_PACKAGES_FCL-DB=1
  2252. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2253. REQUIRE_PACKAGES_FCL-IMAGE=1
  2254. REQUIRE_PACKAGES_FCL-NET=1
  2255. REQUIRE_PACKAGES_FCL-PASSRC=1
  2256. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2257. REQUIRE_PACKAGES_FCL-WEB=1
  2258. REQUIRE_PACKAGES_FCL-XML=1
  2259. endif
  2260. ifeq ($(CPU_OS_TARGET),arm-gba)
  2261. REQUIRE_PACKAGES_RTL=1
  2262. REQUIRE_PACKAGES_FCL-BASE=1
  2263. REQUIRE_PACKAGES_FCL-DB=1
  2264. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2265. REQUIRE_PACKAGES_FCL-IMAGE=1
  2266. REQUIRE_PACKAGES_FCL-NET=1
  2267. REQUIRE_PACKAGES_FCL-PASSRC=1
  2268. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2269. REQUIRE_PACKAGES_FCL-WEB=1
  2270. REQUIRE_PACKAGES_FCL-XML=1
  2271. endif
  2272. ifeq ($(CPU_OS_TARGET),arm-nds)
  2273. REQUIRE_PACKAGES_RTL=1
  2274. REQUIRE_PACKAGES_FCL-BASE=1
  2275. REQUIRE_PACKAGES_FCL-DB=1
  2276. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2277. REQUIRE_PACKAGES_FCL-IMAGE=1
  2278. REQUIRE_PACKAGES_FCL-NET=1
  2279. REQUIRE_PACKAGES_FCL-PASSRC=1
  2280. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2281. REQUIRE_PACKAGES_FCL-WEB=1
  2282. REQUIRE_PACKAGES_FCL-XML=1
  2283. endif
  2284. ifeq ($(CPU_OS_TARGET),arm-embedded)
  2285. REQUIRE_PACKAGES_RTL=1
  2286. REQUIRE_PACKAGES_FCL-BASE=1
  2287. REQUIRE_PACKAGES_FCL-DB=1
  2288. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2289. REQUIRE_PACKAGES_FCL-IMAGE=1
  2290. REQUIRE_PACKAGES_FCL-NET=1
  2291. REQUIRE_PACKAGES_FCL-PASSRC=1
  2292. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2293. REQUIRE_PACKAGES_FCL-WEB=1
  2294. REQUIRE_PACKAGES_FCL-XML=1
  2295. endif
  2296. ifeq ($(CPU_OS_TARGET),arm-symbian)
  2297. REQUIRE_PACKAGES_RTL=1
  2298. REQUIRE_PACKAGES_FCL-BASE=1
  2299. REQUIRE_PACKAGES_FCL-DB=1
  2300. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2301. REQUIRE_PACKAGES_FCL-IMAGE=1
  2302. REQUIRE_PACKAGES_FCL-NET=1
  2303. REQUIRE_PACKAGES_FCL-PASSRC=1
  2304. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2305. REQUIRE_PACKAGES_FCL-WEB=1
  2306. REQUIRE_PACKAGES_FCL-XML=1
  2307. endif
  2308. ifeq ($(CPU_OS_TARGET),arm-android)
  2309. REQUIRE_PACKAGES_RTL=1
  2310. REQUIRE_PACKAGES_FCL-BASE=1
  2311. REQUIRE_PACKAGES_FCL-DB=1
  2312. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2313. REQUIRE_PACKAGES_FCL-IMAGE=1
  2314. REQUIRE_PACKAGES_FCL-NET=1
  2315. REQUIRE_PACKAGES_FCL-PASSRC=1
  2316. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2317. REQUIRE_PACKAGES_FCL-WEB=1
  2318. REQUIRE_PACKAGES_FCL-XML=1
  2319. endif
  2320. ifeq ($(CPU_OS_TARGET),arm-aros)
  2321. REQUIRE_PACKAGES_RTL=1
  2322. REQUIRE_PACKAGES_FCL-BASE=1
  2323. REQUIRE_PACKAGES_FCL-DB=1
  2324. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2325. REQUIRE_PACKAGES_FCL-IMAGE=1
  2326. REQUIRE_PACKAGES_FCL-NET=1
  2327. REQUIRE_PACKAGES_FCL-PASSRC=1
  2328. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2329. REQUIRE_PACKAGES_FCL-WEB=1
  2330. REQUIRE_PACKAGES_FCL-XML=1
  2331. endif
  2332. ifeq ($(CPU_OS_TARGET),arm-freertos)
  2333. REQUIRE_PACKAGES_RTL=1
  2334. REQUIRE_PACKAGES_FCL-BASE=1
  2335. REQUIRE_PACKAGES_FCL-DB=1
  2336. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2337. REQUIRE_PACKAGES_FCL-IMAGE=1
  2338. REQUIRE_PACKAGES_FCL-NET=1
  2339. REQUIRE_PACKAGES_FCL-PASSRC=1
  2340. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2341. REQUIRE_PACKAGES_FCL-WEB=1
  2342. REQUIRE_PACKAGES_FCL-XML=1
  2343. endif
  2344. ifeq ($(CPU_OS_TARGET),arm-ios)
  2345. REQUIRE_PACKAGES_RTL=1
  2346. REQUIRE_PACKAGES_FCL-BASE=1
  2347. REQUIRE_PACKAGES_FCL-DB=1
  2348. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2349. REQUIRE_PACKAGES_FCL-IMAGE=1
  2350. REQUIRE_PACKAGES_FCL-NET=1
  2351. REQUIRE_PACKAGES_FCL-PASSRC=1
  2352. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2353. REQUIRE_PACKAGES_FCL-WEB=1
  2354. REQUIRE_PACKAGES_FCL-XML=1
  2355. endif
  2356. ifeq ($(CPU_OS_TARGET),powerpc64-linux)
  2357. REQUIRE_PACKAGES_RTL=1
  2358. REQUIRE_PACKAGES_FCL-BASE=1
  2359. REQUIRE_PACKAGES_FCL-DB=1
  2360. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2361. REQUIRE_PACKAGES_FCL-IMAGE=1
  2362. REQUIRE_PACKAGES_FCL-NET=1
  2363. REQUIRE_PACKAGES_FCL-PASSRC=1
  2364. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2365. REQUIRE_PACKAGES_FCL-WEB=1
  2366. REQUIRE_PACKAGES_FCL-XML=1
  2367. endif
  2368. ifeq ($(CPU_OS_TARGET),powerpc64-darwin)
  2369. REQUIRE_PACKAGES_RTL=1
  2370. REQUIRE_PACKAGES_FCL-BASE=1
  2371. REQUIRE_PACKAGES_FCL-DB=1
  2372. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2373. REQUIRE_PACKAGES_FCL-IMAGE=1
  2374. REQUIRE_PACKAGES_FCL-NET=1
  2375. REQUIRE_PACKAGES_FCL-PASSRC=1
  2376. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2377. REQUIRE_PACKAGES_FCL-WEB=1
  2378. REQUIRE_PACKAGES_FCL-XML=1
  2379. endif
  2380. ifeq ($(CPU_OS_TARGET),powerpc64-embedded)
  2381. REQUIRE_PACKAGES_RTL=1
  2382. REQUIRE_PACKAGES_FCL-BASE=1
  2383. REQUIRE_PACKAGES_FCL-DB=1
  2384. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2385. REQUIRE_PACKAGES_FCL-IMAGE=1
  2386. REQUIRE_PACKAGES_FCL-NET=1
  2387. REQUIRE_PACKAGES_FCL-PASSRC=1
  2388. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2389. REQUIRE_PACKAGES_FCL-WEB=1
  2390. REQUIRE_PACKAGES_FCL-XML=1
  2391. endif
  2392. ifeq ($(CPU_OS_TARGET),powerpc64-aix)
  2393. REQUIRE_PACKAGES_RTL=1
  2394. REQUIRE_PACKAGES_FCL-BASE=1
  2395. REQUIRE_PACKAGES_FCL-DB=1
  2396. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2397. REQUIRE_PACKAGES_FCL-IMAGE=1
  2398. REQUIRE_PACKAGES_FCL-NET=1
  2399. REQUIRE_PACKAGES_FCL-PASSRC=1
  2400. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2401. REQUIRE_PACKAGES_FCL-WEB=1
  2402. REQUIRE_PACKAGES_FCL-XML=1
  2403. endif
  2404. ifeq ($(CPU_OS_TARGET),avr-embedded)
  2405. REQUIRE_PACKAGES_RTL=1
  2406. REQUIRE_PACKAGES_FCL-BASE=1
  2407. REQUIRE_PACKAGES_FCL-DB=1
  2408. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2409. REQUIRE_PACKAGES_FCL-IMAGE=1
  2410. REQUIRE_PACKAGES_FCL-NET=1
  2411. REQUIRE_PACKAGES_FCL-PASSRC=1
  2412. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2413. REQUIRE_PACKAGES_FCL-WEB=1
  2414. REQUIRE_PACKAGES_FCL-XML=1
  2415. endif
  2416. ifeq ($(CPU_OS_TARGET),armeb-linux)
  2417. REQUIRE_PACKAGES_RTL=1
  2418. REQUIRE_PACKAGES_FCL-BASE=1
  2419. REQUIRE_PACKAGES_FCL-DB=1
  2420. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2421. REQUIRE_PACKAGES_FCL-IMAGE=1
  2422. REQUIRE_PACKAGES_FCL-NET=1
  2423. REQUIRE_PACKAGES_FCL-PASSRC=1
  2424. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2425. REQUIRE_PACKAGES_FCL-WEB=1
  2426. REQUIRE_PACKAGES_FCL-XML=1
  2427. endif
  2428. ifeq ($(CPU_OS_TARGET),armeb-embedded)
  2429. REQUIRE_PACKAGES_RTL=1
  2430. REQUIRE_PACKAGES_FCL-BASE=1
  2431. REQUIRE_PACKAGES_FCL-DB=1
  2432. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2433. REQUIRE_PACKAGES_FCL-IMAGE=1
  2434. REQUIRE_PACKAGES_FCL-NET=1
  2435. REQUIRE_PACKAGES_FCL-PASSRC=1
  2436. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2437. REQUIRE_PACKAGES_FCL-WEB=1
  2438. REQUIRE_PACKAGES_FCL-XML=1
  2439. endif
  2440. ifeq ($(CPU_OS_TARGET),mips-linux)
  2441. REQUIRE_PACKAGES_RTL=1
  2442. REQUIRE_PACKAGES_FCL-BASE=1
  2443. REQUIRE_PACKAGES_FCL-DB=1
  2444. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2445. REQUIRE_PACKAGES_FCL-IMAGE=1
  2446. REQUIRE_PACKAGES_FCL-NET=1
  2447. REQUIRE_PACKAGES_FCL-PASSRC=1
  2448. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2449. REQUIRE_PACKAGES_FCL-WEB=1
  2450. REQUIRE_PACKAGES_FCL-XML=1
  2451. endif
  2452. ifeq ($(CPU_OS_TARGET),mipsel-linux)
  2453. REQUIRE_PACKAGES_RTL=1
  2454. REQUIRE_PACKAGES_FCL-BASE=1
  2455. REQUIRE_PACKAGES_FCL-DB=1
  2456. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2457. REQUIRE_PACKAGES_FCL-IMAGE=1
  2458. REQUIRE_PACKAGES_FCL-NET=1
  2459. REQUIRE_PACKAGES_FCL-PASSRC=1
  2460. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2461. REQUIRE_PACKAGES_FCL-WEB=1
  2462. REQUIRE_PACKAGES_FCL-XML=1
  2463. endif
  2464. ifeq ($(CPU_OS_TARGET),mipsel-embedded)
  2465. REQUIRE_PACKAGES_RTL=1
  2466. REQUIRE_PACKAGES_FCL-BASE=1
  2467. REQUIRE_PACKAGES_FCL-DB=1
  2468. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2469. REQUIRE_PACKAGES_FCL-IMAGE=1
  2470. REQUIRE_PACKAGES_FCL-NET=1
  2471. REQUIRE_PACKAGES_FCL-PASSRC=1
  2472. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2473. REQUIRE_PACKAGES_FCL-WEB=1
  2474. REQUIRE_PACKAGES_FCL-XML=1
  2475. endif
  2476. ifeq ($(CPU_OS_TARGET),mipsel-android)
  2477. REQUIRE_PACKAGES_RTL=1
  2478. REQUIRE_PACKAGES_FCL-BASE=1
  2479. REQUIRE_PACKAGES_FCL-DB=1
  2480. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2481. REQUIRE_PACKAGES_FCL-IMAGE=1
  2482. REQUIRE_PACKAGES_FCL-NET=1
  2483. REQUIRE_PACKAGES_FCL-PASSRC=1
  2484. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2485. REQUIRE_PACKAGES_FCL-WEB=1
  2486. REQUIRE_PACKAGES_FCL-XML=1
  2487. endif
  2488. ifeq ($(CPU_OS_TARGET),mipsel-ps1)
  2489. REQUIRE_PACKAGES_RTL=1
  2490. REQUIRE_PACKAGES_FCL-BASE=1
  2491. REQUIRE_PACKAGES_FCL-DB=1
  2492. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2493. REQUIRE_PACKAGES_FCL-IMAGE=1
  2494. REQUIRE_PACKAGES_FCL-NET=1
  2495. REQUIRE_PACKAGES_FCL-PASSRC=1
  2496. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2497. REQUIRE_PACKAGES_FCL-WEB=1
  2498. REQUIRE_PACKAGES_FCL-XML=1
  2499. endif
  2500. ifeq ($(CPU_OS_TARGET),mips64-linux)
  2501. REQUIRE_PACKAGES_RTL=1
  2502. REQUIRE_PACKAGES_FCL-BASE=1
  2503. REQUIRE_PACKAGES_FCL-DB=1
  2504. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2505. REQUIRE_PACKAGES_FCL-IMAGE=1
  2506. REQUIRE_PACKAGES_FCL-NET=1
  2507. REQUIRE_PACKAGES_FCL-PASSRC=1
  2508. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2509. REQUIRE_PACKAGES_FCL-WEB=1
  2510. REQUIRE_PACKAGES_FCL-XML=1
  2511. endif
  2512. ifeq ($(CPU_OS_TARGET),mips64el-linux)
  2513. REQUIRE_PACKAGES_RTL=1
  2514. REQUIRE_PACKAGES_FCL-BASE=1
  2515. REQUIRE_PACKAGES_FCL-DB=1
  2516. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2517. REQUIRE_PACKAGES_FCL-IMAGE=1
  2518. REQUIRE_PACKAGES_FCL-NET=1
  2519. REQUIRE_PACKAGES_FCL-PASSRC=1
  2520. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2521. REQUIRE_PACKAGES_FCL-WEB=1
  2522. REQUIRE_PACKAGES_FCL-XML=1
  2523. endif
  2524. ifeq ($(CPU_OS_TARGET),jvm-java)
  2525. REQUIRE_PACKAGES_RTL=1
  2526. REQUIRE_PACKAGES_FCL-BASE=1
  2527. REQUIRE_PACKAGES_FCL-DB=1
  2528. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2529. REQUIRE_PACKAGES_FCL-IMAGE=1
  2530. REQUIRE_PACKAGES_FCL-NET=1
  2531. REQUIRE_PACKAGES_FCL-PASSRC=1
  2532. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2533. REQUIRE_PACKAGES_FCL-WEB=1
  2534. REQUIRE_PACKAGES_FCL-XML=1
  2535. endif
  2536. ifeq ($(CPU_OS_TARGET),jvm-android)
  2537. REQUIRE_PACKAGES_RTL=1
  2538. REQUIRE_PACKAGES_FCL-BASE=1
  2539. REQUIRE_PACKAGES_FCL-DB=1
  2540. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2541. REQUIRE_PACKAGES_FCL-IMAGE=1
  2542. REQUIRE_PACKAGES_FCL-NET=1
  2543. REQUIRE_PACKAGES_FCL-PASSRC=1
  2544. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2545. REQUIRE_PACKAGES_FCL-WEB=1
  2546. REQUIRE_PACKAGES_FCL-XML=1
  2547. endif
  2548. ifeq ($(CPU_OS_TARGET),i8086-embedded)
  2549. REQUIRE_PACKAGES_RTL=1
  2550. REQUIRE_PACKAGES_FCL-BASE=1
  2551. REQUIRE_PACKAGES_FCL-DB=1
  2552. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2553. REQUIRE_PACKAGES_FCL-IMAGE=1
  2554. REQUIRE_PACKAGES_FCL-NET=1
  2555. REQUIRE_PACKAGES_FCL-PASSRC=1
  2556. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2557. REQUIRE_PACKAGES_FCL-WEB=1
  2558. REQUIRE_PACKAGES_FCL-XML=1
  2559. endif
  2560. ifeq ($(CPU_OS_TARGET),i8086-msdos)
  2561. REQUIRE_PACKAGES_RTL=1
  2562. REQUIRE_PACKAGES_FCL-BASE=1
  2563. REQUIRE_PACKAGES_FCL-DB=1
  2564. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2565. REQUIRE_PACKAGES_FCL-IMAGE=1
  2566. REQUIRE_PACKAGES_FCL-NET=1
  2567. REQUIRE_PACKAGES_FCL-PASSRC=1
  2568. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2569. REQUIRE_PACKAGES_FCL-WEB=1
  2570. REQUIRE_PACKAGES_FCL-XML=1
  2571. endif
  2572. ifeq ($(CPU_OS_TARGET),i8086-win16)
  2573. REQUIRE_PACKAGES_RTL=1
  2574. REQUIRE_PACKAGES_FCL-BASE=1
  2575. REQUIRE_PACKAGES_FCL-DB=1
  2576. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2577. REQUIRE_PACKAGES_FCL-IMAGE=1
  2578. REQUIRE_PACKAGES_FCL-NET=1
  2579. REQUIRE_PACKAGES_FCL-PASSRC=1
  2580. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2581. REQUIRE_PACKAGES_FCL-WEB=1
  2582. REQUIRE_PACKAGES_FCL-XML=1
  2583. endif
  2584. ifeq ($(CPU_OS_TARGET),aarch64-linux)
  2585. REQUIRE_PACKAGES_RTL=1
  2586. REQUIRE_PACKAGES_FCL-BASE=1
  2587. REQUIRE_PACKAGES_FCL-DB=1
  2588. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2589. REQUIRE_PACKAGES_FCL-IMAGE=1
  2590. REQUIRE_PACKAGES_FCL-NET=1
  2591. REQUIRE_PACKAGES_FCL-PASSRC=1
  2592. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2593. REQUIRE_PACKAGES_FCL-WEB=1
  2594. REQUIRE_PACKAGES_FCL-XML=1
  2595. endif
  2596. ifeq ($(CPU_OS_TARGET),aarch64-freebsd)
  2597. REQUIRE_PACKAGES_RTL=1
  2598. REQUIRE_PACKAGES_FCL-BASE=1
  2599. REQUIRE_PACKAGES_FCL-DB=1
  2600. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2601. REQUIRE_PACKAGES_FCL-IMAGE=1
  2602. REQUIRE_PACKAGES_FCL-NET=1
  2603. REQUIRE_PACKAGES_FCL-PASSRC=1
  2604. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2605. REQUIRE_PACKAGES_FCL-WEB=1
  2606. REQUIRE_PACKAGES_FCL-XML=1
  2607. endif
  2608. ifeq ($(CPU_OS_TARGET),aarch64-darwin)
  2609. REQUIRE_PACKAGES_RTL=1
  2610. REQUIRE_PACKAGES_FCL-BASE=1
  2611. REQUIRE_PACKAGES_FCL-DB=1
  2612. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2613. REQUIRE_PACKAGES_FCL-IMAGE=1
  2614. REQUIRE_PACKAGES_FCL-NET=1
  2615. REQUIRE_PACKAGES_FCL-PASSRC=1
  2616. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2617. REQUIRE_PACKAGES_FCL-WEB=1
  2618. REQUIRE_PACKAGES_FCL-XML=1
  2619. endif
  2620. ifeq ($(CPU_OS_TARGET),aarch64-win64)
  2621. REQUIRE_PACKAGES_RTL=1
  2622. REQUIRE_PACKAGES_FCL-BASE=1
  2623. REQUIRE_PACKAGES_FCL-DB=1
  2624. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2625. REQUIRE_PACKAGES_FCL-IMAGE=1
  2626. REQUIRE_PACKAGES_FCL-NET=1
  2627. REQUIRE_PACKAGES_FCL-PASSRC=1
  2628. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2629. REQUIRE_PACKAGES_FCL-WEB=1
  2630. REQUIRE_PACKAGES_FCL-XML=1
  2631. endif
  2632. ifeq ($(CPU_OS_TARGET),aarch64-embedded)
  2633. REQUIRE_PACKAGES_RTL=1
  2634. REQUIRE_PACKAGES_FCL-BASE=1
  2635. REQUIRE_PACKAGES_FCL-DB=1
  2636. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2637. REQUIRE_PACKAGES_FCL-IMAGE=1
  2638. REQUIRE_PACKAGES_FCL-NET=1
  2639. REQUIRE_PACKAGES_FCL-PASSRC=1
  2640. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2641. REQUIRE_PACKAGES_FCL-WEB=1
  2642. REQUIRE_PACKAGES_FCL-XML=1
  2643. endif
  2644. ifeq ($(CPU_OS_TARGET),aarch64-iphonesim)
  2645. REQUIRE_PACKAGES_RTL=1
  2646. REQUIRE_PACKAGES_FCL-BASE=1
  2647. REQUIRE_PACKAGES_FCL-DB=1
  2648. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2649. REQUIRE_PACKAGES_FCL-IMAGE=1
  2650. REQUIRE_PACKAGES_FCL-NET=1
  2651. REQUIRE_PACKAGES_FCL-PASSRC=1
  2652. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2653. REQUIRE_PACKAGES_FCL-WEB=1
  2654. REQUIRE_PACKAGES_FCL-XML=1
  2655. endif
  2656. ifeq ($(CPU_OS_TARGET),aarch64-android)
  2657. REQUIRE_PACKAGES_RTL=1
  2658. REQUIRE_PACKAGES_FCL-BASE=1
  2659. REQUIRE_PACKAGES_FCL-DB=1
  2660. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2661. REQUIRE_PACKAGES_FCL-IMAGE=1
  2662. REQUIRE_PACKAGES_FCL-NET=1
  2663. REQUIRE_PACKAGES_FCL-PASSRC=1
  2664. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2665. REQUIRE_PACKAGES_FCL-WEB=1
  2666. REQUIRE_PACKAGES_FCL-XML=1
  2667. endif
  2668. ifeq ($(CPU_OS_TARGET),aarch64-ios)
  2669. REQUIRE_PACKAGES_RTL=1
  2670. REQUIRE_PACKAGES_FCL-BASE=1
  2671. REQUIRE_PACKAGES_FCL-DB=1
  2672. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2673. REQUIRE_PACKAGES_FCL-IMAGE=1
  2674. REQUIRE_PACKAGES_FCL-NET=1
  2675. REQUIRE_PACKAGES_FCL-PASSRC=1
  2676. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2677. REQUIRE_PACKAGES_FCL-WEB=1
  2678. REQUIRE_PACKAGES_FCL-XML=1
  2679. endif
  2680. ifeq ($(CPU_OS_TARGET),wasm32-embedded)
  2681. REQUIRE_PACKAGES_RTL=1
  2682. REQUIRE_PACKAGES_FCL-BASE=1
  2683. REQUIRE_PACKAGES_FCL-DB=1
  2684. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2685. REQUIRE_PACKAGES_FCL-IMAGE=1
  2686. REQUIRE_PACKAGES_FCL-NET=1
  2687. REQUIRE_PACKAGES_FCL-PASSRC=1
  2688. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2689. REQUIRE_PACKAGES_FCL-WEB=1
  2690. REQUIRE_PACKAGES_FCL-XML=1
  2691. endif
  2692. ifeq ($(CPU_OS_TARGET),wasm32-wasip1)
  2693. REQUIRE_PACKAGES_RTL=1
  2694. REQUIRE_PACKAGES_FCL-BASE=1
  2695. REQUIRE_PACKAGES_FCL-DB=1
  2696. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2697. REQUIRE_PACKAGES_FCL-IMAGE=1
  2698. REQUIRE_PACKAGES_FCL-NET=1
  2699. REQUIRE_PACKAGES_FCL-PASSRC=1
  2700. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2701. REQUIRE_PACKAGES_FCL-WEB=1
  2702. REQUIRE_PACKAGES_FCL-XML=1
  2703. endif
  2704. ifeq ($(CPU_OS_TARGET),wasm32-wasip1threads)
  2705. REQUIRE_PACKAGES_RTL=1
  2706. REQUIRE_PACKAGES_FCL-BASE=1
  2707. REQUIRE_PACKAGES_FCL-DB=1
  2708. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2709. REQUIRE_PACKAGES_FCL-IMAGE=1
  2710. REQUIRE_PACKAGES_FCL-NET=1
  2711. REQUIRE_PACKAGES_FCL-PASSRC=1
  2712. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2713. REQUIRE_PACKAGES_FCL-WEB=1
  2714. REQUIRE_PACKAGES_FCL-XML=1
  2715. endif
  2716. ifeq ($(CPU_OS_TARGET),wasm32-wasip2)
  2717. REQUIRE_PACKAGES_RTL=1
  2718. REQUIRE_PACKAGES_FCL-BASE=1
  2719. REQUIRE_PACKAGES_FCL-DB=1
  2720. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2721. REQUIRE_PACKAGES_FCL-IMAGE=1
  2722. REQUIRE_PACKAGES_FCL-NET=1
  2723. REQUIRE_PACKAGES_FCL-PASSRC=1
  2724. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2725. REQUIRE_PACKAGES_FCL-WEB=1
  2726. REQUIRE_PACKAGES_FCL-XML=1
  2727. endif
  2728. ifeq ($(CPU_OS_TARGET),sparc64-linux)
  2729. REQUIRE_PACKAGES_RTL=1
  2730. REQUIRE_PACKAGES_FCL-BASE=1
  2731. REQUIRE_PACKAGES_FCL-DB=1
  2732. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2733. REQUIRE_PACKAGES_FCL-IMAGE=1
  2734. REQUIRE_PACKAGES_FCL-NET=1
  2735. REQUIRE_PACKAGES_FCL-PASSRC=1
  2736. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2737. REQUIRE_PACKAGES_FCL-WEB=1
  2738. REQUIRE_PACKAGES_FCL-XML=1
  2739. endif
  2740. ifeq ($(CPU_OS_TARGET),riscv32-linux)
  2741. REQUIRE_PACKAGES_RTL=1
  2742. REQUIRE_PACKAGES_FCL-BASE=1
  2743. REQUIRE_PACKAGES_FCL-DB=1
  2744. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2745. REQUIRE_PACKAGES_FCL-IMAGE=1
  2746. REQUIRE_PACKAGES_FCL-NET=1
  2747. REQUIRE_PACKAGES_FCL-PASSRC=1
  2748. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2749. REQUIRE_PACKAGES_FCL-WEB=1
  2750. REQUIRE_PACKAGES_FCL-XML=1
  2751. endif
  2752. ifeq ($(CPU_OS_TARGET),riscv32-embedded)
  2753. REQUIRE_PACKAGES_RTL=1
  2754. REQUIRE_PACKAGES_FCL-BASE=1
  2755. REQUIRE_PACKAGES_FCL-DB=1
  2756. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2757. REQUIRE_PACKAGES_FCL-IMAGE=1
  2758. REQUIRE_PACKAGES_FCL-NET=1
  2759. REQUIRE_PACKAGES_FCL-PASSRC=1
  2760. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2761. REQUIRE_PACKAGES_FCL-WEB=1
  2762. REQUIRE_PACKAGES_FCL-XML=1
  2763. endif
  2764. ifeq ($(CPU_OS_TARGET),riscv32-freertos)
  2765. REQUIRE_PACKAGES_RTL=1
  2766. REQUIRE_PACKAGES_FCL-BASE=1
  2767. REQUIRE_PACKAGES_FCL-DB=1
  2768. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2769. REQUIRE_PACKAGES_FCL-IMAGE=1
  2770. REQUIRE_PACKAGES_FCL-NET=1
  2771. REQUIRE_PACKAGES_FCL-PASSRC=1
  2772. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2773. REQUIRE_PACKAGES_FCL-WEB=1
  2774. REQUIRE_PACKAGES_FCL-XML=1
  2775. endif
  2776. ifeq ($(CPU_OS_TARGET),riscv64-linux)
  2777. REQUIRE_PACKAGES_RTL=1
  2778. REQUIRE_PACKAGES_FCL-BASE=1
  2779. REQUIRE_PACKAGES_FCL-DB=1
  2780. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2781. REQUIRE_PACKAGES_FCL-IMAGE=1
  2782. REQUIRE_PACKAGES_FCL-NET=1
  2783. REQUIRE_PACKAGES_FCL-PASSRC=1
  2784. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2785. REQUIRE_PACKAGES_FCL-WEB=1
  2786. REQUIRE_PACKAGES_FCL-XML=1
  2787. endif
  2788. ifeq ($(CPU_OS_TARGET),riscv64-embedded)
  2789. REQUIRE_PACKAGES_RTL=1
  2790. REQUIRE_PACKAGES_FCL-BASE=1
  2791. REQUIRE_PACKAGES_FCL-DB=1
  2792. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2793. REQUIRE_PACKAGES_FCL-IMAGE=1
  2794. REQUIRE_PACKAGES_FCL-NET=1
  2795. REQUIRE_PACKAGES_FCL-PASSRC=1
  2796. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2797. REQUIRE_PACKAGES_FCL-WEB=1
  2798. REQUIRE_PACKAGES_FCL-XML=1
  2799. endif
  2800. ifeq ($(CPU_OS_TARGET),xtensa-linux)
  2801. REQUIRE_PACKAGES_RTL=1
  2802. REQUIRE_PACKAGES_FCL-BASE=1
  2803. REQUIRE_PACKAGES_FCL-DB=1
  2804. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2805. REQUIRE_PACKAGES_FCL-IMAGE=1
  2806. REQUIRE_PACKAGES_FCL-NET=1
  2807. REQUIRE_PACKAGES_FCL-PASSRC=1
  2808. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2809. REQUIRE_PACKAGES_FCL-WEB=1
  2810. REQUIRE_PACKAGES_FCL-XML=1
  2811. endif
  2812. ifeq ($(CPU_OS_TARGET),xtensa-embedded)
  2813. REQUIRE_PACKAGES_RTL=1
  2814. REQUIRE_PACKAGES_FCL-BASE=1
  2815. REQUIRE_PACKAGES_FCL-DB=1
  2816. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2817. REQUIRE_PACKAGES_FCL-IMAGE=1
  2818. REQUIRE_PACKAGES_FCL-NET=1
  2819. REQUIRE_PACKAGES_FCL-PASSRC=1
  2820. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2821. REQUIRE_PACKAGES_FCL-WEB=1
  2822. REQUIRE_PACKAGES_FCL-XML=1
  2823. endif
  2824. ifeq ($(CPU_OS_TARGET),xtensa-freertos)
  2825. REQUIRE_PACKAGES_RTL=1
  2826. REQUIRE_PACKAGES_FCL-BASE=1
  2827. REQUIRE_PACKAGES_FCL-DB=1
  2828. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2829. REQUIRE_PACKAGES_FCL-IMAGE=1
  2830. REQUIRE_PACKAGES_FCL-NET=1
  2831. REQUIRE_PACKAGES_FCL-PASSRC=1
  2832. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2833. REQUIRE_PACKAGES_FCL-WEB=1
  2834. REQUIRE_PACKAGES_FCL-XML=1
  2835. endif
  2836. ifeq ($(CPU_OS_TARGET),z80-embedded)
  2837. REQUIRE_PACKAGES_RTL=1
  2838. REQUIRE_PACKAGES_FCL-BASE=1
  2839. REQUIRE_PACKAGES_FCL-DB=1
  2840. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2841. REQUIRE_PACKAGES_FCL-IMAGE=1
  2842. REQUIRE_PACKAGES_FCL-NET=1
  2843. REQUIRE_PACKAGES_FCL-PASSRC=1
  2844. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2845. REQUIRE_PACKAGES_FCL-WEB=1
  2846. REQUIRE_PACKAGES_FCL-XML=1
  2847. endif
  2848. ifeq ($(CPU_OS_TARGET),z80-zxspectrum)
  2849. REQUIRE_PACKAGES_RTL=1
  2850. REQUIRE_PACKAGES_FCL-BASE=1
  2851. REQUIRE_PACKAGES_FCL-DB=1
  2852. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2853. REQUIRE_PACKAGES_FCL-IMAGE=1
  2854. REQUIRE_PACKAGES_FCL-NET=1
  2855. REQUIRE_PACKAGES_FCL-PASSRC=1
  2856. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2857. REQUIRE_PACKAGES_FCL-WEB=1
  2858. REQUIRE_PACKAGES_FCL-XML=1
  2859. endif
  2860. ifeq ($(CPU_OS_TARGET),z80-msxdos)
  2861. REQUIRE_PACKAGES_RTL=1
  2862. REQUIRE_PACKAGES_FCL-BASE=1
  2863. REQUIRE_PACKAGES_FCL-DB=1
  2864. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2865. REQUIRE_PACKAGES_FCL-IMAGE=1
  2866. REQUIRE_PACKAGES_FCL-NET=1
  2867. REQUIRE_PACKAGES_FCL-PASSRC=1
  2868. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2869. REQUIRE_PACKAGES_FCL-WEB=1
  2870. REQUIRE_PACKAGES_FCL-XML=1
  2871. endif
  2872. ifeq ($(CPU_OS_TARGET),z80-amstradcpc)
  2873. REQUIRE_PACKAGES_RTL=1
  2874. REQUIRE_PACKAGES_FCL-BASE=1
  2875. REQUIRE_PACKAGES_FCL-DB=1
  2876. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2877. REQUIRE_PACKAGES_FCL-IMAGE=1
  2878. REQUIRE_PACKAGES_FCL-NET=1
  2879. REQUIRE_PACKAGES_FCL-PASSRC=1
  2880. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2881. REQUIRE_PACKAGES_FCL-WEB=1
  2882. REQUIRE_PACKAGES_FCL-XML=1
  2883. endif
  2884. ifeq ($(CPU_OS_TARGET),loongarch64-linux)
  2885. REQUIRE_PACKAGES_RTL=1
  2886. REQUIRE_PACKAGES_FCL-BASE=1
  2887. REQUIRE_PACKAGES_FCL-DB=1
  2888. REQUIRE_PACKAGES_FCL-FPCUNIT=1
  2889. REQUIRE_PACKAGES_FCL-IMAGE=1
  2890. REQUIRE_PACKAGES_FCL-NET=1
  2891. REQUIRE_PACKAGES_FCL-PASSRC=1
  2892. REQUIRE_PACKAGES_FCL-REGISTRY=1
  2893. REQUIRE_PACKAGES_FCL-WEB=1
  2894. REQUIRE_PACKAGES_FCL-XML=1
  2895. endif
  2896. ifdef REQUIRE_PACKAGES_RTL
  2897. PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
  2898. ifeq ($(PACKAGEDIR_RTL),)
  2899. PACKAGEDIR_RTL:=$(firstword $(subst /Makefile,,$(strip $(wildcard $(addsuffix /rtl/Makefile,$(PACKAGESDIR))))))
  2900. ifneq ($(PACKAGEDIR_RTL),)
  2901. PACKAGEDIR_RTL:=$(firstword $(subst /fpmake.pp,,$(strip $(wildcard $(addsuffix /rtl/fpmake.pp,$(PACKAGESDIR))))))
  2902. endif
  2903. endif
  2904. ifneq ($(PACKAGEDIR_RTL),)
  2905. ifneq ($(wildcard $(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)),)
  2906. UNITDIR_RTL=$(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)
  2907. else
  2908. UNITDIR_RTL=$(PACKAGEDIR_RTL)
  2909. endif
  2910. ifneq ($(wildcard $(PACKAGEDIR_RTL)/units/$(SOURCESUFFIX)),)
  2911. UNITDIR_FPMAKE_RTL=$(PACKAGEDIR_RTL)/units/$(SOURCESUFFIX)
  2912. else
  2913. ifneq ($(wildcard $(PACKAGEDIR_RTL)/units_bs/$(SOURCESUFFIX)),)
  2914. UNITDIR_FPMAKE_RTL=$(PACKAGEDIR_RTL)/units_bs/$(SOURCESUFFIX)
  2915. else
  2916. UNITDIR_FPMAKE_RTL=$(PACKAGEDIR_RTL)
  2917. endif
  2918. endif
  2919. ifdef CHECKDEPEND
  2920. $(PACKAGEDIR_RTL)/$(OS_TARGET)/$(FPCMADE):
  2921. $(MAKE) -C $(PACKAGEDIR_RTL)/$(OS_TARGET) $(FPCMADE)
  2922. override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(OS_TARGET)/$(FPCMADE)
  2923. endif
  2924. else
  2925. PACKAGEDIR_RTL=
  2926. UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR)))))
  2927. ifneq ($(UNITDIR_RTL),)
  2928. UNITDIR_RTL:=$(firstword $(UNITDIR_RTL))
  2929. else
  2930. UNITDIR_RTL=
  2931. endif
  2932. endif
  2933. ifdef UNITDIR_RTL
  2934. override COMPILER_UNITDIR+=$(UNITDIR_RTL)
  2935. endif
  2936. ifdef UNITDIR_FPMAKE_RTL
  2937. override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_RTL)
  2938. endif
  2939. endif
  2940. ifdef REQUIRE_PACKAGES_FCL-BASE
  2941. PACKAGEDIR_FCL-BASE:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-base/Makefile.fpc,$(PACKAGESDIR))))))
  2942. ifeq ($(PACKAGEDIR_FCL-BASE),)
  2943. PACKAGEDIR_FCL-BASE:=$(firstword $(subst /Makefile,,$(strip $(wildcard $(addsuffix /fcl-base/Makefile,$(PACKAGESDIR))))))
  2944. ifneq ($(PACKAGEDIR_FCL-BASE),)
  2945. PACKAGEDIR_FCL-BASE:=$(firstword $(subst /fpmake.pp,,$(strip $(wildcard $(addsuffix /fcl-base/fpmake.pp,$(PACKAGESDIR))))))
  2946. endif
  2947. endif
  2948. ifneq ($(PACKAGEDIR_FCL-BASE),)
  2949. ifneq ($(wildcard $(PACKAGEDIR_FCL-BASE)/units/$(TARGETSUFFIX)),)
  2950. UNITDIR_FCL-BASE=$(PACKAGEDIR_FCL-BASE)/units/$(TARGETSUFFIX)
  2951. else
  2952. UNITDIR_FCL-BASE=$(PACKAGEDIR_FCL-BASE)
  2953. endif
  2954. ifneq ($(wildcard $(PACKAGEDIR_FCL-BASE)/units/$(SOURCESUFFIX)),)
  2955. UNITDIR_FPMAKE_FCL-BASE=$(PACKAGEDIR_FCL-BASE)/units/$(SOURCESUFFIX)
  2956. else
  2957. ifneq ($(wildcard $(PACKAGEDIR_FCL-BASE)/units_bs/$(SOURCESUFFIX)),)
  2958. UNITDIR_FPMAKE_FCL-BASE=$(PACKAGEDIR_FCL-BASE)/units_bs/$(SOURCESUFFIX)
  2959. else
  2960. UNITDIR_FPMAKE_FCL-BASE=$(PACKAGEDIR_FCL-BASE)
  2961. endif
  2962. endif
  2963. ifdef CHECKDEPEND
  2964. $(PACKAGEDIR_FCL-BASE)/$(FPCMADE):
  2965. $(MAKE) -C $(PACKAGEDIR_FCL-BASE) $(FPCMADE)
  2966. override ALLDEPENDENCIES+=$(PACKAGEDIR_FCL-BASE)/$(FPCMADE)
  2967. endif
  2968. else
  2969. PACKAGEDIR_FCL-BASE=
  2970. UNITDIR_FCL-BASE:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fcl-base/Package.fpc,$(UNITSDIR)))))
  2971. ifneq ($(UNITDIR_FCL-BASE),)
  2972. UNITDIR_FCL-BASE:=$(firstword $(UNITDIR_FCL-BASE))
  2973. else
  2974. UNITDIR_FCL-BASE=
  2975. endif
  2976. endif
  2977. ifdef UNITDIR_FCL-BASE
  2978. override COMPILER_UNITDIR+=$(UNITDIR_FCL-BASE)
  2979. endif
  2980. ifdef UNITDIR_FPMAKE_FCL-BASE
  2981. override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_FCL-BASE)
  2982. endif
  2983. endif
  2984. ifdef REQUIRE_PACKAGES_FCL-DB
  2985. PACKAGEDIR_FCL-DB:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-db/Makefile.fpc,$(PACKAGESDIR))))))
  2986. ifeq ($(PACKAGEDIR_FCL-DB),)
  2987. PACKAGEDIR_FCL-DB:=$(firstword $(subst /Makefile,,$(strip $(wildcard $(addsuffix /fcl-db/Makefile,$(PACKAGESDIR))))))
  2988. ifneq ($(PACKAGEDIR_FCL-DB),)
  2989. PACKAGEDIR_FCL-DB:=$(firstword $(subst /fpmake.pp,,$(strip $(wildcard $(addsuffix /fcl-db/fpmake.pp,$(PACKAGESDIR))))))
  2990. endif
  2991. endif
  2992. ifneq ($(PACKAGEDIR_FCL-DB),)
  2993. ifneq ($(wildcard $(PACKAGEDIR_FCL-DB)/units/$(TARGETSUFFIX)),)
  2994. UNITDIR_FCL-DB=$(PACKAGEDIR_FCL-DB)/units/$(TARGETSUFFIX)
  2995. else
  2996. UNITDIR_FCL-DB=$(PACKAGEDIR_FCL-DB)
  2997. endif
  2998. ifneq ($(wildcard $(PACKAGEDIR_FCL-DB)/units/$(SOURCESUFFIX)),)
  2999. UNITDIR_FPMAKE_FCL-DB=$(PACKAGEDIR_FCL-DB)/units/$(SOURCESUFFIX)
  3000. else
  3001. ifneq ($(wildcard $(PACKAGEDIR_FCL-DB)/units_bs/$(SOURCESUFFIX)),)
  3002. UNITDIR_FPMAKE_FCL-DB=$(PACKAGEDIR_FCL-DB)/units_bs/$(SOURCESUFFIX)
  3003. else
  3004. UNITDIR_FPMAKE_FCL-DB=$(PACKAGEDIR_FCL-DB)
  3005. endif
  3006. endif
  3007. ifdef CHECKDEPEND
  3008. $(PACKAGEDIR_FCL-DB)/$(FPCMADE):
  3009. $(MAKE) -C $(PACKAGEDIR_FCL-DB) $(FPCMADE)
  3010. override ALLDEPENDENCIES+=$(PACKAGEDIR_FCL-DB)/$(FPCMADE)
  3011. endif
  3012. else
  3013. PACKAGEDIR_FCL-DB=
  3014. UNITDIR_FCL-DB:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fcl-db/Package.fpc,$(UNITSDIR)))))
  3015. ifneq ($(UNITDIR_FCL-DB),)
  3016. UNITDIR_FCL-DB:=$(firstword $(UNITDIR_FCL-DB))
  3017. else
  3018. UNITDIR_FCL-DB=
  3019. endif
  3020. endif
  3021. ifdef UNITDIR_FCL-DB
  3022. override COMPILER_UNITDIR+=$(UNITDIR_FCL-DB)
  3023. endif
  3024. ifdef UNITDIR_FPMAKE_FCL-DB
  3025. override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_FCL-DB)
  3026. endif
  3027. endif
  3028. ifdef REQUIRE_PACKAGES_FCL-FPCUNIT
  3029. PACKAGEDIR_FCL-FPCUNIT:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-fpcunit/Makefile.fpc,$(PACKAGESDIR))))))
  3030. ifeq ($(PACKAGEDIR_FCL-FPCUNIT),)
  3031. PACKAGEDIR_FCL-FPCUNIT:=$(firstword $(subst /Makefile,,$(strip $(wildcard $(addsuffix /fcl-fpcunit/Makefile,$(PACKAGESDIR))))))
  3032. ifneq ($(PACKAGEDIR_FCL-FPCUNIT),)
  3033. PACKAGEDIR_FCL-FPCUNIT:=$(firstword $(subst /fpmake.pp,,$(strip $(wildcard $(addsuffix /fcl-fpcunit/fpmake.pp,$(PACKAGESDIR))))))
  3034. endif
  3035. endif
  3036. ifneq ($(PACKAGEDIR_FCL-FPCUNIT),)
  3037. ifneq ($(wildcard $(PACKAGEDIR_FCL-FPCUNIT)/units/$(TARGETSUFFIX)),)
  3038. UNITDIR_FCL-FPCUNIT=$(PACKAGEDIR_FCL-FPCUNIT)/units/$(TARGETSUFFIX)
  3039. else
  3040. UNITDIR_FCL-FPCUNIT=$(PACKAGEDIR_FCL-FPCUNIT)
  3041. endif
  3042. ifneq ($(wildcard $(PACKAGEDIR_FCL-FPCUNIT)/units/$(SOURCESUFFIX)),)
  3043. UNITDIR_FPMAKE_FCL-FPCUNIT=$(PACKAGEDIR_FCL-FPCUNIT)/units/$(SOURCESUFFIX)
  3044. else
  3045. ifneq ($(wildcard $(PACKAGEDIR_FCL-FPCUNIT)/units_bs/$(SOURCESUFFIX)),)
  3046. UNITDIR_FPMAKE_FCL-FPCUNIT=$(PACKAGEDIR_FCL-FPCUNIT)/units_bs/$(SOURCESUFFIX)
  3047. else
  3048. UNITDIR_FPMAKE_FCL-FPCUNIT=$(PACKAGEDIR_FCL-FPCUNIT)
  3049. endif
  3050. endif
  3051. ifdef CHECKDEPEND
  3052. $(PACKAGEDIR_FCL-FPCUNIT)/$(FPCMADE):
  3053. $(MAKE) -C $(PACKAGEDIR_FCL-FPCUNIT) $(FPCMADE)
  3054. override ALLDEPENDENCIES+=$(PACKAGEDIR_FCL-FPCUNIT)/$(FPCMADE)
  3055. endif
  3056. else
  3057. PACKAGEDIR_FCL-FPCUNIT=
  3058. UNITDIR_FCL-FPCUNIT:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fcl-fpcunit/Package.fpc,$(UNITSDIR)))))
  3059. ifneq ($(UNITDIR_FCL-FPCUNIT),)
  3060. UNITDIR_FCL-FPCUNIT:=$(firstword $(UNITDIR_FCL-FPCUNIT))
  3061. else
  3062. UNITDIR_FCL-FPCUNIT=
  3063. endif
  3064. endif
  3065. ifdef UNITDIR_FCL-FPCUNIT
  3066. override COMPILER_UNITDIR+=$(UNITDIR_FCL-FPCUNIT)
  3067. endif
  3068. ifdef UNITDIR_FPMAKE_FCL-FPCUNIT
  3069. override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_FCL-FPCUNIT)
  3070. endif
  3071. endif
  3072. ifdef REQUIRE_PACKAGES_FCL-IMAGE
  3073. PACKAGEDIR_FCL-IMAGE:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-image/Makefile.fpc,$(PACKAGESDIR))))))
  3074. ifeq ($(PACKAGEDIR_FCL-IMAGE),)
  3075. PACKAGEDIR_FCL-IMAGE:=$(firstword $(subst /Makefile,,$(strip $(wildcard $(addsuffix /fcl-image/Makefile,$(PACKAGESDIR))))))
  3076. ifneq ($(PACKAGEDIR_FCL-IMAGE),)
  3077. PACKAGEDIR_FCL-IMAGE:=$(firstword $(subst /fpmake.pp,,$(strip $(wildcard $(addsuffix /fcl-image/fpmake.pp,$(PACKAGESDIR))))))
  3078. endif
  3079. endif
  3080. ifneq ($(PACKAGEDIR_FCL-IMAGE),)
  3081. ifneq ($(wildcard $(PACKAGEDIR_FCL-IMAGE)/units/$(TARGETSUFFIX)),)
  3082. UNITDIR_FCL-IMAGE=$(PACKAGEDIR_FCL-IMAGE)/units/$(TARGETSUFFIX)
  3083. else
  3084. UNITDIR_FCL-IMAGE=$(PACKAGEDIR_FCL-IMAGE)
  3085. endif
  3086. ifneq ($(wildcard $(PACKAGEDIR_FCL-IMAGE)/units/$(SOURCESUFFIX)),)
  3087. UNITDIR_FPMAKE_FCL-IMAGE=$(PACKAGEDIR_FCL-IMAGE)/units/$(SOURCESUFFIX)
  3088. else
  3089. ifneq ($(wildcard $(PACKAGEDIR_FCL-IMAGE)/units_bs/$(SOURCESUFFIX)),)
  3090. UNITDIR_FPMAKE_FCL-IMAGE=$(PACKAGEDIR_FCL-IMAGE)/units_bs/$(SOURCESUFFIX)
  3091. else
  3092. UNITDIR_FPMAKE_FCL-IMAGE=$(PACKAGEDIR_FCL-IMAGE)
  3093. endif
  3094. endif
  3095. ifdef CHECKDEPEND
  3096. $(PACKAGEDIR_FCL-IMAGE)/$(FPCMADE):
  3097. $(MAKE) -C $(PACKAGEDIR_FCL-IMAGE) $(FPCMADE)
  3098. override ALLDEPENDENCIES+=$(PACKAGEDIR_FCL-IMAGE)/$(FPCMADE)
  3099. endif
  3100. else
  3101. PACKAGEDIR_FCL-IMAGE=
  3102. UNITDIR_FCL-IMAGE:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fcl-image/Package.fpc,$(UNITSDIR)))))
  3103. ifneq ($(UNITDIR_FCL-IMAGE),)
  3104. UNITDIR_FCL-IMAGE:=$(firstword $(UNITDIR_FCL-IMAGE))
  3105. else
  3106. UNITDIR_FCL-IMAGE=
  3107. endif
  3108. endif
  3109. ifdef UNITDIR_FCL-IMAGE
  3110. override COMPILER_UNITDIR+=$(UNITDIR_FCL-IMAGE)
  3111. endif
  3112. ifdef UNITDIR_FPMAKE_FCL-IMAGE
  3113. override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_FCL-IMAGE)
  3114. endif
  3115. endif
  3116. ifdef REQUIRE_PACKAGES_FCL-NET
  3117. PACKAGEDIR_FCL-NET:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-net/Makefile.fpc,$(PACKAGESDIR))))))
  3118. ifeq ($(PACKAGEDIR_FCL-NET),)
  3119. PACKAGEDIR_FCL-NET:=$(firstword $(subst /Makefile,,$(strip $(wildcard $(addsuffix /fcl-net/Makefile,$(PACKAGESDIR))))))
  3120. ifneq ($(PACKAGEDIR_FCL-NET),)
  3121. PACKAGEDIR_FCL-NET:=$(firstword $(subst /fpmake.pp,,$(strip $(wildcard $(addsuffix /fcl-net/fpmake.pp,$(PACKAGESDIR))))))
  3122. endif
  3123. endif
  3124. ifneq ($(PACKAGEDIR_FCL-NET),)
  3125. ifneq ($(wildcard $(PACKAGEDIR_FCL-NET)/units/$(TARGETSUFFIX)),)
  3126. UNITDIR_FCL-NET=$(PACKAGEDIR_FCL-NET)/units/$(TARGETSUFFIX)
  3127. else
  3128. UNITDIR_FCL-NET=$(PACKAGEDIR_FCL-NET)
  3129. endif
  3130. ifneq ($(wildcard $(PACKAGEDIR_FCL-NET)/units/$(SOURCESUFFIX)),)
  3131. UNITDIR_FPMAKE_FCL-NET=$(PACKAGEDIR_FCL-NET)/units/$(SOURCESUFFIX)
  3132. else
  3133. ifneq ($(wildcard $(PACKAGEDIR_FCL-NET)/units_bs/$(SOURCESUFFIX)),)
  3134. UNITDIR_FPMAKE_FCL-NET=$(PACKAGEDIR_FCL-NET)/units_bs/$(SOURCESUFFIX)
  3135. else
  3136. UNITDIR_FPMAKE_FCL-NET=$(PACKAGEDIR_FCL-NET)
  3137. endif
  3138. endif
  3139. ifdef CHECKDEPEND
  3140. $(PACKAGEDIR_FCL-NET)/$(FPCMADE):
  3141. $(MAKE) -C $(PACKAGEDIR_FCL-NET) $(FPCMADE)
  3142. override ALLDEPENDENCIES+=$(PACKAGEDIR_FCL-NET)/$(FPCMADE)
  3143. endif
  3144. else
  3145. PACKAGEDIR_FCL-NET=
  3146. UNITDIR_FCL-NET:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fcl-net/Package.fpc,$(UNITSDIR)))))
  3147. ifneq ($(UNITDIR_FCL-NET),)
  3148. UNITDIR_FCL-NET:=$(firstword $(UNITDIR_FCL-NET))
  3149. else
  3150. UNITDIR_FCL-NET=
  3151. endif
  3152. endif
  3153. ifdef UNITDIR_FCL-NET
  3154. override COMPILER_UNITDIR+=$(UNITDIR_FCL-NET)
  3155. endif
  3156. ifdef UNITDIR_FPMAKE_FCL-NET
  3157. override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_FCL-NET)
  3158. endif
  3159. endif
  3160. ifdef REQUIRE_PACKAGES_FCL-PASSRC
  3161. PACKAGEDIR_FCL-PASSRC:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-passrc/Makefile.fpc,$(PACKAGESDIR))))))
  3162. ifeq ($(PACKAGEDIR_FCL-PASSRC),)
  3163. PACKAGEDIR_FCL-PASSRC:=$(firstword $(subst /Makefile,,$(strip $(wildcard $(addsuffix /fcl-passrc/Makefile,$(PACKAGESDIR))))))
  3164. ifneq ($(PACKAGEDIR_FCL-PASSRC),)
  3165. PACKAGEDIR_FCL-PASSRC:=$(firstword $(subst /fpmake.pp,,$(strip $(wildcard $(addsuffix /fcl-passrc/fpmake.pp,$(PACKAGESDIR))))))
  3166. endif
  3167. endif
  3168. ifneq ($(PACKAGEDIR_FCL-PASSRC),)
  3169. ifneq ($(wildcard $(PACKAGEDIR_FCL-PASSRC)/units/$(TARGETSUFFIX)),)
  3170. UNITDIR_FCL-PASSRC=$(PACKAGEDIR_FCL-PASSRC)/units/$(TARGETSUFFIX)
  3171. else
  3172. UNITDIR_FCL-PASSRC=$(PACKAGEDIR_FCL-PASSRC)
  3173. endif
  3174. ifneq ($(wildcard $(PACKAGEDIR_FCL-PASSRC)/units/$(SOURCESUFFIX)),)
  3175. UNITDIR_FPMAKE_FCL-PASSRC=$(PACKAGEDIR_FCL-PASSRC)/units/$(SOURCESUFFIX)
  3176. else
  3177. ifneq ($(wildcard $(PACKAGEDIR_FCL-PASSRC)/units_bs/$(SOURCESUFFIX)),)
  3178. UNITDIR_FPMAKE_FCL-PASSRC=$(PACKAGEDIR_FCL-PASSRC)/units_bs/$(SOURCESUFFIX)
  3179. else
  3180. UNITDIR_FPMAKE_FCL-PASSRC=$(PACKAGEDIR_FCL-PASSRC)
  3181. endif
  3182. endif
  3183. ifdef CHECKDEPEND
  3184. $(PACKAGEDIR_FCL-PASSRC)/$(FPCMADE):
  3185. $(MAKE) -C $(PACKAGEDIR_FCL-PASSRC) $(FPCMADE)
  3186. override ALLDEPENDENCIES+=$(PACKAGEDIR_FCL-PASSRC)/$(FPCMADE)
  3187. endif
  3188. else
  3189. PACKAGEDIR_FCL-PASSRC=
  3190. UNITDIR_FCL-PASSRC:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fcl-passrc/Package.fpc,$(UNITSDIR)))))
  3191. ifneq ($(UNITDIR_FCL-PASSRC),)
  3192. UNITDIR_FCL-PASSRC:=$(firstword $(UNITDIR_FCL-PASSRC))
  3193. else
  3194. UNITDIR_FCL-PASSRC=
  3195. endif
  3196. endif
  3197. ifdef UNITDIR_FCL-PASSRC
  3198. override COMPILER_UNITDIR+=$(UNITDIR_FCL-PASSRC)
  3199. endif
  3200. ifdef UNITDIR_FPMAKE_FCL-PASSRC
  3201. override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_FCL-PASSRC)
  3202. endif
  3203. endif
  3204. ifdef REQUIRE_PACKAGES_FCL-REGISTRY
  3205. PACKAGEDIR_FCL-REGISTRY:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-registry/Makefile.fpc,$(PACKAGESDIR))))))
  3206. ifeq ($(PACKAGEDIR_FCL-REGISTRY),)
  3207. PACKAGEDIR_FCL-REGISTRY:=$(firstword $(subst /Makefile,,$(strip $(wildcard $(addsuffix /fcl-registry/Makefile,$(PACKAGESDIR))))))
  3208. ifneq ($(PACKAGEDIR_FCL-REGISTRY),)
  3209. PACKAGEDIR_FCL-REGISTRY:=$(firstword $(subst /fpmake.pp,,$(strip $(wildcard $(addsuffix /fcl-registry/fpmake.pp,$(PACKAGESDIR))))))
  3210. endif
  3211. endif
  3212. ifneq ($(PACKAGEDIR_FCL-REGISTRY),)
  3213. ifneq ($(wildcard $(PACKAGEDIR_FCL-REGISTRY)/units/$(TARGETSUFFIX)),)
  3214. UNITDIR_FCL-REGISTRY=$(PACKAGEDIR_FCL-REGISTRY)/units/$(TARGETSUFFIX)
  3215. else
  3216. UNITDIR_FCL-REGISTRY=$(PACKAGEDIR_FCL-REGISTRY)
  3217. endif
  3218. ifneq ($(wildcard $(PACKAGEDIR_FCL-REGISTRY)/units/$(SOURCESUFFIX)),)
  3219. UNITDIR_FPMAKE_FCL-REGISTRY=$(PACKAGEDIR_FCL-REGISTRY)/units/$(SOURCESUFFIX)
  3220. else
  3221. ifneq ($(wildcard $(PACKAGEDIR_FCL-REGISTRY)/units_bs/$(SOURCESUFFIX)),)
  3222. UNITDIR_FPMAKE_FCL-REGISTRY=$(PACKAGEDIR_FCL-REGISTRY)/units_bs/$(SOURCESUFFIX)
  3223. else
  3224. UNITDIR_FPMAKE_FCL-REGISTRY=$(PACKAGEDIR_FCL-REGISTRY)
  3225. endif
  3226. endif
  3227. ifdef CHECKDEPEND
  3228. $(PACKAGEDIR_FCL-REGISTRY)/$(FPCMADE):
  3229. $(MAKE) -C $(PACKAGEDIR_FCL-REGISTRY) $(FPCMADE)
  3230. override ALLDEPENDENCIES+=$(PACKAGEDIR_FCL-REGISTRY)/$(FPCMADE)
  3231. endif
  3232. else
  3233. PACKAGEDIR_FCL-REGISTRY=
  3234. UNITDIR_FCL-REGISTRY:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fcl-registry/Package.fpc,$(UNITSDIR)))))
  3235. ifneq ($(UNITDIR_FCL-REGISTRY),)
  3236. UNITDIR_FCL-REGISTRY:=$(firstword $(UNITDIR_FCL-REGISTRY))
  3237. else
  3238. UNITDIR_FCL-REGISTRY=
  3239. endif
  3240. endif
  3241. ifdef UNITDIR_FCL-REGISTRY
  3242. override COMPILER_UNITDIR+=$(UNITDIR_FCL-REGISTRY)
  3243. endif
  3244. ifdef UNITDIR_FPMAKE_FCL-REGISTRY
  3245. override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_FCL-REGISTRY)
  3246. endif
  3247. endif
  3248. ifdef REQUIRE_PACKAGES_FCL-WEB
  3249. PACKAGEDIR_FCL-WEB:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-web/Makefile.fpc,$(PACKAGESDIR))))))
  3250. ifeq ($(PACKAGEDIR_FCL-WEB),)
  3251. PACKAGEDIR_FCL-WEB:=$(firstword $(subst /Makefile,,$(strip $(wildcard $(addsuffix /fcl-web/Makefile,$(PACKAGESDIR))))))
  3252. ifneq ($(PACKAGEDIR_FCL-WEB),)
  3253. PACKAGEDIR_FCL-WEB:=$(firstword $(subst /fpmake.pp,,$(strip $(wildcard $(addsuffix /fcl-web/fpmake.pp,$(PACKAGESDIR))))))
  3254. endif
  3255. endif
  3256. ifneq ($(PACKAGEDIR_FCL-WEB),)
  3257. ifneq ($(wildcard $(PACKAGEDIR_FCL-WEB)/units/$(TARGETSUFFIX)),)
  3258. UNITDIR_FCL-WEB=$(PACKAGEDIR_FCL-WEB)/units/$(TARGETSUFFIX)
  3259. else
  3260. UNITDIR_FCL-WEB=$(PACKAGEDIR_FCL-WEB)
  3261. endif
  3262. ifneq ($(wildcard $(PACKAGEDIR_FCL-WEB)/units/$(SOURCESUFFIX)),)
  3263. UNITDIR_FPMAKE_FCL-WEB=$(PACKAGEDIR_FCL-WEB)/units/$(SOURCESUFFIX)
  3264. else
  3265. ifneq ($(wildcard $(PACKAGEDIR_FCL-WEB)/units_bs/$(SOURCESUFFIX)),)
  3266. UNITDIR_FPMAKE_FCL-WEB=$(PACKAGEDIR_FCL-WEB)/units_bs/$(SOURCESUFFIX)
  3267. else
  3268. UNITDIR_FPMAKE_FCL-WEB=$(PACKAGEDIR_FCL-WEB)
  3269. endif
  3270. endif
  3271. ifdef CHECKDEPEND
  3272. $(PACKAGEDIR_FCL-WEB)/$(FPCMADE):
  3273. $(MAKE) -C $(PACKAGEDIR_FCL-WEB) $(FPCMADE)
  3274. override ALLDEPENDENCIES+=$(PACKAGEDIR_FCL-WEB)/$(FPCMADE)
  3275. endif
  3276. else
  3277. PACKAGEDIR_FCL-WEB=
  3278. UNITDIR_FCL-WEB:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fcl-web/Package.fpc,$(UNITSDIR)))))
  3279. ifneq ($(UNITDIR_FCL-WEB),)
  3280. UNITDIR_FCL-WEB:=$(firstword $(UNITDIR_FCL-WEB))
  3281. else
  3282. UNITDIR_FCL-WEB=
  3283. endif
  3284. endif
  3285. ifdef UNITDIR_FCL-WEB
  3286. override COMPILER_UNITDIR+=$(UNITDIR_FCL-WEB)
  3287. endif
  3288. ifdef UNITDIR_FPMAKE_FCL-WEB
  3289. override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_FCL-WEB)
  3290. endif
  3291. endif
  3292. ifdef REQUIRE_PACKAGES_FCL-XML
  3293. PACKAGEDIR_FCL-XML:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-xml/Makefile.fpc,$(PACKAGESDIR))))))
  3294. ifeq ($(PACKAGEDIR_FCL-XML),)
  3295. PACKAGEDIR_FCL-XML:=$(firstword $(subst /Makefile,,$(strip $(wildcard $(addsuffix /fcl-xml/Makefile,$(PACKAGESDIR))))))
  3296. ifneq ($(PACKAGEDIR_FCL-XML),)
  3297. PACKAGEDIR_FCL-XML:=$(firstword $(subst /fpmake.pp,,$(strip $(wildcard $(addsuffix /fcl-xml/fpmake.pp,$(PACKAGESDIR))))))
  3298. endif
  3299. endif
  3300. ifneq ($(PACKAGEDIR_FCL-XML),)
  3301. ifneq ($(wildcard $(PACKAGEDIR_FCL-XML)/units/$(TARGETSUFFIX)),)
  3302. UNITDIR_FCL-XML=$(PACKAGEDIR_FCL-XML)/units/$(TARGETSUFFIX)
  3303. else
  3304. UNITDIR_FCL-XML=$(PACKAGEDIR_FCL-XML)
  3305. endif
  3306. ifneq ($(wildcard $(PACKAGEDIR_FCL-XML)/units/$(SOURCESUFFIX)),)
  3307. UNITDIR_FPMAKE_FCL-XML=$(PACKAGEDIR_FCL-XML)/units/$(SOURCESUFFIX)
  3308. else
  3309. ifneq ($(wildcard $(PACKAGEDIR_FCL-XML)/units_bs/$(SOURCESUFFIX)),)
  3310. UNITDIR_FPMAKE_FCL-XML=$(PACKAGEDIR_FCL-XML)/units_bs/$(SOURCESUFFIX)
  3311. else
  3312. UNITDIR_FPMAKE_FCL-XML=$(PACKAGEDIR_FCL-XML)
  3313. endif
  3314. endif
  3315. ifdef CHECKDEPEND
  3316. $(PACKAGEDIR_FCL-XML)/$(FPCMADE):
  3317. $(MAKE) -C $(PACKAGEDIR_FCL-XML) $(FPCMADE)
  3318. override ALLDEPENDENCIES+=$(PACKAGEDIR_FCL-XML)/$(FPCMADE)
  3319. endif
  3320. else
  3321. PACKAGEDIR_FCL-XML=
  3322. UNITDIR_FCL-XML:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fcl-xml/Package.fpc,$(UNITSDIR)))))
  3323. ifneq ($(UNITDIR_FCL-XML),)
  3324. UNITDIR_FCL-XML:=$(firstword $(UNITDIR_FCL-XML))
  3325. else
  3326. UNITDIR_FCL-XML=
  3327. endif
  3328. endif
  3329. ifdef UNITDIR_FCL-XML
  3330. override COMPILER_UNITDIR+=$(UNITDIR_FCL-XML)
  3331. endif
  3332. ifdef UNITDIR_FPMAKE_FCL-XML
  3333. override COMPILER_FPMAKE_UNITDIR+=$(UNITDIR_FPMAKE_FCL-XML)
  3334. endif
  3335. endif
  3336. ifndef NOCPUDEF
  3337. override FPCOPTDEF=$(ARCH)
  3338. endif
  3339. ifneq ($(OS_TARGET),$(OS_SOURCE))
  3340. override FPCOPT+=-T$(OS_TARGET)
  3341. endif
  3342. ifneq ($(CPU_TARGET),$(CPU_SOURCE))
  3343. override FPCOPT+=-P$(ARCH)
  3344. endif
  3345. ifeq ($(OS_SOURCE),openbsd)
  3346. override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
  3347. override FPCMAKEOPT+=-FD$(NEW_BINUTILS_PATH)
  3348. override FPMAKE_BUILD_OPT+=-FD$(NEW_BINUTILS_PATH)
  3349. endif
  3350. ifndef CROSSBOOTSTRAP
  3351. ifneq ($(BINUTILSPREFIX),)
  3352. override FPCOPT+=-XP$(BINUTILSPREFIX)
  3353. ifneq ($(RLINKPATH),)
  3354. override FPCOPT+=-Xr$(RLINKPATH)
  3355. endif
  3356. endif
  3357. endif
  3358. ifndef CROSSCOMPILE
  3359. ifneq ($(BINUTILSPREFIX),)
  3360. override FPCMAKEOPT+=-XP$(BINUTILSPREFIX)
  3361. override FPMAKE_BUILD_OPT+=-XP$(BINUTILSPREFIX)
  3362. endif
  3363. endif
  3364. ifdef UNITDIR
  3365. override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
  3366. endif
  3367. ifdef LIBDIR
  3368. override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
  3369. endif
  3370. ifdef OBJDIR
  3371. override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
  3372. endif
  3373. ifdef INCDIR
  3374. override FPCOPT+=$(addprefix -Fi,$(INCDIR))
  3375. endif
  3376. ifdef LINKSMART
  3377. override FPCOPT+=-XX
  3378. endif
  3379. ifdef CREATESMART
  3380. override FPCOPT+=-CX
  3381. endif
  3382. ifdef DEBUG
  3383. override FPCOPT+=-gl
  3384. override FPCOPTDEF+=DEBUG
  3385. endif
  3386. ifdef RELEASE
  3387. FPCCPUOPT:=-O2
  3388. override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
  3389. override FPCOPTDEF+=RELEASE
  3390. endif
  3391. ifdef STRIP
  3392. override FPCOPT+=-Xs
  3393. endif
  3394. ifdef OPTIMIZE
  3395. override FPCOPT+=-O2
  3396. endif
  3397. ifdef VERBOSE
  3398. override FPCOPT+=-vwni
  3399. endif
  3400. ifdef COMPILER_OPTIONS
  3401. override FPCOPT+=$(COMPILER_OPTIONS)
  3402. endif
  3403. ifdef COMPILER_UNITDIR
  3404. override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
  3405. endif
  3406. ifdef COMPILER_LIBRARYDIR
  3407. override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
  3408. endif
  3409. ifdef COMPILER_OBJECTDIR
  3410. override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
  3411. endif
  3412. ifdef COMPILER_INCLUDEDIR
  3413. override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
  3414. endif
  3415. ifdef CROSSBINDIR
  3416. override FPCOPT+=-FD$(CROSSBINDIR)
  3417. endif
  3418. ifdef COMPILER_TARGETDIR
  3419. override FPCOPT+=-FE$(COMPILER_TARGETDIR)
  3420. ifeq ($(COMPILER_TARGETDIR),.)
  3421. override TARGETDIRPREFIX=
  3422. else
  3423. override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
  3424. endif
  3425. endif
  3426. ifdef COMPILER_UNITTARGETDIR
  3427. override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
  3428. ifeq ($(COMPILER_UNITTARGETDIR),.)
  3429. override UNITTARGETDIRPREFIX=
  3430. else
  3431. override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
  3432. endif
  3433. else
  3434. ifdef COMPILER_TARGETDIR
  3435. override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
  3436. override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
  3437. endif
  3438. endif
  3439. ifdef SYSROOTPATH
  3440. override FPCOPT+=-XR$(SYSROOTPATH)
  3441. else
  3442. ifeq ($(OS_TARGET),$(OS_SOURCE))
  3443. ifeq ($(OS_TARGET),darwin)
  3444. ifeq ($(CPU_TARGET),aarch64)
  3445. ifneq ($(wildcard /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk),)
  3446. override FPCOPT+=-XR/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
  3447. endif
  3448. endif
  3449. endif
  3450. endif
  3451. endif
  3452. ifdef CREATESHARED
  3453. override FPCOPT+=-Cg
  3454. endif
  3455. ifneq ($(filter $(OS_TARGET),dragonfly freebsd openbsd netbsd linux solaris),)
  3456. ifneq ($(filter $(CPU_TARGET),x86_64 mips mipsel mips64 mips64el riscv64 powerpc64),)
  3457. override FPCOPT+=-Cg
  3458. endif
  3459. endif
  3460. ifneq ($(filter $(CPU_TARGET),z80),)
  3461. override FPCOPT+=-CX -XX
  3462. endif
  3463. ifdef LINKSHARED
  3464. endif
  3465. ifdef GCCLIBDIR
  3466. override FPCOPT+=-Fl$(GCCLIBDIR)
  3467. ifdef FPCMAKEGCCLIBDIR
  3468. override FPCMAKEOPT+=-Fl$(FPCMAKEGCCLIBDIR)
  3469. else
  3470. override FPCMAKEOPT+=-Fl$(GCCLIBDIR)
  3471. endif
  3472. endif
  3473. ifdef OTHERLIBDIR
  3474. override FPCOPT+=$(addprefix -Fl,$(OTHERLIBDIR))
  3475. endif
  3476. ifdef OPT
  3477. override FPCOPT+=$(OPT)
  3478. endif
  3479. ifdef FPMAKEBUILDOPT
  3480. override FPMAKE_BUILD_OPT+=$(FPMAKEBUILDOPT)
  3481. endif
  3482. ifdef FPCOPTDEF
  3483. override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
  3484. endif
  3485. ifdef CFGFILE
  3486. override FPCOPT+=@$(CFGFILE)
  3487. endif
  3488. ifdef USEENV
  3489. override FPCEXTCMD:=$(FPCOPT)
  3490. override FPCOPT:=!FPCEXTCMD
  3491. export FPCEXTCMD
  3492. endif
  3493. override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
  3494. override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
  3495. ifneq ($(AFULL_TARGET),$(AFULL_SOURCE))
  3496. override ACROSSCOMPILE=1
  3497. endif
  3498. ifdef ACROSSCOMPILE
  3499. override FPCOPT+=$(CROSSOPT)
  3500. endif
  3501. override COMPILER:=$(strip $(FPC) $(FPCOPT))
  3502. ifneq (,$(filter -sh,$(COMPILER)))
  3503. UseEXECPPAS=1
  3504. endif
  3505. ifneq (,$(filter -s,$(COMPILER)))
  3506. ifeq ($(FULL_SOURCE),$(FULL_TARGET))
  3507. UseEXECPPAS=1
  3508. endif
  3509. endif
  3510. ifneq ($(UseEXECPPAS),1)
  3511. EXECPPAS=
  3512. else
  3513. ifdef RUNBATCH
  3514. EXECPPAS:=@$(RUNBATCH) $(PPAS)
  3515. else
  3516. EXECPPAS:=@$(PPAS)
  3517. endif
  3518. endif
  3519. .PHONY: fpc_exes
  3520. ifndef CROSSINSTALL
  3521. ifneq ($(TARGET_PROGRAMS),)
  3522. override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS))
  3523. override ALL_EXEFILES+=$(foreach lEXEEXT,$(ALL_EXEEXT),$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(lEXEEXT), $(EXEFILES))))
  3524. override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addsuffix $(LTOEXT),$(TARGET_PROGRAMS))$(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS))) $(addprefix $(IMPORTLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS)))
  3525. override EXEDBGFILES:=$(addsuffix $(EXEDBGEXT),$(TARGET_PROGRAMS))
  3526. override ALLTARGET+=fpc_exes
  3527. override INSTALLEXEFILES+=$(EXEFILES)
  3528. override CLEANEXEFILES+=$(EXEFILES) $(EXEOFILES)
  3529. override CLEANEXEDBGFILES+=$(EXEDBGFILES)
  3530. ifeq ($(OS_TARGET),os2)
  3531. override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
  3532. endif
  3533. ifeq ($(OS_TARGET),emx)
  3534. override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
  3535. endif
  3536. endif
  3537. endif
  3538. fpc_exes: $(COMPILER_TARGETDIR) $(COMPILER_UNITTARGETDIR) $(EXEFILES)
  3539. ifdef TARGET_RSTS
  3540. override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
  3541. override CLEANRSTFILES+=$(RSTFILES)
  3542. endif
  3543. .PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared
  3544. $(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
  3545. @$(ECHOREDIR) Compiled > $(FPCMADE)
  3546. fpc_all: $(FPCMADE)
  3547. fpc_smart:
  3548. $(MAKE) all LINKSMART=1 CREATESMART=1
  3549. fpc_debug:
  3550. $(MAKE) all DEBUG=1
  3551. fpc_release:
  3552. $(MAKE) all RELEASE=1
  3553. .SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) $(LTOEXT) .pas .lpr .dpr .pp .rc .res
  3554. $(COMPILER_UNITTARGETDIR):
  3555. $(MKDIRTREE) $(COMPILER_UNITTARGETDIR)
  3556. $(COMPILER_TARGETDIR):
  3557. $(MKDIRTREE) $(COMPILER_TARGETDIR)
  3558. %$(PPUEXT): %.pp
  3559. $(COMPILER) $<
  3560. $(EXECPPAS)
  3561. %$(PPUEXT): %.pas
  3562. $(COMPILER) $<
  3563. $(EXECPPAS)
  3564. %$(EXEEXT): %.pp
  3565. $(COMPILER) $<
  3566. $(EXECPPAS)
  3567. %$(EXEEXT): %.pas
  3568. $(COMPILER) $<
  3569. $(EXECPPAS)
  3570. %$(EXEEXT): %.lpr
  3571. $(COMPILER) $<
  3572. $(EXECPPAS)
  3573. %$(EXEEXT): %.dpr
  3574. $(COMPILER) $<
  3575. $(EXECPPAS)
  3576. %.res: %.rc
  3577. windres -i $< -o $@
  3578. vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  3579. vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  3580. vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  3581. vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  3582. vpath %.inc $(COMPILER_INCLUDEDIR)
  3583. vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
  3584. vpath %$(LTOEXT) $(COMPILER_UNITTARGETDIR)
  3585. vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
  3586. .PHONY: fpc_shared
  3587. override INSTALLTARGET+=fpc_shared_install
  3588. ifndef SHARED_LIBVERSION
  3589. SHARED_LIBVERSION=$(FPC_VERSION)
  3590. endif
  3591. ifndef SHARED_LIBNAME
  3592. SHARED_LIBNAME=$(PACKAGE_NAME)
  3593. endif
  3594. ifndef SHARED_FULLNAME
  3595. SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION)$(SHAREDLIBEXT)
  3596. endif
  3597. ifndef SHARED_LIBUNITS
  3598. SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS)
  3599. override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_LIBUNITS))
  3600. endif
  3601. fpc_shared:
  3602. ifdef HASSHAREDLIB
  3603. $(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1
  3604. ifneq ($(SHARED_BUILD),n)
  3605. $(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR) -P$(BINUTILSPREFIX)
  3606. endif
  3607. else
  3608. @$(ECHO) Shared Libraries not supported
  3609. endif
  3610. fpc_shared_install:
  3611. ifneq ($(SHARED_BUILD),n)
  3612. ifneq ($(SHARED_LIBUNITS),)
  3613. ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),)
  3614. $(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(INSTALL_SHAREDDIR)
  3615. endif
  3616. endif
  3617. endif
  3618. .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
  3619. ifdef INSTALL_UNITS
  3620. override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
  3621. endif
  3622. ifdef INSTALL_BUILDUNIT
  3623. override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
  3624. endif
  3625. ifdef INSTALLPPUFILES
  3626. ifneq ($(IMPORTLIBPREFIX)-$(STATICLIBEXT),$(STATICLIBPREFIX)-$(STATICLIBEXT))
  3627. override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(subst $(PPUEXT),$(LTOEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
  3628. else
  3629. override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(subst $(PPUEXT),$(LTOEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
  3630. endif
  3631. ifneq ($(UNITTARGETDIRPREFIX),)
  3632. override INSTALLPPUFILENAMES:=$(notdir $(INSTALLPPUFILES))
  3633. override INSTALLPPULINKFILENAMES:=$(notdir $(INSTALLPPULINKFILES))
  3634. override INSTALLPPUFILES=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILENAMES))
  3635. override INSTALLPPULINKFILES=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPULINKFILENAMES)))
  3636. endif
  3637. override INSTALL_CREATEPACKAGEFPC=1
  3638. endif
  3639. ifdef INSTALLEXEFILES
  3640. ifneq ($(TARGETDIRPREFIX),)
  3641. override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(notdir $(INSTALLEXEFILES)))
  3642. endif
  3643. endif
  3644. fpc_install: all $(INSTALLTARGET)
  3645. ifdef INSTALLEXEFILES
  3646. $(MKDIR) $(INSTALL_BINDIR)
  3647. $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
  3648. endif
  3649. ifdef INSTALL_CREATEPACKAGEFPC
  3650. ifdef FPCMAKE
  3651. ifdef PACKAGE_VERSION
  3652. ifneq ($(wildcard Makefile.fpc),)
  3653. ifdef FPCMAKENEW
  3654. $(MKDIR) $(INSTALL_UNITDIR)
  3655. $(FPCMAKENEW) -o $(INSTALL_UNITDIR)/Package.fpc -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
  3656. else
  3657. $(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
  3658. $(MKDIR) $(INSTALL_UNITDIR)
  3659. $(INSTALL) Package.fpc $(INSTALL_UNITDIR)
  3660. endif
  3661. endif
  3662. endif
  3663. endif
  3664. endif
  3665. ifdef INSTALLPPUFILES
  3666. $(MKDIR) $(INSTALL_UNITDIR)
  3667. $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
  3668. ifneq ($(INSTALLPPULINKFILES),)
  3669. $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
  3670. endif
  3671. ifneq ($(wildcard $(LIB_FULLNAME)),)
  3672. $(MKDIR) $(INSTALL_LIBDIR)
  3673. $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
  3674. ifdef inUnix
  3675. ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
  3676. endif
  3677. endif
  3678. endif
  3679. ifdef INSTALL_FILES
  3680. $(MKDIR) $(INSTALL_DATADIR)
  3681. $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
  3682. endif
  3683. fpc_sourceinstall: distclean
  3684. $(MKDIR) $(INSTALL_SOURCEDIR)
  3685. $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
  3686. fpc_exampleinstall: $(EXAMPLEINSTALLTARGET) $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
  3687. ifdef HASEXAMPLES
  3688. $(MKDIR) $(INSTALL_EXAMPLEDIR)
  3689. endif
  3690. ifdef EXAMPLESOURCEFILES
  3691. $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
  3692. endif
  3693. ifdef TARGET_EXAMPLEDIRS
  3694. $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
  3695. endif
  3696. .PHONY: fpc_clean fpc_cleanall fpc_distclean
  3697. ifdef EXEFILES
  3698. override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
  3699. override CLEANEXEDBGFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEDBGFILES))
  3700. endif
  3701. ifdef CLEAN_PROGRAMS
  3702. override CLEANEXEFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEEXT), $(CLEAN_PROGRAMS)))
  3703. override ALL_CLEANEXEFILES+=$(foreach lEXEEXT,$(ALL_EXEEXT),$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(lEXEEXT), $(CLEAN_PROGRAMS))))
  3704. override CLEANEXEDBGFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEDBGEXT), $(CLEAN_PROGRAMS)))
  3705. endif
  3706. ifdef CLEAN_UNITS
  3707. override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
  3708. endif
  3709. ifdef CLEANPPUFILES
  3710. override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(subst $(PPUEXT),$(LTOEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
  3711. ifdef DEBUGSYMEXT
  3712. override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
  3713. endif
  3714. override CLEANPPUFILENAMES:=$(CLEANPPUFILES)
  3715. override CLEANPPUFILES=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILENAMES))
  3716. override CLEANPPULINKFILENAMES:=$(CLEANPPULINKFILES)
  3717. override CLEANPPULINKFILES=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILENAMES)))
  3718. endif
  3719. fpc_clean: $(CLEANTARGET)
  3720. ifdef CLEANEXEFILES
  3721. -$(DEL) $(CLEANEXEFILES)
  3722. endif
  3723. ifdef CLEANEXEDBGFILES
  3724. -$(DELTREE) $(CLEANEXEDBGFILES)
  3725. endif
  3726. ifdef CLEANPPUFILES
  3727. -$(DEL) $(CLEANPPUFILES)
  3728. endif
  3729. ifneq ($(CLEANPPULINKFILES),)
  3730. -$(DEL) $(CLEANPPULINKFILES)
  3731. endif
  3732. ifdef CLEANRSTFILES
  3733. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  3734. endif
  3735. ifdef CLEAN_FILES
  3736. -$(DEL) $(CLEAN_FILES)
  3737. endif
  3738. ifdef LIB_NAME
  3739. -$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
  3740. endif
  3741. -$(DEL) $(FPCMADE) *$(FULL_TARGET).fpm Package.fpc *$(ASMEXT)
  3742. -$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_script.res *_link.res symbol_order*.fpc
  3743. -$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT)
  3744. fpc_cleanall: $(CLEANTARGET)
  3745. ifdef CLEANEXEFILES
  3746. -$(DEL) $(CLEANEXEFILES)
  3747. endif
  3748. ifdef ALL_CLEANEXEFILES
  3749. -$(DEL) $(ALL_CLEANEXEFILES)
  3750. endif
  3751. ifdef COMPILER_UNITTARGETDIR
  3752. ifdef CLEANPPUFILES
  3753. -$(DEL) $(CLEANPPUFILES)
  3754. endif
  3755. ifneq ($(CLEANPPULINKFILES),)
  3756. -$(DEL) $(CLEANPPULINKFILES)
  3757. endif
  3758. ifdef CLEANRSTFILES
  3759. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  3760. endif
  3761. endif
  3762. ifdef CLEAN_FILES
  3763. -$(DEL) $(CLEAN_FILES)
  3764. endif
  3765. -$(DELTREE) units
  3766. -$(DELTREE) bin
  3767. -$(DEL) *$(OEXT) *$(LTOEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
  3768. ifneq ($(PPUEXT),.ppu)
  3769. -$(DEL) *.o *.ppu *.a
  3770. endif
  3771. -$(DELTREE) *$(SMARTEXT)
  3772. -$(DEL) fpcmade.* Package*.fpc *.fpm
  3773. -$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_script.res *_link.res symbol_order*.fpc
  3774. -$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT)
  3775. ifdef AOUTEXT
  3776. -$(DEL) *$(AOUTEXT)
  3777. endif
  3778. ifdef DEBUGSYMEXT
  3779. -$(DEL) *$(DEBUGSYMEXT)
  3780. endif
  3781. ifdef LOCALFPMAKEBIN
  3782. -$(DEL) $(LOCALFPMAKEBIN)
  3783. -$(DEL) $(FPMAKEBINOBJ)
  3784. endif
  3785. fpc_distclean: cleanall
  3786. .PHONY: fpc_baseinfo
  3787. override INFORULES+=fpc_baseinfo
  3788. fpc_baseinfo:
  3789. @$(ECHO)
  3790. @$(ECHO) == Package info ==
  3791. @$(ECHO) Package Name..... $(PACKAGE_NAME)
  3792. @$(ECHO) Package Version.. $(PACKAGE_VERSION)
  3793. @$(ECHO)
  3794. @$(ECHO) == Configuration info ==
  3795. @$(ECHO)
  3796. @$(ECHO) FPC.......... $(FPC)
  3797. @$(ECHO) FPC Version.. $(FPC_VERSION)
  3798. @$(ECHO) Source CPU... $(CPU_SOURCE)
  3799. @$(ECHO) Target CPU... $(CPU_TARGET)
  3800. @$(ECHO) Source OS.... $(OS_SOURCE)
  3801. @$(ECHO) Target OS.... $(OS_TARGET)
  3802. @$(ECHO) Full Source.. $(FULL_SOURCE)
  3803. @$(ECHO) Full Target.. $(FULL_TARGET)
  3804. @$(ECHO) SourceSuffix. $(SOURCESUFFIX)
  3805. @$(ECHO) TargetSuffix. $(TARGETSUFFIX)
  3806. @$(ECHO) FPC fpmake... $(FPCFPMAKE)
  3807. @$(ECHO)
  3808. @$(ECHO) == Directory info ==
  3809. @$(ECHO)
  3810. @$(ECHO) Required pkgs... $(REQUIRE_PACKAGES)
  3811. @$(ECHO)
  3812. @$(ECHO) Basedir......... $(BASEDIR)
  3813. @$(ECHO) FPCDir.......... $(FPCDIR)
  3814. @$(ECHO) CrossBinDir..... $(CROSSBINDIR)
  3815. @$(ECHO) UnitsDir........ $(UNITSDIR)
  3816. @$(ECHO) PackagesDir..... $(PACKAGESDIR)
  3817. @$(ECHO)
  3818. @$(ECHO) GCC library..... $(GCCLIBDIR)
  3819. @$(ECHO) Other library... $(OTHERLIBDIR)
  3820. @$(ECHO)
  3821. @$(ECHO) == Tools info ==
  3822. @$(ECHO)
  3823. @$(ECHO) As........ $(AS)
  3824. @$(ECHO) Ld........ $(LD)
  3825. @$(ECHO) Ar........ $(AR)
  3826. @$(ECHO) Rc........ $(RC)
  3827. @$(ECHO)
  3828. @$(ECHO) Mv........ $(MVPROG)
  3829. @$(ECHO) Cp........ $(CPPROG)
  3830. @$(ECHO) Rm........ $(RMPROG)
  3831. @$(ECHO) GInstall.. $(GINSTALL)
  3832. @$(ECHO) Echo...... $(ECHO)
  3833. @$(ECHO) Shell..... $(SHELL)
  3834. @$(ECHO) Date...... $(DATE)
  3835. @$(ECHO) FPCMake... $(FPCMAKE)
  3836. @$(ECHO) PPUMove... $(PPUMOVE)
  3837. @$(ECHO) Zip....... $(ZIPPROG)
  3838. @$(ECHO)
  3839. @$(ECHO) == Object info ==
  3840. @$(ECHO)
  3841. @$(ECHO) Target Loaders........ $(TARGET_LOADERS)
  3842. @$(ECHO) Target Units.......... $(TARGET_UNITS)
  3843. @$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS)
  3844. @$(ECHO) Target Programs....... $(TARGET_PROGRAMS)
  3845. @$(ECHO) Target Dirs........... $(TARGET_DIRS)
  3846. @$(ECHO) Target Examples....... $(TARGET_EXAMPLES)
  3847. @$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
  3848. @$(ECHO)
  3849. @$(ECHO) Clean Units......... $(CLEAN_UNITS)
  3850. @$(ECHO) Clean Files......... $(CLEAN_FILES)
  3851. @$(ECHO)
  3852. @$(ECHO) Install Units....... $(INSTALL_UNITS)
  3853. @$(ECHO) Install Files....... $(INSTALL_FILES)
  3854. @$(ECHO)
  3855. @$(ECHO) == Install info ==
  3856. @$(ECHO)
  3857. @$(ECHO) DateStr.............. $(DATESTR)
  3858. @$(ECHO) ZipName.............. $(ZIPNAME)
  3859. @$(ECHO) ZipPrefix............ $(ZIPPREFIX)
  3860. @$(ECHO) ZipCrossPrefix....... $(ZIPCROSSPREFIX)
  3861. @$(ECHO) ZipSuffix............ $(ZIPSUFFIX)
  3862. @$(ECHO) FullZipName.......... $(FULLZIPNAME)
  3863. @$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE)
  3864. @$(ECHO)
  3865. @$(ECHO) Install base dir..... $(INSTALL_BASEDIR)
  3866. @$(ECHO) Install binary dir... $(INSTALL_BINDIR)
  3867. @$(ECHO) Install library dir.. $(INSTALL_LIBDIR)
  3868. @$(ECHO) Install units dir.... $(INSTALL_UNITDIR)
  3869. @$(ECHO) Install source dir... $(INSTALL_SOURCEDIR)
  3870. @$(ECHO) Install doc dir...... $(INSTALL_DOCDIR)
  3871. @$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR)
  3872. @$(ECHO) Install data dir..... $(INSTALL_DATADIR)
  3873. @$(ECHO)
  3874. @$(ECHO) Dist destination dir. $(DIST_DESTDIR)
  3875. @$(ECHO) Dist zip name........ $(DIST_ZIPNAME)
  3876. @$(ECHO)
  3877. .PHONY: fpc_info
  3878. fpc_info: $(INFORULES)
  3879. .PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
  3880. fpc_makefile_dirs
  3881. fpc_makefile:
  3882. $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
  3883. fpc_makefile_sub1:
  3884. ifdef TARGET_DIRS
  3885. $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
  3886. endif
  3887. ifdef TARGET_EXAMPLEDIRS
  3888. $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
  3889. endif
  3890. fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
  3891. fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
  3892. fpc_makefiles: fpc_makefile fpc_makefile_dirs
  3893. all: fpc_all
  3894. debug: fpc_debug
  3895. smart: fpc_smart
  3896. release: fpc_release
  3897. units: fpc_units
  3898. examples:
  3899. shared: fpc_shared
  3900. install: fpc_install
  3901. sourceinstall: fpc_sourceinstall
  3902. exampleinstall: fpc_exampleinstall
  3903. distinstall:
  3904. zipinstall:
  3905. zipsourceinstall:
  3906. zipexampleinstall:
  3907. zipdistinstall:
  3908. clean: fpc_clean
  3909. distclean: fpc_distclean
  3910. cleanall: fpc_cleanall
  3911. info: fpc_info
  3912. makefiles: fpc_makefiles
  3913. .PHONY: all debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
  3914. ifneq ($(wildcard fpcmake.loc),)
  3915. include fpcmake.loc
  3916. endif
  3917. .NOTPARALLEL: