Makefile 75 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324
  1. #
  2. # Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/08/02]
  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 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 sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd 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 powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded
  6. BSDs = freebsd netbsd openbsd darwin
  7. UNIXs = linux $(BSDs) solaris qnx
  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=wince
  104. override DEFAULT_FPCDIR=../..
  105. ifndef FPC
  106. ifdef PP
  107. FPC=$(PP)
  108. endif
  109. endif
  110. ifndef FPC
  111. FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
  112. ifneq ($(FPCPROG),)
  113. FPCPROG:=$(firstword $(FPCPROG))
  114. ifneq ($(CPU_TARGET),)
  115. FPC:=$(shell $(FPCPROG) -P$(CPU_TARGET) -PB)
  116. else
  117. FPC:=$(shell $(FPCPROG) -PB)
  118. endif
  119. ifneq ($(findstring Error,$(FPC)),)
  120. override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
  121. else
  122. ifeq ($(strip $(wildcard $(FPC))),)
  123. FPC:=$(firstword $(FPCPROG))
  124. endif
  125. endif
  126. else
  127. override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
  128. endif
  129. endif
  130. override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
  131. override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
  132. FOUNDFPC:=$(strip $(wildcard $(FPC)))
  133. ifeq ($(FOUNDFPC),)
  134. FOUNDFPC=$(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))
  135. ifeq ($(FOUNDFPC),)
  136. $(error Compiler $(FPC) not found)
  137. endif
  138. endif
  139. ifndef FPC_COMPILERINFO
  140. FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO)
  141. endif
  142. ifndef FPC_VERSION
  143. FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
  144. endif
  145. export FPC FPC_VERSION FPC_COMPILERINFO
  146. unexport CHECKDEPEND ALLDEPENDENCIES
  147. ifndef CPU_TARGET
  148. ifdef CPU_TARGET_DEFAULT
  149. CPU_TARGET=$(CPU_TARGET_DEFAULT)
  150. endif
  151. endif
  152. ifndef OS_TARGET
  153. ifdef OS_TARGET_DEFAULT
  154. OS_TARGET=$(OS_TARGET_DEFAULT)
  155. endif
  156. endif
  157. ifneq ($(words $(FPC_COMPILERINFO)),5)
  158. FPC_COMPILERINFO+=$(shell $(FPC) -iSP)
  159. FPC_COMPILERINFO+=$(shell $(FPC) -iTP)
  160. FPC_COMPILERINFO+=$(shell $(FPC) -iSO)
  161. FPC_COMPILERINFO+=$(shell $(FPC) -iTO)
  162. endif
  163. ifndef CPU_SOURCE
  164. CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO))
  165. endif
  166. ifndef CPU_TARGET
  167. CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO))
  168. endif
  169. ifndef OS_SOURCE
  170. OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO))
  171. endif
  172. ifndef OS_TARGET
  173. OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
  174. endif
  175. FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
  176. FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
  177. ifeq ($(CPU_TARGET),armeb)
  178. ARCH=arm
  179. override FPCOPT+=-Cb
  180. else
  181. ifeq ($(CPU_TARGET),armel)
  182. ARCH=arm
  183. override FPCOPT+=-CaEABI
  184. else
  185. ARCH=$(CPU_TARGET)
  186. endif
  187. endif
  188. ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
  189. TARGETSUFFIX=$(OS_TARGET)
  190. SOURCESUFFIX=$(OS_SOURCE)
  191. else
  192. TARGETSUFFIX=$(FULL_TARGET)
  193. SOURCESUFFIX=$(FULL_SOURCE)
  194. endif
  195. ifneq ($(FULL_TARGET),$(FULL_SOURCE))
  196. CROSSCOMPILE=1
  197. endif
  198. ifeq ($(findstring makefile,$(MAKECMDGOALS)),)
  199. ifeq ($(findstring $(FULL_TARGET),$(MAKEFILETARGETS)),)
  200. $(error The Makefile doesn't support target $(FULL_TARGET), please run fpcmake first)
  201. endif
  202. endif
  203. ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
  204. BSDhier=1
  205. endif
  206. ifeq ($(OS_TARGET),linux)
  207. linuxHier=1
  208. endif
  209. export OS_TARGET OS_SOURCE ARCH CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
  210. ifdef FPCDIR
  211. override FPCDIR:=$(subst \,/,$(FPCDIR))
  212. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  213. override FPCDIR=wrong
  214. endif
  215. else
  216. override FPCDIR=wrong
  217. endif
  218. ifdef DEFAULT_FPCDIR
  219. ifeq ($(FPCDIR),wrong)
  220. override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR))
  221. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  222. override FPCDIR=wrong
  223. endif
  224. endif
  225. endif
  226. ifeq ($(FPCDIR),wrong)
  227. ifdef inUnix
  228. override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
  229. ifeq ($(wildcard $(FPCDIR)/units),)
  230. override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
  231. endif
  232. else
  233. override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
  234. override FPCDIR:=$(FPCDIR)/..
  235. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  236. override FPCDIR:=$(FPCDIR)/..
  237. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  238. override FPCDIR:=$(BASEDIR)
  239. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  240. override FPCDIR=c:/pp
  241. endif
  242. endif
  243. endif
  244. endif
  245. endif
  246. ifndef CROSSBINDIR
  247. CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX))
  248. endif
  249. ifeq ($(OS_TARGET),darwin)
  250. ifeq ($(OS_SOURCE),darwin)
  251. DARWIN2DARWIN=1
  252. endif
  253. endif
  254. ifndef BINUTILSPREFIX
  255. ifndef CROSSBINDIR
  256. ifdef CROSSCOMPILE
  257. ifndef DARWIN2DARWIN
  258. BINUTILSPREFIX=$(CPU_TARGET)-$(OS_TARGET)-
  259. endif
  260. endif
  261. endif
  262. endif
  263. UNITSDIR:=$(wildcard $(FPCDIR)/units/$(TARGETSUFFIX))
  264. ifeq ($(UNITSDIR),)
  265. UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
  266. endif
  267. PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
  268. override PACKAGE_NAME=rtl
  269. PACKAGEDIR_MAIN:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
  270. RTL=..
  271. INC=$(RTL)/inc
  272. COMMON=$(RTL)/common
  273. PROCINC=$(RTL)/$(CPU_TARGET)
  274. WININC=./wininc
  275. WINDIR=../win
  276. UNITPREFIX=rtl
  277. SYSTEMUNIT=system
  278. PRT0=wprt0
  279. ifdef RELEASE
  280. override FPCOPT+=-Ur
  281. endif
  282. OBJPASDIR=$(RTL)/objpas
  283. GRAPHDIR=$(INC)/graph
  284. include $(WININC)/makefile.inc
  285. WINDOWS_SOURCE_FILES=$(addprefix $(WININC)/,$(addsuffix .inc,$(WINDOWS_FILES)))
  286. ifeq ($(FULL_TARGET),i386-linux)
  287. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  288. endif
  289. ifeq ($(FULL_TARGET),i386-go32v2)
  290. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  291. endif
  292. ifeq ($(FULL_TARGET),i386-win32)
  293. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  294. endif
  295. ifeq ($(FULL_TARGET),i386-os2)
  296. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  297. endif
  298. ifeq ($(FULL_TARGET),i386-freebsd)
  299. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  300. endif
  301. ifeq ($(FULL_TARGET),i386-beos)
  302. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  303. endif
  304. ifeq ($(FULL_TARGET),i386-haiku)
  305. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  306. endif
  307. ifeq ($(FULL_TARGET),i386-netbsd)
  308. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  309. endif
  310. ifeq ($(FULL_TARGET),i386-solaris)
  311. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  312. endif
  313. ifeq ($(FULL_TARGET),i386-qnx)
  314. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  315. endif
  316. ifeq ($(FULL_TARGET),i386-netware)
  317. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  318. endif
  319. ifeq ($(FULL_TARGET),i386-openbsd)
  320. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  321. endif
  322. ifeq ($(FULL_TARGET),i386-wdosx)
  323. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  324. endif
  325. ifeq ($(FULL_TARGET),i386-darwin)
  326. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  327. endif
  328. ifeq ($(FULL_TARGET),i386-emx)
  329. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  330. endif
  331. ifeq ($(FULL_TARGET),i386-watcom)
  332. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  333. endif
  334. ifeq ($(FULL_TARGET),i386-netwlibc)
  335. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  336. endif
  337. ifeq ($(FULL_TARGET),i386-wince)
  338. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  339. endif
  340. ifeq ($(FULL_TARGET),i386-embedded)
  341. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  342. endif
  343. ifeq ($(FULL_TARGET),i386-symbian)
  344. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  345. endif
  346. ifeq ($(FULL_TARGET),m68k-linux)
  347. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  348. endif
  349. ifeq ($(FULL_TARGET),m68k-freebsd)
  350. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  351. endif
  352. ifeq ($(FULL_TARGET),m68k-netbsd)
  353. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  354. endif
  355. ifeq ($(FULL_TARGET),m68k-amiga)
  356. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  357. endif
  358. ifeq ($(FULL_TARGET),m68k-atari)
  359. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  360. endif
  361. ifeq ($(FULL_TARGET),m68k-openbsd)
  362. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  363. endif
  364. ifeq ($(FULL_TARGET),m68k-palmos)
  365. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  366. endif
  367. ifeq ($(FULL_TARGET),m68k-embedded)
  368. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  369. endif
  370. ifeq ($(FULL_TARGET),powerpc-linux)
  371. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  372. endif
  373. ifeq ($(FULL_TARGET),powerpc-netbsd)
  374. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  375. endif
  376. ifeq ($(FULL_TARGET),powerpc-amiga)
  377. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  378. endif
  379. ifeq ($(FULL_TARGET),powerpc-macos)
  380. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  381. endif
  382. ifeq ($(FULL_TARGET),powerpc-darwin)
  383. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  384. endif
  385. ifeq ($(FULL_TARGET),powerpc-morphos)
  386. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  387. endif
  388. ifeq ($(FULL_TARGET),powerpc-embedded)
  389. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  390. endif
  391. ifeq ($(FULL_TARGET),sparc-linux)
  392. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  393. endif
  394. ifeq ($(FULL_TARGET),sparc-netbsd)
  395. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  396. endif
  397. ifeq ($(FULL_TARGET),sparc-solaris)
  398. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  399. endif
  400. ifeq ($(FULL_TARGET),sparc-embedded)
  401. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  402. endif
  403. ifeq ($(FULL_TARGET),x86_64-linux)
  404. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  405. endif
  406. ifeq ($(FULL_TARGET),x86_64-freebsd)
  407. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  408. endif
  409. ifeq ($(FULL_TARGET),x86_64-darwin)
  410. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  411. endif
  412. ifeq ($(FULL_TARGET),x86_64-win64)
  413. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  414. endif
  415. ifeq ($(FULL_TARGET),x86_64-embedded)
  416. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  417. endif
  418. ifeq ($(FULL_TARGET),arm-linux)
  419. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  420. endif
  421. ifeq ($(FULL_TARGET),arm-palmos)
  422. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  423. endif
  424. ifeq ($(FULL_TARGET),arm-darwin)
  425. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  426. endif
  427. ifeq ($(FULL_TARGET),arm-wince)
  428. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  429. endif
  430. ifeq ($(FULL_TARGET),arm-gba)
  431. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  432. endif
  433. ifeq ($(FULL_TARGET),arm-nds)
  434. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  435. endif
  436. ifeq ($(FULL_TARGET),arm-embedded)
  437. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  438. endif
  439. ifeq ($(FULL_TARGET),arm-symbian)
  440. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  441. endif
  442. ifeq ($(FULL_TARGET),powerpc64-linux)
  443. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  444. endif
  445. ifeq ($(FULL_TARGET),powerpc64-darwin)
  446. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  447. endif
  448. ifeq ($(FULL_TARGET),powerpc64-embedded)
  449. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  450. endif
  451. ifeq ($(FULL_TARGET),avr-embedded)
  452. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  453. endif
  454. ifeq ($(FULL_TARGET),armeb-linux)
  455. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  456. endif
  457. ifeq ($(FULL_TARGET),armeb-embedded)
  458. override TARGET_UNITS+=$(SYSTEMUNIT) fpintres ctypes objpas macpas strings lineinfo heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  459. endif
  460. ifeq ($(FULL_TARGET),i386-linux)
  461. override TARGET_IMPLICITUNITS+=exeinfo
  462. endif
  463. ifeq ($(FULL_TARGET),i386-go32v2)
  464. override TARGET_IMPLICITUNITS+=exeinfo
  465. endif
  466. ifeq ($(FULL_TARGET),i386-win32)
  467. override TARGET_IMPLICITUNITS+=exeinfo
  468. endif
  469. ifeq ($(FULL_TARGET),i386-os2)
  470. override TARGET_IMPLICITUNITS+=exeinfo
  471. endif
  472. ifeq ($(FULL_TARGET),i386-freebsd)
  473. override TARGET_IMPLICITUNITS+=exeinfo
  474. endif
  475. ifeq ($(FULL_TARGET),i386-beos)
  476. override TARGET_IMPLICITUNITS+=exeinfo
  477. endif
  478. ifeq ($(FULL_TARGET),i386-haiku)
  479. override TARGET_IMPLICITUNITS+=exeinfo
  480. endif
  481. ifeq ($(FULL_TARGET),i386-netbsd)
  482. override TARGET_IMPLICITUNITS+=exeinfo
  483. endif
  484. ifeq ($(FULL_TARGET),i386-solaris)
  485. override TARGET_IMPLICITUNITS+=exeinfo
  486. endif
  487. ifeq ($(FULL_TARGET),i386-qnx)
  488. override TARGET_IMPLICITUNITS+=exeinfo
  489. endif
  490. ifeq ($(FULL_TARGET),i386-netware)
  491. override TARGET_IMPLICITUNITS+=exeinfo
  492. endif
  493. ifeq ($(FULL_TARGET),i386-openbsd)
  494. override TARGET_IMPLICITUNITS+=exeinfo
  495. endif
  496. ifeq ($(FULL_TARGET),i386-wdosx)
  497. override TARGET_IMPLICITUNITS+=exeinfo
  498. endif
  499. ifeq ($(FULL_TARGET),i386-darwin)
  500. override TARGET_IMPLICITUNITS+=exeinfo
  501. endif
  502. ifeq ($(FULL_TARGET),i386-emx)
  503. override TARGET_IMPLICITUNITS+=exeinfo
  504. endif
  505. ifeq ($(FULL_TARGET),i386-watcom)
  506. override TARGET_IMPLICITUNITS+=exeinfo
  507. endif
  508. ifeq ($(FULL_TARGET),i386-netwlibc)
  509. override TARGET_IMPLICITUNITS+=exeinfo
  510. endif
  511. ifeq ($(FULL_TARGET),i386-wince)
  512. override TARGET_IMPLICITUNITS+=exeinfo
  513. endif
  514. ifeq ($(FULL_TARGET),i386-embedded)
  515. override TARGET_IMPLICITUNITS+=exeinfo
  516. endif
  517. ifeq ($(FULL_TARGET),i386-symbian)
  518. override TARGET_IMPLICITUNITS+=exeinfo
  519. endif
  520. ifeq ($(FULL_TARGET),m68k-linux)
  521. override TARGET_IMPLICITUNITS+=exeinfo
  522. endif
  523. ifeq ($(FULL_TARGET),m68k-freebsd)
  524. override TARGET_IMPLICITUNITS+=exeinfo
  525. endif
  526. ifeq ($(FULL_TARGET),m68k-netbsd)
  527. override TARGET_IMPLICITUNITS+=exeinfo
  528. endif
  529. ifeq ($(FULL_TARGET),m68k-amiga)
  530. override TARGET_IMPLICITUNITS+=exeinfo
  531. endif
  532. ifeq ($(FULL_TARGET),m68k-atari)
  533. override TARGET_IMPLICITUNITS+=exeinfo
  534. endif
  535. ifeq ($(FULL_TARGET),m68k-openbsd)
  536. override TARGET_IMPLICITUNITS+=exeinfo
  537. endif
  538. ifeq ($(FULL_TARGET),m68k-palmos)
  539. override TARGET_IMPLICITUNITS+=exeinfo
  540. endif
  541. ifeq ($(FULL_TARGET),m68k-embedded)
  542. override TARGET_IMPLICITUNITS+=exeinfo
  543. endif
  544. ifeq ($(FULL_TARGET),powerpc-linux)
  545. override TARGET_IMPLICITUNITS+=exeinfo
  546. endif
  547. ifeq ($(FULL_TARGET),powerpc-netbsd)
  548. override TARGET_IMPLICITUNITS+=exeinfo
  549. endif
  550. ifeq ($(FULL_TARGET),powerpc-amiga)
  551. override TARGET_IMPLICITUNITS+=exeinfo
  552. endif
  553. ifeq ($(FULL_TARGET),powerpc-macos)
  554. override TARGET_IMPLICITUNITS+=exeinfo
  555. endif
  556. ifeq ($(FULL_TARGET),powerpc-darwin)
  557. override TARGET_IMPLICITUNITS+=exeinfo
  558. endif
  559. ifeq ($(FULL_TARGET),powerpc-morphos)
  560. override TARGET_IMPLICITUNITS+=exeinfo
  561. endif
  562. ifeq ($(FULL_TARGET),powerpc-embedded)
  563. override TARGET_IMPLICITUNITS+=exeinfo
  564. endif
  565. ifeq ($(FULL_TARGET),sparc-linux)
  566. override TARGET_IMPLICITUNITS+=exeinfo
  567. endif
  568. ifeq ($(FULL_TARGET),sparc-netbsd)
  569. override TARGET_IMPLICITUNITS+=exeinfo
  570. endif
  571. ifeq ($(FULL_TARGET),sparc-solaris)
  572. override TARGET_IMPLICITUNITS+=exeinfo
  573. endif
  574. ifeq ($(FULL_TARGET),sparc-embedded)
  575. override TARGET_IMPLICITUNITS+=exeinfo
  576. endif
  577. ifeq ($(FULL_TARGET),x86_64-linux)
  578. override TARGET_IMPLICITUNITS+=exeinfo
  579. endif
  580. ifeq ($(FULL_TARGET),x86_64-freebsd)
  581. override TARGET_IMPLICITUNITS+=exeinfo
  582. endif
  583. ifeq ($(FULL_TARGET),x86_64-darwin)
  584. override TARGET_IMPLICITUNITS+=exeinfo
  585. endif
  586. ifeq ($(FULL_TARGET),x86_64-win64)
  587. override TARGET_IMPLICITUNITS+=exeinfo
  588. endif
  589. ifeq ($(FULL_TARGET),x86_64-embedded)
  590. override TARGET_IMPLICITUNITS+=exeinfo
  591. endif
  592. ifeq ($(FULL_TARGET),arm-linux)
  593. override TARGET_IMPLICITUNITS+=exeinfo
  594. endif
  595. ifeq ($(FULL_TARGET),arm-palmos)
  596. override TARGET_IMPLICITUNITS+=exeinfo
  597. endif
  598. ifeq ($(FULL_TARGET),arm-darwin)
  599. override TARGET_IMPLICITUNITS+=exeinfo
  600. endif
  601. ifeq ($(FULL_TARGET),arm-wince)
  602. override TARGET_IMPLICITUNITS+=exeinfo
  603. endif
  604. ifeq ($(FULL_TARGET),arm-gba)
  605. override TARGET_IMPLICITUNITS+=exeinfo
  606. endif
  607. ifeq ($(FULL_TARGET),arm-nds)
  608. override TARGET_IMPLICITUNITS+=exeinfo
  609. endif
  610. ifeq ($(FULL_TARGET),arm-embedded)
  611. override TARGET_IMPLICITUNITS+=exeinfo
  612. endif
  613. ifeq ($(FULL_TARGET),arm-symbian)
  614. override TARGET_IMPLICITUNITS+=exeinfo
  615. endif
  616. ifeq ($(FULL_TARGET),powerpc64-linux)
  617. override TARGET_IMPLICITUNITS+=exeinfo
  618. endif
  619. ifeq ($(FULL_TARGET),powerpc64-darwin)
  620. override TARGET_IMPLICITUNITS+=exeinfo
  621. endif
  622. ifeq ($(FULL_TARGET),powerpc64-embedded)
  623. override TARGET_IMPLICITUNITS+=exeinfo
  624. endif
  625. ifeq ($(FULL_TARGET),avr-embedded)
  626. override TARGET_IMPLICITUNITS+=exeinfo
  627. endif
  628. ifeq ($(FULL_TARGET),armeb-linux)
  629. override TARGET_IMPLICITUNITS+=exeinfo
  630. endif
  631. ifeq ($(FULL_TARGET),armeb-embedded)
  632. override TARGET_IMPLICITUNITS+=exeinfo
  633. endif
  634. override INSTALL_FPCPACKAGE=y
  635. ifeq ($(FULL_TARGET),i386-linux)
  636. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  637. endif
  638. ifeq ($(FULL_TARGET),i386-go32v2)
  639. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  640. endif
  641. ifeq ($(FULL_TARGET),i386-win32)
  642. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  643. endif
  644. ifeq ($(FULL_TARGET),i386-os2)
  645. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  646. endif
  647. ifeq ($(FULL_TARGET),i386-freebsd)
  648. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  649. endif
  650. ifeq ($(FULL_TARGET),i386-beos)
  651. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  652. endif
  653. ifeq ($(FULL_TARGET),i386-haiku)
  654. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  655. endif
  656. ifeq ($(FULL_TARGET),i386-netbsd)
  657. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  658. endif
  659. ifeq ($(FULL_TARGET),i386-solaris)
  660. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  661. endif
  662. ifeq ($(FULL_TARGET),i386-qnx)
  663. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  664. endif
  665. ifeq ($(FULL_TARGET),i386-netware)
  666. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  667. endif
  668. ifeq ($(FULL_TARGET),i386-openbsd)
  669. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  670. endif
  671. ifeq ($(FULL_TARGET),i386-wdosx)
  672. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  673. endif
  674. ifeq ($(FULL_TARGET),i386-darwin)
  675. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  676. endif
  677. ifeq ($(FULL_TARGET),i386-emx)
  678. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  679. endif
  680. ifeq ($(FULL_TARGET),i386-watcom)
  681. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  682. endif
  683. ifeq ($(FULL_TARGET),i386-netwlibc)
  684. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  685. endif
  686. ifeq ($(FULL_TARGET),i386-wince)
  687. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  688. endif
  689. ifeq ($(FULL_TARGET),i386-embedded)
  690. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  691. endif
  692. ifeq ($(FULL_TARGET),i386-symbian)
  693. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  694. endif
  695. ifeq ($(FULL_TARGET),m68k-linux)
  696. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  697. endif
  698. ifeq ($(FULL_TARGET),m68k-freebsd)
  699. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  700. endif
  701. ifeq ($(FULL_TARGET),m68k-netbsd)
  702. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  703. endif
  704. ifeq ($(FULL_TARGET),m68k-amiga)
  705. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  706. endif
  707. ifeq ($(FULL_TARGET),m68k-atari)
  708. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  709. endif
  710. ifeq ($(FULL_TARGET),m68k-openbsd)
  711. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  712. endif
  713. ifeq ($(FULL_TARGET),m68k-palmos)
  714. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  715. endif
  716. ifeq ($(FULL_TARGET),m68k-embedded)
  717. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  718. endif
  719. ifeq ($(FULL_TARGET),powerpc-linux)
  720. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  721. endif
  722. ifeq ($(FULL_TARGET),powerpc-netbsd)
  723. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  724. endif
  725. ifeq ($(FULL_TARGET),powerpc-amiga)
  726. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  727. endif
  728. ifeq ($(FULL_TARGET),powerpc-macos)
  729. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  730. endif
  731. ifeq ($(FULL_TARGET),powerpc-darwin)
  732. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  733. endif
  734. ifeq ($(FULL_TARGET),powerpc-morphos)
  735. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  736. endif
  737. ifeq ($(FULL_TARGET),powerpc-embedded)
  738. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  739. endif
  740. ifeq ($(FULL_TARGET),sparc-linux)
  741. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  742. endif
  743. ifeq ($(FULL_TARGET),sparc-netbsd)
  744. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  745. endif
  746. ifeq ($(FULL_TARGET),sparc-solaris)
  747. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  748. endif
  749. ifeq ($(FULL_TARGET),sparc-embedded)
  750. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  751. endif
  752. ifeq ($(FULL_TARGET),x86_64-linux)
  753. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  754. endif
  755. ifeq ($(FULL_TARGET),x86_64-freebsd)
  756. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  757. endif
  758. ifeq ($(FULL_TARGET),x86_64-darwin)
  759. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  760. endif
  761. ifeq ($(FULL_TARGET),x86_64-win64)
  762. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  763. endif
  764. ifeq ($(FULL_TARGET),x86_64-embedded)
  765. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  766. endif
  767. ifeq ($(FULL_TARGET),arm-linux)
  768. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  769. endif
  770. ifeq ($(FULL_TARGET),arm-palmos)
  771. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  772. endif
  773. ifeq ($(FULL_TARGET),arm-darwin)
  774. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  775. endif
  776. ifeq ($(FULL_TARGET),arm-wince)
  777. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  778. endif
  779. ifeq ($(FULL_TARGET),arm-gba)
  780. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  781. endif
  782. ifeq ($(FULL_TARGET),arm-nds)
  783. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  784. endif
  785. ifeq ($(FULL_TARGET),arm-embedded)
  786. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  787. endif
  788. ifeq ($(FULL_TARGET),arm-symbian)
  789. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  790. endif
  791. ifeq ($(FULL_TARGET),powerpc64-linux)
  792. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  793. endif
  794. ifeq ($(FULL_TARGET),powerpc64-darwin)
  795. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  796. endif
  797. ifeq ($(FULL_TARGET),powerpc64-embedded)
  798. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  799. endif
  800. ifeq ($(FULL_TARGET),avr-embedded)
  801. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  802. endif
  803. ifeq ($(FULL_TARGET),armeb-linux)
  804. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  805. endif
  806. ifeq ($(FULL_TARGET),armeb-embedded)
  807. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  808. endif
  809. ifeq ($(FULL_TARGET),i386-linux)
  810. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  811. endif
  812. ifeq ($(FULL_TARGET),i386-go32v2)
  813. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  814. endif
  815. ifeq ($(FULL_TARGET),i386-win32)
  816. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  817. endif
  818. ifeq ($(FULL_TARGET),i386-os2)
  819. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  820. endif
  821. ifeq ($(FULL_TARGET),i386-freebsd)
  822. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  823. endif
  824. ifeq ($(FULL_TARGET),i386-beos)
  825. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  826. endif
  827. ifeq ($(FULL_TARGET),i386-haiku)
  828. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  829. endif
  830. ifeq ($(FULL_TARGET),i386-netbsd)
  831. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  832. endif
  833. ifeq ($(FULL_TARGET),i386-solaris)
  834. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  835. endif
  836. ifeq ($(FULL_TARGET),i386-qnx)
  837. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  838. endif
  839. ifeq ($(FULL_TARGET),i386-netware)
  840. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  841. endif
  842. ifeq ($(FULL_TARGET),i386-openbsd)
  843. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  844. endif
  845. ifeq ($(FULL_TARGET),i386-wdosx)
  846. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  847. endif
  848. ifeq ($(FULL_TARGET),i386-darwin)
  849. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  850. endif
  851. ifeq ($(FULL_TARGET),i386-emx)
  852. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  853. endif
  854. ifeq ($(FULL_TARGET),i386-watcom)
  855. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  856. endif
  857. ifeq ($(FULL_TARGET),i386-netwlibc)
  858. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  859. endif
  860. ifeq ($(FULL_TARGET),i386-wince)
  861. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  862. endif
  863. ifeq ($(FULL_TARGET),i386-embedded)
  864. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  865. endif
  866. ifeq ($(FULL_TARGET),i386-symbian)
  867. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  868. endif
  869. ifeq ($(FULL_TARGET),m68k-linux)
  870. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  871. endif
  872. ifeq ($(FULL_TARGET),m68k-freebsd)
  873. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  874. endif
  875. ifeq ($(FULL_TARGET),m68k-netbsd)
  876. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  877. endif
  878. ifeq ($(FULL_TARGET),m68k-amiga)
  879. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  880. endif
  881. ifeq ($(FULL_TARGET),m68k-atari)
  882. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  883. endif
  884. ifeq ($(FULL_TARGET),m68k-openbsd)
  885. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  886. endif
  887. ifeq ($(FULL_TARGET),m68k-palmos)
  888. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  889. endif
  890. ifeq ($(FULL_TARGET),m68k-embedded)
  891. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  892. endif
  893. ifeq ($(FULL_TARGET),powerpc-linux)
  894. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  895. endif
  896. ifeq ($(FULL_TARGET),powerpc-netbsd)
  897. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  898. endif
  899. ifeq ($(FULL_TARGET),powerpc-amiga)
  900. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  901. endif
  902. ifeq ($(FULL_TARGET),powerpc-macos)
  903. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  904. endif
  905. ifeq ($(FULL_TARGET),powerpc-darwin)
  906. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  907. endif
  908. ifeq ($(FULL_TARGET),powerpc-morphos)
  909. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  910. endif
  911. ifeq ($(FULL_TARGET),powerpc-embedded)
  912. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  913. endif
  914. ifeq ($(FULL_TARGET),sparc-linux)
  915. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  916. endif
  917. ifeq ($(FULL_TARGET),sparc-netbsd)
  918. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  919. endif
  920. ifeq ($(FULL_TARGET),sparc-solaris)
  921. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  922. endif
  923. ifeq ($(FULL_TARGET),sparc-embedded)
  924. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  925. endif
  926. ifeq ($(FULL_TARGET),x86_64-linux)
  927. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  928. endif
  929. ifeq ($(FULL_TARGET),x86_64-freebsd)
  930. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  931. endif
  932. ifeq ($(FULL_TARGET),x86_64-darwin)
  933. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  934. endif
  935. ifeq ($(FULL_TARGET),x86_64-win64)
  936. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  937. endif
  938. ifeq ($(FULL_TARGET),x86_64-embedded)
  939. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  940. endif
  941. ifeq ($(FULL_TARGET),arm-linux)
  942. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  943. endif
  944. ifeq ($(FULL_TARGET),arm-palmos)
  945. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  946. endif
  947. ifeq ($(FULL_TARGET),arm-darwin)
  948. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  949. endif
  950. ifeq ($(FULL_TARGET),arm-wince)
  951. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  952. endif
  953. ifeq ($(FULL_TARGET),arm-gba)
  954. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  955. endif
  956. ifeq ($(FULL_TARGET),arm-nds)
  957. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  958. endif
  959. ifeq ($(FULL_TARGET),arm-embedded)
  960. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  961. endif
  962. ifeq ($(FULL_TARGET),arm-symbian)
  963. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  964. endif
  965. ifeq ($(FULL_TARGET),powerpc64-linux)
  966. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  967. endif
  968. ifeq ($(FULL_TARGET),powerpc64-darwin)
  969. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  970. endif
  971. ifeq ($(FULL_TARGET),powerpc64-embedded)
  972. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  973. endif
  974. ifeq ($(FULL_TARGET),avr-embedded)
  975. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  976. endif
  977. ifeq ($(FULL_TARGET),armeb-linux)
  978. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  979. endif
  980. ifeq ($(FULL_TARGET),armeb-embedded)
  981. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  982. endif
  983. ifdef REQUIRE_UNITSDIR
  984. override UNITSDIR+=$(REQUIRE_UNITSDIR)
  985. endif
  986. ifdef REQUIRE_PACKAGESDIR
  987. override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
  988. endif
  989. ifdef ZIPINSTALL
  990. ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
  991. UNIXHier=1
  992. endif
  993. else
  994. ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),)
  995. UNIXHier=1
  996. endif
  997. endif
  998. ifndef INSTALL_PREFIX
  999. ifdef PREFIX
  1000. INSTALL_PREFIX=$(PREFIX)
  1001. endif
  1002. endif
  1003. ifndef INSTALL_PREFIX
  1004. ifdef UNIXHier
  1005. INSTALL_PREFIX=/usr/local
  1006. else
  1007. ifdef INSTALL_FPCPACKAGE
  1008. INSTALL_BASEDIR:=/pp
  1009. else
  1010. INSTALL_BASEDIR:=/$(PACKAGE_NAME)
  1011. endif
  1012. endif
  1013. endif
  1014. export INSTALL_PREFIX
  1015. ifdef INSTALL_FPCSUBDIR
  1016. export INSTALL_FPCSUBDIR
  1017. endif
  1018. ifndef DIST_DESTDIR
  1019. DIST_DESTDIR:=$(BASEDIR)
  1020. endif
  1021. export DIST_DESTDIR
  1022. ifndef COMPILER_UNITTARGETDIR
  1023. ifdef PACKAGEDIR_MAIN
  1024. COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX)
  1025. else
  1026. COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX)
  1027. endif
  1028. endif
  1029. ifndef COMPILER_TARGETDIR
  1030. COMPILER_TARGETDIR=.
  1031. endif
  1032. ifndef INSTALL_BASEDIR
  1033. ifdef UNIXHier
  1034. ifdef INSTALL_FPCPACKAGE
  1035. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
  1036. else
  1037. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
  1038. endif
  1039. else
  1040. INSTALL_BASEDIR:=$(INSTALL_PREFIX)
  1041. endif
  1042. endif
  1043. ifndef INSTALL_BINDIR
  1044. ifdef UNIXHier
  1045. INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
  1046. else
  1047. INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
  1048. ifdef INSTALL_FPCPACKAGE
  1049. ifdef CROSSCOMPILE
  1050. ifdef CROSSINSTALL
  1051. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX)
  1052. else
  1053. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
  1054. endif
  1055. else
  1056. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
  1057. endif
  1058. endif
  1059. endif
  1060. endif
  1061. ifndef INSTALL_UNITDIR
  1062. INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX)
  1063. ifdef INSTALL_FPCPACKAGE
  1064. ifdef PACKAGE_NAME
  1065. INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
  1066. endif
  1067. endif
  1068. endif
  1069. ifndef INSTALL_LIBDIR
  1070. ifdef UNIXHier
  1071. INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
  1072. else
  1073. INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
  1074. endif
  1075. endif
  1076. ifndef INSTALL_SOURCEDIR
  1077. ifdef UNIXHier
  1078. ifdef BSDhier
  1079. SRCPREFIXDIR=share/src
  1080. else
  1081. ifdef linuxHier
  1082. SRCPREFIXDIR=share/src
  1083. else
  1084. SRCPREFIXDIR=src
  1085. endif
  1086. endif
  1087. ifdef INSTALL_FPCPACKAGE
  1088. ifdef INSTALL_FPCSUBDIR
  1089. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
  1090. else
  1091. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  1092. endif
  1093. else
  1094. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  1095. endif
  1096. else
  1097. ifdef INSTALL_FPCPACKAGE
  1098. ifdef INSTALL_FPCSUBDIR
  1099. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
  1100. else
  1101. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
  1102. endif
  1103. else
  1104. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
  1105. endif
  1106. endif
  1107. endif
  1108. ifndef INSTALL_DOCDIR
  1109. ifdef UNIXHier
  1110. ifdef BSDhier
  1111. DOCPREFIXDIR=share/doc
  1112. else
  1113. ifdef linuxHier
  1114. DOCPREFIXDIR=share/doc
  1115. else
  1116. DOCPREFIXDIR=doc
  1117. endif
  1118. endif
  1119. ifdef INSTALL_FPCPACKAGE
  1120. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  1121. else
  1122. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  1123. endif
  1124. else
  1125. ifdef INSTALL_FPCPACKAGE
  1126. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
  1127. else
  1128. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
  1129. endif
  1130. endif
  1131. endif
  1132. ifndef INSTALL_EXAMPLEDIR
  1133. ifdef UNIXHier
  1134. ifdef INSTALL_FPCPACKAGE
  1135. ifdef BSDhier
  1136. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  1137. else
  1138. ifdef linuxHier
  1139. INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
  1140. else
  1141. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
  1142. endif
  1143. endif
  1144. else
  1145. ifdef BSDhier
  1146. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  1147. else
  1148. ifdef linuxHier
  1149. INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  1150. else
  1151. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  1152. endif
  1153. endif
  1154. endif
  1155. else
  1156. ifdef INSTALL_FPCPACKAGE
  1157. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
  1158. else
  1159. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
  1160. endif
  1161. endif
  1162. endif
  1163. ifndef INSTALL_DATADIR
  1164. INSTALL_DATADIR=$(INSTALL_BASEDIR)
  1165. endif
  1166. ifndef INSTALL_SHAREDDIR
  1167. INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib
  1168. endif
  1169. ifdef CROSSCOMPILE
  1170. ifndef CROSSBINDIR
  1171. CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
  1172. ifeq ($(CROSSBINDIR),)
  1173. CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE))
  1174. endif
  1175. endif
  1176. else
  1177. CROSSBINDIR=
  1178. endif
  1179. BATCHEXT=.bat
  1180. LOADEREXT=.as
  1181. EXEEXT=.exe
  1182. PPLEXT=.ppl
  1183. PPUEXT=.ppu
  1184. OEXT=.o
  1185. ASMEXT=.s
  1186. SMARTEXT=.sl
  1187. STATICLIBEXT=.a
  1188. SHAREDLIBEXT=.so
  1189. SHAREDLIBPREFIX=libfp
  1190. STATICLIBPREFIX=libp
  1191. IMPORTLIBPREFIX=libimp
  1192. RSTEXT=.rst
  1193. ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
  1194. ifeq ($(OS_TARGET),go32v1)
  1195. STATICLIBPREFIX=
  1196. SHORTSUFFIX=v1
  1197. endif
  1198. ifeq ($(OS_TARGET),go32v2)
  1199. STATICLIBPREFIX=
  1200. SHORTSUFFIX=dos
  1201. IMPORTLIBPREFIX=
  1202. endif
  1203. ifeq ($(OS_TARGET),watcom)
  1204. STATICLIBPREFIX=
  1205. OEXT=.obj
  1206. ASMEXT=.asm
  1207. SHAREDLIBEXT=.dll
  1208. SHORTSUFFIX=wat
  1209. IMPORTLIBPREFIX=
  1210. endif
  1211. ifeq ($(OS_TARGET),linux)
  1212. BATCHEXT=.sh
  1213. EXEEXT=
  1214. HASSHAREDLIB=1
  1215. SHORTSUFFIX=lnx
  1216. endif
  1217. ifeq ($(OS_TARGET),freebsd)
  1218. BATCHEXT=.sh
  1219. EXEEXT=
  1220. HASSHAREDLIB=1
  1221. SHORTSUFFIX=fbs
  1222. endif
  1223. ifeq ($(OS_TARGET),netbsd)
  1224. BATCHEXT=.sh
  1225. EXEEXT=
  1226. HASSHAREDLIB=1
  1227. SHORTSUFFIX=nbs
  1228. endif
  1229. ifeq ($(OS_TARGET),openbsd)
  1230. BATCHEXT=.sh
  1231. EXEEXT=
  1232. HASSHAREDLIB=1
  1233. SHORTSUFFIX=obs
  1234. endif
  1235. ifeq ($(OS_TARGET),win32)
  1236. SHAREDLIBEXT=.dll
  1237. SHORTSUFFIX=w32
  1238. endif
  1239. ifeq ($(OS_TARGET),os2)
  1240. BATCHEXT=.cmd
  1241. AOUTEXT=.out
  1242. STATICLIBPREFIX=
  1243. SHAREDLIBEXT=.dll
  1244. SHORTSUFFIX=os2
  1245. ECHO=echo
  1246. IMPORTLIBPREFIX=
  1247. endif
  1248. ifeq ($(OS_TARGET),emx)
  1249. BATCHEXT=.cmd
  1250. AOUTEXT=.out
  1251. STATICLIBPREFIX=
  1252. SHAREDLIBEXT=.dll
  1253. SHORTSUFFIX=emx
  1254. ECHO=echo
  1255. IMPORTLIBPREFIX=
  1256. endif
  1257. ifeq ($(OS_TARGET),amiga)
  1258. EXEEXT=
  1259. SHAREDLIBEXT=.library
  1260. SHORTSUFFIX=amg
  1261. endif
  1262. ifeq ($(OS_TARGET),morphos)
  1263. EXEEXT=
  1264. SHAREDLIBEXT=.library
  1265. SHORTSUFFIX=mos
  1266. endif
  1267. ifeq ($(OS_TARGET),atari)
  1268. EXEEXT=.ttp
  1269. SHORTSUFFIX=ata
  1270. endif
  1271. ifeq ($(OS_TARGET),beos)
  1272. BATCHEXT=.sh
  1273. EXEEXT=
  1274. SHORTSUFFIX=be
  1275. endif
  1276. ifeq ($(OS_TARGET),haiku)
  1277. BATCHEXT=.sh
  1278. EXEEXT=
  1279. SHORTSUFFIX=hai
  1280. endif
  1281. ifeq ($(OS_TARGET),solaris)
  1282. BATCHEXT=.sh
  1283. EXEEXT=
  1284. SHORTSUFFIX=sun
  1285. endif
  1286. ifeq ($(OS_TARGET),qnx)
  1287. BATCHEXT=.sh
  1288. EXEEXT=
  1289. SHORTSUFFIX=qnx
  1290. endif
  1291. ifeq ($(OS_TARGET),netware)
  1292. EXEEXT=.nlm
  1293. STATICLIBPREFIX=
  1294. SHORTSUFFIX=nw
  1295. IMPORTLIBPREFIX=imp
  1296. endif
  1297. ifeq ($(OS_TARGET),netwlibc)
  1298. EXEEXT=.nlm
  1299. STATICLIBPREFIX=
  1300. SHORTSUFFIX=nwl
  1301. IMPORTLIBPREFIX=imp
  1302. endif
  1303. ifeq ($(OS_TARGET),macos)
  1304. BATCHEXT=
  1305. EXEEXT=
  1306. DEBUGSYMEXT=.xcoff
  1307. SHORTSUFFIX=mac
  1308. IMPORTLIBPREFIX=imp
  1309. endif
  1310. ifeq ($(OS_TARGET),darwin)
  1311. BATCHEXT=.sh
  1312. EXEEXT=
  1313. HASSHAREDLIB=1
  1314. SHORTSUFFIX=dwn
  1315. endif
  1316. ifeq ($(OS_TARGET),gba)
  1317. EXEEXT=.gba
  1318. SHAREDLIBEXT=.so
  1319. SHORTSUFFIX=gba
  1320. endif
  1321. ifeq ($(OS_TARGET),symbian)
  1322. SHAREDLIBEXT=.dll
  1323. SHORTSUFFIX=symbian
  1324. endif
  1325. else
  1326. ifeq ($(OS_TARGET),go32v1)
  1327. PPUEXT=.pp1
  1328. OEXT=.o1
  1329. ASMEXT=.s1
  1330. SMARTEXT=.sl1
  1331. STATICLIBEXT=.a1
  1332. SHAREDLIBEXT=.so1
  1333. STATICLIBPREFIX=
  1334. SHORTSUFFIX=v1
  1335. IMPORTLIBPREFIX=
  1336. endif
  1337. ifeq ($(OS_TARGET),go32v2)
  1338. STATICLIBPREFIX=
  1339. SHORTSUFFIX=dos
  1340. IMPORTLIBPREFIX=
  1341. endif
  1342. ifeq ($(OS_TARGET),watcom)
  1343. STATICLIBPREFIX=
  1344. SHORTSUFFIX=wat
  1345. IMPORTLIBPREFIX=
  1346. endif
  1347. ifeq ($(OS_TARGET),linux)
  1348. BATCHEXT=.sh
  1349. EXEEXT=
  1350. HASSHAREDLIB=1
  1351. SHORTSUFFIX=lnx
  1352. endif
  1353. ifeq ($(OS_TARGET),freebsd)
  1354. BATCHEXT=.sh
  1355. EXEEXT=
  1356. HASSHAREDLIB=1
  1357. SHORTSUFFIX=fbs
  1358. endif
  1359. ifeq ($(OS_TARGET),netbsd)
  1360. BATCHEXT=.sh
  1361. EXEEXT=
  1362. HASSHAREDLIB=1
  1363. SHORTSUFFIX=nbs
  1364. endif
  1365. ifeq ($(OS_TARGET),openbsd)
  1366. BATCHEXT=.sh
  1367. EXEEXT=
  1368. HASSHAREDLIB=1
  1369. SHORTSUFFIX=obs
  1370. endif
  1371. ifeq ($(OS_TARGET),win32)
  1372. PPUEXT=.ppw
  1373. OEXT=.ow
  1374. ASMEXT=.sw
  1375. SMARTEXT=.slw
  1376. STATICLIBEXT=.aw
  1377. SHAREDLIBEXT=.dll
  1378. SHORTSUFFIX=w32
  1379. endif
  1380. ifeq ($(OS_TARGET),os2)
  1381. BATCHEXT=.cmd
  1382. PPUEXT=.ppo
  1383. ASMEXT=.so2
  1384. OEXT=.oo2
  1385. AOUTEXT=.out
  1386. SMARTEXT=.sl2
  1387. STATICLIBPREFIX=
  1388. STATICLIBEXT=.ao2
  1389. SHAREDLIBEXT=.dll
  1390. SHORTSUFFIX=os2
  1391. ECHO=echo
  1392. IMPORTLIBPREFIX=
  1393. endif
  1394. ifeq ($(OS_TARGET),amiga)
  1395. EXEEXT=
  1396. PPUEXT=.ppu
  1397. ASMEXT=.s
  1398. OEXT=.o
  1399. SMARTEXT=.sl
  1400. STATICLIBEXT=.a
  1401. SHAREDLIBEXT=.library
  1402. SHORTSUFFIX=amg
  1403. endif
  1404. ifeq ($(OS_TARGET),atari)
  1405. PPUEXT=.ppu
  1406. ASMEXT=.s
  1407. OEXT=.o
  1408. SMARTEXT=.sl
  1409. STATICLIBEXT=.a
  1410. EXEEXT=.ttp
  1411. SHORTSUFFIX=ata
  1412. endif
  1413. ifeq ($(OS_TARGET),beos)
  1414. BATCHEXT=.sh
  1415. PPUEXT=.ppu
  1416. ASMEXT=.s
  1417. OEXT=.o
  1418. SMARTEXT=.sl
  1419. STATICLIBEXT=.a
  1420. EXEEXT=
  1421. SHORTSUFFIX=be
  1422. endif
  1423. ifeq ($(OS_TARGET),solaris)
  1424. BATCHEXT=.sh
  1425. PPUEXT=.ppu
  1426. ASMEXT=.s
  1427. OEXT=.o
  1428. SMARTEXT=.sl
  1429. STATICLIBEXT=.a
  1430. EXEEXT=
  1431. SHORTSUFFIX=sun
  1432. endif
  1433. ifeq ($(OS_TARGET),qnx)
  1434. BATCHEXT=.sh
  1435. PPUEXT=.ppu
  1436. ASMEXT=.s
  1437. OEXT=.o
  1438. SMARTEXT=.sl
  1439. STATICLIBEXT=.a
  1440. EXEEXT=
  1441. SHORTSUFFIX=qnx
  1442. endif
  1443. ifeq ($(OS_TARGET),netware)
  1444. STATICLIBPREFIX=
  1445. PPUEXT=.ppu
  1446. OEXT=.o
  1447. ASMEXT=.s
  1448. SMARTEXT=.sl
  1449. STATICLIBEXT=.a
  1450. SHAREDLIBEXT=.nlm
  1451. EXEEXT=.nlm
  1452. SHORTSUFFIX=nw
  1453. IMPORTLIBPREFIX=imp
  1454. endif
  1455. ifeq ($(OS_TARGET),netwlibc)
  1456. STATICLIBPREFIX=
  1457. PPUEXT=.ppu
  1458. OEXT=.o
  1459. ASMEXT=.s
  1460. SMARTEXT=.sl
  1461. STATICLIBEXT=.a
  1462. SHAREDLIBEXT=.nlm
  1463. EXEEXT=.nlm
  1464. SHORTSUFFIX=nwl
  1465. IMPORTLIBPREFIX=imp
  1466. endif
  1467. ifeq ($(OS_TARGET),macos)
  1468. BATCHEXT=
  1469. PPUEXT=.ppu
  1470. ASMEXT=.s
  1471. OEXT=.o
  1472. SMARTEXT=.sl
  1473. STATICLIBEXT=.a
  1474. EXEEXT=
  1475. DEBUGSYMEXT=.xcoff
  1476. SHORTSUFFIX=mac
  1477. IMPORTLIBPREFIX=imp
  1478. endif
  1479. endif
  1480. ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
  1481. FPCMADE=fpcmade.$(SHORTSUFFIX)
  1482. ZIPSUFFIX=$(SHORTSUFFIX)
  1483. ZIPCROSSPREFIX=
  1484. ZIPSOURCESUFFIX=src
  1485. ZIPEXAMPLESUFFIX=exm
  1486. else
  1487. FPCMADE=fpcmade.$(TARGETSUFFIX)
  1488. ZIPSOURCESUFFIX=.source
  1489. ZIPEXAMPLESUFFIX=.examples
  1490. ifdef CROSSCOMPILE
  1491. ZIPSUFFIX=.$(SOURCESUFFIX)
  1492. ZIPCROSSPREFIX=$(TARGETSUFFIX)-
  1493. else
  1494. ZIPSUFFIX=.$(TARGETSUFFIX)
  1495. ZIPCROSSPREFIX=
  1496. endif
  1497. endif
  1498. ifndef ECHO
  1499. ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
  1500. ifeq ($(ECHO),)
  1501. ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
  1502. ifeq ($(ECHO),)
  1503. ECHO= __missing_command_ECHO
  1504. else
  1505. ECHO:=$(firstword $(ECHO))
  1506. endif
  1507. else
  1508. ECHO:=$(firstword $(ECHO))
  1509. endif
  1510. endif
  1511. export ECHO
  1512. ifndef DATE
  1513. DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
  1514. ifeq ($(DATE),)
  1515. DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
  1516. ifeq ($(DATE),)
  1517. DATE= __missing_command_DATE
  1518. else
  1519. DATE:=$(firstword $(DATE))
  1520. endif
  1521. else
  1522. DATE:=$(firstword $(DATE))
  1523. endif
  1524. endif
  1525. export DATE
  1526. ifndef GINSTALL
  1527. GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
  1528. ifeq ($(GINSTALL),)
  1529. GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
  1530. ifeq ($(GINSTALL),)
  1531. GINSTALL= __missing_command_GINSTALL
  1532. else
  1533. GINSTALL:=$(firstword $(GINSTALL))
  1534. endif
  1535. else
  1536. GINSTALL:=$(firstword $(GINSTALL))
  1537. endif
  1538. endif
  1539. export GINSTALL
  1540. ifndef CPPROG
  1541. CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
  1542. ifeq ($(CPPROG),)
  1543. CPPROG= __missing_command_CPPROG
  1544. else
  1545. CPPROG:=$(firstword $(CPPROG))
  1546. endif
  1547. endif
  1548. export CPPROG
  1549. ifndef RMPROG
  1550. RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
  1551. ifeq ($(RMPROG),)
  1552. RMPROG= __missing_command_RMPROG
  1553. else
  1554. RMPROG:=$(firstword $(RMPROG))
  1555. endif
  1556. endif
  1557. export RMPROG
  1558. ifndef MVPROG
  1559. MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
  1560. ifeq ($(MVPROG),)
  1561. MVPROG= __missing_command_MVPROG
  1562. else
  1563. MVPROG:=$(firstword $(MVPROG))
  1564. endif
  1565. endif
  1566. export MVPROG
  1567. ifndef MKDIRPROG
  1568. MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH))))
  1569. ifeq ($(MKDIRPROG),)
  1570. MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH))))
  1571. ifeq ($(MKDIRPROG),)
  1572. MKDIRPROG= __missing_command_MKDIRPROG
  1573. else
  1574. MKDIRPROG:=$(firstword $(MKDIRPROG))
  1575. endif
  1576. else
  1577. MKDIRPROG:=$(firstword $(MKDIRPROG))
  1578. endif
  1579. endif
  1580. export MKDIRPROG
  1581. ifndef ECHOREDIR
  1582. ifndef inUnix
  1583. ECHOREDIR=echo
  1584. else
  1585. ECHOREDIR=$(ECHO)
  1586. endif
  1587. endif
  1588. ifndef COPY
  1589. COPY:=$(CPPROG) -fp
  1590. endif
  1591. ifndef COPYTREE
  1592. COPYTREE:=$(CPPROG) -Rfp
  1593. endif
  1594. ifndef MKDIRTREE
  1595. MKDIRTREE:=$(MKDIRPROG) -p
  1596. endif
  1597. ifndef MOVE
  1598. MOVE:=$(MVPROG) -f
  1599. endif
  1600. ifndef DEL
  1601. DEL:=$(RMPROG) -f
  1602. endif
  1603. ifndef DELTREE
  1604. DELTREE:=$(RMPROG) -rf
  1605. endif
  1606. ifndef INSTALL
  1607. ifdef inUnix
  1608. INSTALL:=$(GINSTALL) -c -m 644
  1609. else
  1610. INSTALL:=$(COPY)
  1611. endif
  1612. endif
  1613. ifndef INSTALLEXE
  1614. ifdef inUnix
  1615. INSTALLEXE:=$(GINSTALL) -c -m 755
  1616. else
  1617. INSTALLEXE:=$(COPY)
  1618. endif
  1619. endif
  1620. ifndef MKDIR
  1621. MKDIR:=$(GINSTALL) -m 755 -d
  1622. endif
  1623. export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
  1624. ifndef PPUMOVE
  1625. PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
  1626. ifeq ($(PPUMOVE),)
  1627. PPUMOVE= __missing_command_PPUMOVE
  1628. else
  1629. PPUMOVE:=$(firstword $(PPUMOVE))
  1630. endif
  1631. endif
  1632. export PPUMOVE
  1633. ifndef FPCMAKE
  1634. FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
  1635. ifeq ($(FPCMAKE),)
  1636. FPCMAKE= __missing_command_FPCMAKE
  1637. else
  1638. FPCMAKE:=$(firstword $(FPCMAKE))
  1639. endif
  1640. endif
  1641. export FPCMAKE
  1642. ifndef ZIPPROG
  1643. ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
  1644. ifeq ($(ZIPPROG),)
  1645. ZIPPROG= __missing_command_ZIPPROG
  1646. else
  1647. ZIPPROG:=$(firstword $(ZIPPROG))
  1648. endif
  1649. endif
  1650. export ZIPPROG
  1651. ifndef TARPROG
  1652. TARPROG:=$(strip $(wildcard $(addsuffix /gtar$(SRCEXEEXT),$(SEARCHPATH))))
  1653. ifeq ($(TARPROG),)
  1654. TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
  1655. ifeq ($(TARPROG),)
  1656. TARPROG= __missing_command_TARPROG
  1657. else
  1658. TARPROG:=$(firstword $(TARPROG))
  1659. endif
  1660. else
  1661. TARPROG:=$(firstword $(TARPROG))
  1662. endif
  1663. endif
  1664. export TARPROG
  1665. ASNAME=$(BINUTILSPREFIX)as
  1666. LDNAME=$(BINUTILSPREFIX)ld
  1667. ARNAME=$(BINUTILSPREFIX)ar
  1668. RCNAME=$(BINUTILSPREFIX)rc
  1669. ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
  1670. ifeq ($(OS_TARGET),win32)
  1671. ifeq ($(CROSSBINDIR),)
  1672. ASNAME=asw
  1673. LDNAME=ldw
  1674. ARNAME=arw
  1675. endif
  1676. endif
  1677. endif
  1678. ifndef ASPROG
  1679. ifdef CROSSBINDIR
  1680. ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
  1681. else
  1682. ASPROG=$(ASNAME)
  1683. endif
  1684. endif
  1685. ifndef LDPROG
  1686. ifdef CROSSBINDIR
  1687. LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
  1688. else
  1689. LDPROG=$(LDNAME)
  1690. endif
  1691. endif
  1692. ifndef RCPROG
  1693. ifdef CROSSBINDIR
  1694. RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
  1695. else
  1696. RCPROG=$(RCNAME)
  1697. endif
  1698. endif
  1699. ifndef ARPROG
  1700. ifdef CROSSBINDIR
  1701. ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
  1702. else
  1703. ARPROG=$(ARNAME)
  1704. endif
  1705. endif
  1706. AS=$(ASPROG)
  1707. LD=$(LDPROG)
  1708. RC=$(RCPROG)
  1709. AR=$(ARPROG)
  1710. PPAS=ppas$(SRCBATCHEXT)
  1711. ifdef inUnix
  1712. LDCONFIG=ldconfig
  1713. else
  1714. LDCONFIG=
  1715. endif
  1716. ifdef DATE
  1717. DATESTR:=$(shell $(DATE) +%Y%m%d)
  1718. else
  1719. DATESTR=
  1720. endif
  1721. ifndef UPXPROG
  1722. ifeq ($(OS_TARGET),go32v2)
  1723. UPXPROG:=1
  1724. endif
  1725. ifeq ($(OS_TARGET),win32)
  1726. UPXPROG:=1
  1727. endif
  1728. ifdef UPXPROG
  1729. UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
  1730. ifeq ($(UPXPROG),)
  1731. UPXPROG=
  1732. else
  1733. UPXPROG:=$(firstword $(UPXPROG))
  1734. endif
  1735. else
  1736. UPXPROG=
  1737. endif
  1738. endif
  1739. export UPXPROG
  1740. ZIPOPT=-9
  1741. ZIPEXT=.zip
  1742. ifeq ($(USETAR),bz2)
  1743. TAROPT=vj
  1744. TAREXT=.tar.bz2
  1745. else
  1746. TAROPT=vz
  1747. TAREXT=.tar.gz
  1748. endif
  1749. ifndef NOCPUDEF
  1750. override FPCOPTDEF=$(ARCH)
  1751. endif
  1752. ifneq ($(OS_TARGET),$(OS_SOURCE))
  1753. override FPCOPT+=-T$(OS_TARGET)
  1754. endif
  1755. ifneq ($(CPU_TARGET),$(CPU_SOURCE))
  1756. override FPCOPT+=-P$(ARCH)
  1757. endif
  1758. ifeq ($(OS_SOURCE),openbsd)
  1759. override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
  1760. endif
  1761. ifndef CROSSBOOTSTRAP
  1762. ifneq ($(BINUTILSPREFIX),)
  1763. override FPCOPT+=-XP$(BINUTILSPREFIX)
  1764. endif
  1765. ifneq ($(BINUTILSPREFIX),)
  1766. override FPCOPT+=-Xr$(RLINKPATH)
  1767. endif
  1768. endif
  1769. ifdef UNITDIR
  1770. override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
  1771. endif
  1772. ifdef LIBDIR
  1773. override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
  1774. endif
  1775. ifdef OBJDIR
  1776. override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
  1777. endif
  1778. ifdef INCDIR
  1779. override FPCOPT+=$(addprefix -Fi,$(INCDIR))
  1780. endif
  1781. ifdef LINKSMART
  1782. override FPCOPT+=-XX
  1783. endif
  1784. ifdef CREATESMART
  1785. override FPCOPT+=-CX
  1786. endif
  1787. ifdef DEBUG
  1788. override FPCOPT+=-gl
  1789. override FPCOPTDEF+=DEBUG
  1790. endif
  1791. ifdef RELEASE
  1792. ifneq ($(findstring 2.0.,$(FPC_VERSION)),)
  1793. ifeq ($(CPU_TARGET),i386)
  1794. FPCCPUOPT:=-OG2p3
  1795. endif
  1796. ifeq ($(CPU_TARGET),powerpc)
  1797. FPCCPUOPT:=-O1r
  1798. endif
  1799. else
  1800. FPCCPUOPT:=-O2
  1801. endif
  1802. override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
  1803. override FPCOPTDEF+=RELEASE
  1804. endif
  1805. ifdef STRIP
  1806. override FPCOPT+=-Xs
  1807. endif
  1808. ifdef OPTIMIZE
  1809. override FPCOPT+=-O2
  1810. endif
  1811. ifdef VERBOSE
  1812. override FPCOPT+=-vwni
  1813. endif
  1814. ifdef COMPILER_OPTIONS
  1815. override FPCOPT+=$(COMPILER_OPTIONS)
  1816. endif
  1817. ifdef COMPILER_UNITDIR
  1818. override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
  1819. endif
  1820. ifdef COMPILER_LIBRARYDIR
  1821. override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
  1822. endif
  1823. ifdef COMPILER_OBJECTDIR
  1824. override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
  1825. endif
  1826. ifdef COMPILER_INCLUDEDIR
  1827. override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
  1828. endif
  1829. ifdef CROSSBINDIR
  1830. override FPCOPT+=-FD$(CROSSBINDIR)
  1831. endif
  1832. ifdef COMPILER_TARGETDIR
  1833. override FPCOPT+=-FE$(COMPILER_TARGETDIR)
  1834. ifeq ($(COMPILER_TARGETDIR),.)
  1835. override TARGETDIRPREFIX=
  1836. else
  1837. override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
  1838. endif
  1839. endif
  1840. ifdef COMPILER_UNITTARGETDIR
  1841. override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
  1842. ifeq ($(COMPILER_UNITTARGETDIR),.)
  1843. override UNITTARGETDIRPREFIX=
  1844. else
  1845. override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
  1846. endif
  1847. else
  1848. ifdef COMPILER_TARGETDIR
  1849. override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
  1850. override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
  1851. endif
  1852. endif
  1853. ifdef CREATESHARED
  1854. override FPCOPT+=-Cg
  1855. ifeq ($(CPU_TARGET),i386)
  1856. override FPCOPT+=-Aas
  1857. endif
  1858. endif
  1859. ifeq ($(findstring 2.0.,$(FPC_VERSION)),)
  1860. ifeq ($(OS_TARGET),linux)
  1861. ifeq ($(CPU_TARGET),x86_64)
  1862. override FPCOPT+=-Cg
  1863. endif
  1864. endif
  1865. endif
  1866. ifdef LINKSHARED
  1867. endif
  1868. ifdef OPT
  1869. override FPCOPT+=$(OPT)
  1870. endif
  1871. ifdef FPCOPTDEF
  1872. override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
  1873. endif
  1874. ifdef CFGFILE
  1875. override FPCOPT+=@$(CFGFILE)
  1876. endif
  1877. ifdef USEENV
  1878. override FPCEXTCMD:=$(FPCOPT)
  1879. override FPCOPT:=!FPCEXTCMD
  1880. export FPCEXTCMD
  1881. endif
  1882. override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
  1883. override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
  1884. ifneq ($(AFULL_TARGET),$(AFULL_SOURCE))
  1885. override ACROSSCOMPILE=1
  1886. endif
  1887. ifdef ACROSSCOMPILE
  1888. override FPCOPT+=$(CROSSOPT)
  1889. endif
  1890. override COMPILER:=$(FPC) $(FPCOPT)
  1891. ifeq (,$(findstring -s ,$(COMPILER)))
  1892. EXECPPAS=
  1893. else
  1894. ifeq ($(FULL_SOURCE),$(FULL_TARGET))
  1895. ifdef RUNBATCH
  1896. EXECPPAS:=@$(RUNBATCH) $(PPAS)
  1897. else
  1898. EXECPPAS:=@$(PPAS)
  1899. endif
  1900. endif
  1901. endif
  1902. .PHONY: fpc_units
  1903. ifneq ($(TARGET_UNITS)$(TARGET_IMPLICITUNITS),)
  1904. override ALLTARGET+=fpc_units
  1905. override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS))
  1906. override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS))
  1907. override INSTALLPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
  1908. override CLEANPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
  1909. endif
  1910. fpc_units: $(COMPILER_UNITTARGETDIR) $(UNITPPUFILES)
  1911. ifdef TARGET_RSTS
  1912. override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
  1913. override CLEANRSTFILES+=$(RSTFILES)
  1914. endif
  1915. .PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared
  1916. $(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
  1917. @$(ECHOREDIR) Compiled > $(FPCMADE)
  1918. fpc_all: $(FPCMADE)
  1919. fpc_smart:
  1920. $(MAKE) all LINKSMART=1 CREATESMART=1
  1921. fpc_debug:
  1922. $(MAKE) all DEBUG=1
  1923. fpc_release:
  1924. $(MAKE) all RELEASE=1
  1925. .SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res
  1926. $(COMPILER_UNITTARGETDIR):
  1927. $(MKDIRTREE) $(COMPILER_UNITTARGETDIR)
  1928. $(COMPILER_TARGETDIR):
  1929. $(MKDIRTREE) $(COMPILER_TARGETDIR)
  1930. %$(PPUEXT): %.pp
  1931. $(COMPILER) $<
  1932. $(EXECPPAS)
  1933. %$(PPUEXT): %.pas
  1934. $(COMPILER) $<
  1935. $(EXECPPAS)
  1936. %$(EXEEXT): %.pp
  1937. $(COMPILER) $<
  1938. $(EXECPPAS)
  1939. %$(EXEEXT): %.pas
  1940. $(COMPILER) $<
  1941. $(EXECPPAS)
  1942. %$(EXEEXT): %.lpr
  1943. $(COMPILER) $<
  1944. $(EXECPPAS)
  1945. %$(EXEEXT): %.dpr
  1946. $(COMPILER) $<
  1947. $(EXECPPAS)
  1948. %.res: %.rc
  1949. windres -i $< -o $@
  1950. vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1951. vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1952. vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1953. vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1954. vpath %.inc $(COMPILER_INCLUDEDIR)
  1955. vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
  1956. vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
  1957. .PHONY: fpc_shared
  1958. override INSTALLTARGET+=fpc_shared_install
  1959. ifndef SHARED_LIBVERSION
  1960. SHARED_LIBVERSION=$(FPC_VERSION)
  1961. endif
  1962. ifndef SHARED_LIBNAME
  1963. SHARED_LIBNAME=$(PACKAGE_NAME)
  1964. endif
  1965. ifndef SHARED_FULLNAME
  1966. SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION)$(SHAREDLIBEXT)
  1967. endif
  1968. ifndef SHARED_LIBUNITS
  1969. SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS)
  1970. override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_LIBUNITS))
  1971. endif
  1972. fpc_shared:
  1973. ifdef HASSHAREDLIB
  1974. $(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1
  1975. ifneq ($(SHARED_BUILD),n)
  1976. $(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR)
  1977. endif
  1978. else
  1979. @$(ECHO) Shared Libraries not supported
  1980. endif
  1981. fpc_shared_install:
  1982. ifneq ($(SHARED_BUILD),n)
  1983. ifneq ($(SHARED_LIBUNITS),)
  1984. ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),)
  1985. $(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(INSTALL_SHAREDDIR)
  1986. endif
  1987. endif
  1988. endif
  1989. .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
  1990. ifdef INSTALL_UNITS
  1991. override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
  1992. endif
  1993. ifdef INSTALL_BUILDUNIT
  1994. override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
  1995. endif
  1996. ifdef INSTALLPPUFILES
  1997. override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
  1998. ifneq ($(UNITTARGETDIRPREFIX),)
  1999. override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPUFILES)))
  2000. override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPULINKFILES))))
  2001. endif
  2002. override INSTALL_CREATEPACKAGEFPC=1
  2003. endif
  2004. ifdef INSTALLEXEFILES
  2005. ifneq ($(TARGETDIRPREFIX),)
  2006. override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(notdir $(INSTALLEXEFILES)))
  2007. endif
  2008. endif
  2009. fpc_install: all $(INSTALLTARGET)
  2010. ifdef INSTALLEXEFILES
  2011. $(MKDIR) $(INSTALL_BINDIR)
  2012. ifdef UPXPROG
  2013. -$(UPXPROG) $(INSTALLEXEFILES)
  2014. endif
  2015. $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
  2016. endif
  2017. ifdef INSTALL_CREATEPACKAGEFPC
  2018. ifdef FPCMAKE
  2019. ifdef PACKAGE_VERSION
  2020. ifneq ($(wildcard Makefile.fpc),)
  2021. $(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
  2022. $(MKDIR) $(INSTALL_UNITDIR)
  2023. $(INSTALL) Package.fpc $(INSTALL_UNITDIR)
  2024. endif
  2025. endif
  2026. endif
  2027. endif
  2028. ifdef INSTALLPPUFILES
  2029. $(MKDIR) $(INSTALL_UNITDIR)
  2030. $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
  2031. ifneq ($(INSTALLPPULINKFILES),)
  2032. $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
  2033. endif
  2034. ifneq ($(wildcard $(LIB_FULLNAME)),)
  2035. $(MKDIR) $(INSTALL_LIBDIR)
  2036. $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
  2037. ifdef inUnix
  2038. ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
  2039. endif
  2040. endif
  2041. endif
  2042. ifdef INSTALL_FILES
  2043. $(MKDIR) $(INSTALL_DATADIR)
  2044. $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
  2045. endif
  2046. fpc_sourceinstall: distclean
  2047. $(MKDIR) $(INSTALL_SOURCEDIR)
  2048. $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
  2049. fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
  2050. ifdef HASEXAMPLES
  2051. $(MKDIR) $(INSTALL_EXAMPLEDIR)
  2052. endif
  2053. ifdef EXAMPLESOURCEFILES
  2054. $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
  2055. endif
  2056. ifdef TARGET_EXAMPLEDIRS
  2057. $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
  2058. endif
  2059. .PHONY: fpc_clean fpc_cleanall fpc_distclean
  2060. ifdef EXEFILES
  2061. override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
  2062. endif
  2063. ifdef CLEAN_UNITS
  2064. override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
  2065. endif
  2066. ifdef CLEANPPUFILES
  2067. override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
  2068. ifdef DEBUGSYMEXT
  2069. override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
  2070. endif
  2071. override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
  2072. override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
  2073. endif
  2074. fpc_clean: $(CLEANTARGET)
  2075. ifdef CLEANEXEFILES
  2076. -$(DEL) $(CLEANEXEFILES)
  2077. endif
  2078. ifdef CLEANPPUFILES
  2079. -$(DEL) $(CLEANPPUFILES)
  2080. endif
  2081. ifneq ($(CLEANPPULINKFILES),)
  2082. -$(DEL) $(CLEANPPULINKFILES)
  2083. endif
  2084. ifdef CLEANRSTFILES
  2085. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  2086. endif
  2087. ifdef CLEAN_FILES
  2088. -$(DEL) $(CLEAN_FILES)
  2089. endif
  2090. ifdef LIB_NAME
  2091. -$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
  2092. endif
  2093. -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
  2094. -$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
  2095. fpc_cleanall: $(CLEANTARGET)
  2096. ifdef CLEANEXEFILES
  2097. -$(DEL) $(CLEANEXEFILES)
  2098. endif
  2099. ifdef COMPILER_UNITTARGETDIR
  2100. ifdef CLEANPPUFILES
  2101. -$(DEL) $(CLEANPPUFILES)
  2102. endif
  2103. ifneq ($(CLEANPPULINKFILES),)
  2104. -$(DEL) $(CLEANPPULINKFILES)
  2105. endif
  2106. ifdef CLEANRSTFILES
  2107. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  2108. endif
  2109. endif
  2110. -$(DELTREE) units
  2111. -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
  2112. ifneq ($(PPUEXT),.ppu)
  2113. -$(DEL) *.o *.ppu *.a
  2114. endif
  2115. -$(DELTREE) *$(SMARTEXT)
  2116. -$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
  2117. -$(DEL) *_ppas$(BATCHEXT)
  2118. ifdef AOUTEXT
  2119. -$(DEL) *$(AOUTEXT)
  2120. endif
  2121. ifdef DEBUGSYMEXT
  2122. -$(DEL) *$(DEBUGSYMEXT)
  2123. endif
  2124. fpc_distclean: cleanall
  2125. .PHONY: fpc_baseinfo
  2126. override INFORULES+=fpc_baseinfo
  2127. fpc_baseinfo:
  2128. @$(ECHO)
  2129. @$(ECHO) == Package info ==
  2130. @$(ECHO) Package Name..... $(PACKAGE_NAME)
  2131. @$(ECHO) Package Version.. $(PACKAGE_VERSION)
  2132. @$(ECHO)
  2133. @$(ECHO) == Configuration info ==
  2134. @$(ECHO)
  2135. @$(ECHO) FPC.......... $(FPC)
  2136. @$(ECHO) FPC Version.. $(FPC_VERSION)
  2137. @$(ECHO) Source CPU... $(CPU_SOURCE)
  2138. @$(ECHO) Target CPU... $(CPU_TARGET)
  2139. @$(ECHO) Source OS.... $(OS_SOURCE)
  2140. @$(ECHO) Target OS.... $(OS_TARGET)
  2141. @$(ECHO) Full Source.. $(FULL_SOURCE)
  2142. @$(ECHO) Full Target.. $(FULL_TARGET)
  2143. @$(ECHO) SourceSuffix. $(SOURCESUFFIX)
  2144. @$(ECHO) TargetSuffix. $(TARGETSUFFIX)
  2145. @$(ECHO)
  2146. @$(ECHO) == Directory info ==
  2147. @$(ECHO)
  2148. @$(ECHO) Required pkgs... $(REQUIRE_PACKAGES)
  2149. @$(ECHO)
  2150. @$(ECHO) Basedir......... $(BASEDIR)
  2151. @$(ECHO) FPCDir.......... $(FPCDIR)
  2152. @$(ECHO) CrossBinDir..... $(CROSSBINDIR)
  2153. @$(ECHO) UnitsDir........ $(UNITSDIR)
  2154. @$(ECHO) PackagesDir..... $(PACKAGESDIR)
  2155. @$(ECHO)
  2156. @$(ECHO) GCC library..... $(GCCLIBDIR)
  2157. @$(ECHO) Other library... $(OTHERLIBDIR)
  2158. @$(ECHO)
  2159. @$(ECHO) == Tools info ==
  2160. @$(ECHO)
  2161. @$(ECHO) As........ $(AS)
  2162. @$(ECHO) Ld........ $(LD)
  2163. @$(ECHO) Ar........ $(AR)
  2164. @$(ECHO) Rc........ $(RC)
  2165. @$(ECHO)
  2166. @$(ECHO) Mv........ $(MVPROG)
  2167. @$(ECHO) Cp........ $(CPPROG)
  2168. @$(ECHO) Rm........ $(RMPROG)
  2169. @$(ECHO) GInstall.. $(GINSTALL)
  2170. @$(ECHO) Echo...... $(ECHO)
  2171. @$(ECHO) Shell..... $(SHELL)
  2172. @$(ECHO) Date...... $(DATE)
  2173. @$(ECHO) FPCMake... $(FPCMAKE)
  2174. @$(ECHO) PPUMove... $(PPUMOVE)
  2175. @$(ECHO) Upx....... $(UPXPROG)
  2176. @$(ECHO) Zip....... $(ZIPPROG)
  2177. @$(ECHO)
  2178. @$(ECHO) == Object info ==
  2179. @$(ECHO)
  2180. @$(ECHO) Target Loaders........ $(TARGET_LOADERS)
  2181. @$(ECHO) Target Units.......... $(TARGET_UNITS)
  2182. @$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS)
  2183. @$(ECHO) Target Programs....... $(TARGET_PROGRAMS)
  2184. @$(ECHO) Target Dirs........... $(TARGET_DIRS)
  2185. @$(ECHO) Target Examples....... $(TARGET_EXAMPLES)
  2186. @$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
  2187. @$(ECHO)
  2188. @$(ECHO) Clean Units......... $(CLEAN_UNITS)
  2189. @$(ECHO) Clean Files......... $(CLEAN_FILES)
  2190. @$(ECHO)
  2191. @$(ECHO) Install Units....... $(INSTALL_UNITS)
  2192. @$(ECHO) Install Files....... $(INSTALL_FILES)
  2193. @$(ECHO)
  2194. @$(ECHO) == Install info ==
  2195. @$(ECHO)
  2196. @$(ECHO) DateStr.............. $(DATESTR)
  2197. @$(ECHO) ZipName.............. $(ZIPNAME)
  2198. @$(ECHO) ZipPrefix............ $(ZIPPREFIX)
  2199. @$(ECHO) ZipCrossPrefix....... $(ZIPCROSSPREFIX)
  2200. @$(ECHO) ZipSuffix............ $(ZIPSUFFIX)
  2201. @$(ECHO) FullZipName.......... $(FULLZIPNAME)
  2202. @$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE)
  2203. @$(ECHO)
  2204. @$(ECHO) Install base dir..... $(INSTALL_BASEDIR)
  2205. @$(ECHO) Install binary dir... $(INSTALL_BINDIR)
  2206. @$(ECHO) Install library dir.. $(INSTALL_LIBDIR)
  2207. @$(ECHO) Install units dir.... $(INSTALL_UNITDIR)
  2208. @$(ECHO) Install source dir... $(INSTALL_SOURCEDIR)
  2209. @$(ECHO) Install doc dir...... $(INSTALL_DOCDIR)
  2210. @$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR)
  2211. @$(ECHO) Install data dir..... $(INSTALL_DATADIR)
  2212. @$(ECHO)
  2213. @$(ECHO) Dist destination dir. $(DIST_DESTDIR)
  2214. @$(ECHO) Dist zip name........ $(DIST_ZIPNAME)
  2215. @$(ECHO)
  2216. .PHONY: fpc_info
  2217. fpc_info: $(INFORULES)
  2218. .PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
  2219. fpc_makefile_dirs
  2220. fpc_makefile:
  2221. $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
  2222. fpc_makefile_sub1:
  2223. ifdef TARGET_DIRS
  2224. $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
  2225. endif
  2226. ifdef TARGET_EXAMPLEDIRS
  2227. $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
  2228. endif
  2229. fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
  2230. fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
  2231. fpc_makefiles: fpc_makefile fpc_makefile_dirs
  2232. all: fpc_all
  2233. debug: fpc_debug
  2234. smart: fpc_smart
  2235. release: fpc_release
  2236. units: fpc_units
  2237. examples:
  2238. shared: fpc_shared
  2239. install: fpc_install
  2240. sourceinstall: fpc_sourceinstall
  2241. exampleinstall: fpc_exampleinstall
  2242. distinstall:
  2243. zipinstall:
  2244. zipsourceinstall:
  2245. zipexampleinstall:
  2246. zipdistinstall:
  2247. clean: fpc_clean
  2248. distclean: fpc_distclean
  2249. cleanall: fpc_cleanall
  2250. info: fpc_info
  2251. makefiles: fpc_makefiles
  2252. .PHONY: all debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
  2253. ifneq ($(wildcard fpcmake.loc),)
  2254. include fpcmake.loc
  2255. endif
  2256. .NOTPARALLEL:
  2257. SYSTEMPPU=$(addsuffix $(PPUEXT),$(SYSTEMUNIT))
  2258. include $(INC)/makefile.inc
  2259. SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
  2260. include $(PROCINC)/makefile.cpu
  2261. SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
  2262. SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) winres.inc
  2263. $(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp $(SYSDEPS)
  2264. $(COMPILER) -Us -Sg $(SYSTEMUNIT).pp
  2265. objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT)
  2266. $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp
  2267. strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\
  2268. $(PROCINC)/strings.inc $(PROCINC)/stringss.inc\
  2269. $(SYSTEMUNIT)$(PPUEXT)
  2270. windows$(PPUEXT) : windows.pp $(WINDOWS_SOURCE_FILES) $(SYSTEMUNIT)$(PPUEXT)
  2271. $(COMPILER) -I$(WININC) windows.pp
  2272. messages$(PPUEXT): messages.pp $(WININC)/messages.inc windows$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  2273. $(COMPILER) -I$(WININC) messages.pp
  2274. winsock$(PPUEXT) : winsock.pp windows$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  2275. sockets$(PPUEXT) : sockets.pp windows$(PPUEXT) winsock$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2276. $(INC)/sockets.inc $(INC)/socketsh.inc
  2277. dynlibs$(PPUEXT) : $(INC)/dynlibs.pas windows$(PPUEXT)
  2278. dos$(PPUEXT) : dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) windows$(PPUEXT)
  2279. objects$(PPUEXT) : $(INC)/objects.pp $(SYSTEMUNIT)$(PPUEXT)
  2280. sysutils$(PPUEXT) : sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \
  2281. objpas$(PPUEXT) dos$(PPUEXT) windows$(PPUEXT) sysconst$(PPUEXT)
  2282. $(COMPILER) -Fi$(OBJPASDIR)/sysutils sysutils.pp
  2283. classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
  2284. sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) \
  2285. sysconst$(PPUEXT) fgl$(PPUEXT)
  2286. $(COMPILER) -Fi$(OBJPASDIR)/classes classes.pp
  2287. fgl$(PPUEXT) : $(OBJPASDIR)/fgl.pp objpas$(PPUEXT) types$(PPUEXT) system$(PPUEXT) sysutils$(PPUEXT)
  2288. $(COMPILER) $(OBJPASDIR)/fgl.pp
  2289. typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT)
  2290. $(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp
  2291. math$(PPUEXT): $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT)
  2292. $(COMPILER) $(OBJPASDIR)/math.pp
  2293. varutils$(PPUEXT) : $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \
  2294. $(OBJPASDIR)/varutilh.inc varutils.pp sysutils$(PPUEXT)
  2295. $(COMPILER) -Fi$(OBJPASDIR) varutils.pp
  2296. variants$(PPUEXT) : $(INC)/variants.pp varutils$(PPUEXT) sysutils$(PPUEXT) sysconst$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT)
  2297. $(COMPILER) -Fi$(INC) $(INC)/variants.pp
  2298. fmtbcd$(PPUEXT) : $(OBJPASDIR)/fmtbcd.pp objpas$(PPUEXT) sysutils$(PPUEXT) variants$(PPUEXT) classes$(PPUEXT) system$(PPUEXT)
  2299. $(COMPILER) $(OBJPASDIR)/fmtbcd.pp
  2300. types$(PPUEXT) : $(OBJPASDIR)/types.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  2301. $(COMPILER) $(OBJPASDIR)/types.pp
  2302. rtlconsts$(PPUEXT) : objpas$(PPUEXT) $(OBJPASDIR)/rtlconsts.pp
  2303. $(COMPILER) $(OBJPASDIR)/rtlconsts.pp
  2304. sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  2305. $(COMPILER) $(OBJPASDIR)/sysconst.pp
  2306. dateutils$(PPUEXT) : $(OBJPASDIR)/dateutils.pp
  2307. $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/dateutils.pp
  2308. convutils$(PPUEXT) : $(OBJPASDIR)/convutils.pp
  2309. $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/convutils.pp
  2310. strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp
  2311. $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/strutils.pp
  2312. macpas$(PPUEXT) : $(INC)/macpas.pp objpas$(PPUEXT) math$(PPUEXT)
  2313. $(COMPILER) $(INC)/macpas.pp $(REDIR)
  2314. getopts$(PPUEXT) : $(INC)/getopts.pp $(SYSTEMUNIT)$(PPUEXT)
  2315. heaptrc$(PPUEXT) : $(INC)/heaptrc.pp $(SYSTEMUNIT)$(PPUEXT)
  2316. $(COMPILER) -Sg $(INC)/heaptrc.pp
  2317. lineinfo$(PPUEXT) : $(INC)/lineinfo.pp windows$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  2318. lnfodwrf$(PPUEXT) : $(INC)/lnfodwrf.pp $(SYSTEMUNIT)$(PPUEXT)
  2319. charset$(PPUEXT) : $(INC)/charset.pp $(SYSTEMUNIT)$(PPUEXT)
  2320. cmem$(PPUEXT) : $(INC)/cmem.pp $(SYSTEMUNIT)$(PPUEXT)
  2321. ucomplex$(PPUEXT) : $(INC)/ucomplex.pp math$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  2322. ctypes$(PPUEXT) : $(INC)/ctypes.pp $(SYSTEMUNIT)$(PPUEXT)
  2323. sharemem$(PPUEXT) : $(WINDIR)/sharemem.pp system$(PPUEXT)
  2324. fpcmemdll.dll : $(WINDIR)/fpcmemdll.pp system$(PPUEXT)