Makefile 70 KB

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