Makefile 85 KB

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