Makefile 48 KB

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