Makefile 74 KB

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