Makefile 60 KB

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