Makefile 88 KB

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