Makefile 70 KB

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