Makefile 71 KB

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