Makefile 105 KB

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