Makefile 70 KB

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