Makefile 38 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529
  1. #
  2. # Don't edit, this file is generated by FPCMake Version 1.9.8 [2005/01/14]
  3. #
  4. default: all
  5. MAKEFILETARGETS=powerpc-darwin
  6. BSDs = freebsd netbsd openbsd darwin
  7. UNIXs = linux $(BSDs) sunos 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=darwin
  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. PROCINC=$(RTL)/$(CPU_TARGET)
  239. BSDINC=$(RTL)/bsd
  240. BSDPROCINC=$(BSDINC)/$(CPU_TARGET)
  241. OSPROCINC=$(RTL)/darwin/$(CPU_TARGET)
  242. UNIXINC=$(RTL)/unix
  243. UNITPREFIX=rtl
  244. ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
  245. SYSTEMUNIT=system
  246. override FPCOPT+=-dNOMOUSE
  247. else
  248. SYSTEMUNIT="Error: Darwin is not supported for 1.0"
  249. endif
  250. ifdef RELEASE
  251. override FPCOPT+=-Ur
  252. endif
  253. override FPCOPT+=-dFPC_USE_LIBC
  254. OBJPASDIR=$(RTL)/objpas
  255. GRAPHDIR=$(INC)/graph
  256. ifndef USELIBGGI
  257. USELIBGGI=NO
  258. endif
  259. ifeq ($(FULL_TARGET),powerpc-darwin)
  260. override TARGET_UNITS+=$(SYSTEMUNIT) unixtype ctypes objpas macpas strings sysctl baseunix unixutil unix initc cmem matrix dynlibs dos dl objects printer sockets sysutils typinfo systhrds classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconst
  261. endif
  262. ifeq ($(FULL_TARGET),powerpc-darwin)
  263. override TARGET_RSTS+=math varutils typinfo classes variants dateutils systhrds sysconst rtlconst
  264. endif
  265. override INSTALL_FPCPACKAGE=y
  266. ifeq ($(FULL_TARGET),powerpc-darwin)
  267. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  268. endif
  269. ifeq ($(FULL_TARGET),powerpc-darwin)
  270. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
  271. endif
  272. ifdef REQUIRE_UNITSDIR
  273. override UNITSDIR+=$(REQUIRE_UNITSDIR)
  274. endif
  275. ifdef REQUIRE_PACKAGESDIR
  276. override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
  277. endif
  278. ifdef ZIPINSTALL
  279. ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
  280. UNIXHier=1
  281. endif
  282. else
  283. ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),)
  284. UNIXHier=1
  285. endif
  286. endif
  287. ifndef INSTALL_PREFIX
  288. ifdef PREFIX
  289. INSTALL_PREFIX=$(PREFIX)
  290. endif
  291. endif
  292. ifndef INSTALL_PREFIX
  293. ifdef UNIXHier
  294. INSTALL_PREFIX=/usr/local
  295. else
  296. ifdef INSTALL_FPCPACKAGE
  297. INSTALL_BASEDIR:=/pp
  298. else
  299. INSTALL_BASEDIR:=/$(PACKAGE_NAME)
  300. endif
  301. endif
  302. endif
  303. export INSTALL_PREFIX
  304. ifdef INSTALL_FPCSUBDIR
  305. export INSTALL_FPCSUBDIR
  306. endif
  307. ifndef DIST_DESTDIR
  308. DIST_DESTDIR:=$(BASEDIR)
  309. endif
  310. export DIST_DESTDIR
  311. ifndef COMPILER_UNITTARGETDIR
  312. ifdef PACKAGEDIR_MAIN
  313. COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX)
  314. else
  315. COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX)
  316. endif
  317. endif
  318. ifndef COMPILER_TARGETDIR
  319. COMPILER_TARGETDIR=.
  320. endif
  321. ifndef INSTALL_BASEDIR
  322. ifdef UNIXHier
  323. ifdef INSTALL_FPCPACKAGE
  324. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
  325. else
  326. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
  327. endif
  328. else
  329. INSTALL_BASEDIR:=$(INSTALL_PREFIX)
  330. endif
  331. endif
  332. ifndef INSTALL_BINDIR
  333. ifdef UNIXHier
  334. INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
  335. else
  336. INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
  337. ifdef INSTALL_FPCPACKAGE
  338. ifdef CROSSCOMPILE
  339. ifdef CROSSINSTALL
  340. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX)
  341. else
  342. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
  343. endif
  344. else
  345. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
  346. endif
  347. endif
  348. endif
  349. endif
  350. ifndef INSTALL_UNITDIR
  351. INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX)
  352. ifdef INSTALL_FPCPACKAGE
  353. ifdef PACKAGE_NAME
  354. INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
  355. endif
  356. endif
  357. endif
  358. ifndef INSTALL_LIBDIR
  359. ifdef UNIXHier
  360. INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
  361. else
  362. INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
  363. endif
  364. endif
  365. ifndef INSTALL_SOURCEDIR
  366. ifdef UNIXHier
  367. ifdef BSDhier
  368. SRCPREFIXDIR=share/src
  369. else
  370. ifdef linuxHier
  371. SRCPREFIXDIR=share/src
  372. else
  373. SRCPREFIXDIR=src
  374. endif
  375. endif
  376. ifdef INSTALL_FPCPACKAGE
  377. ifdef INSTALL_FPCSUBDIR
  378. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
  379. else
  380. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  381. endif
  382. else
  383. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  384. endif
  385. else
  386. ifdef INSTALL_FPCPACKAGE
  387. ifdef INSTALL_FPCSUBDIR
  388. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
  389. else
  390. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
  391. endif
  392. else
  393. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
  394. endif
  395. endif
  396. endif
  397. ifndef INSTALL_DOCDIR
  398. ifdef UNIXHier
  399. ifdef BSDhier
  400. DOCPREFIXDIR=share/doc
  401. else
  402. ifdef linuxHier
  403. DOCPREFIXDIR=share/doc
  404. else
  405. DOCPREFIXDIR=doc
  406. endif
  407. endif
  408. ifdef INSTALL_FPCPACKAGE
  409. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  410. else
  411. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  412. endif
  413. else
  414. ifdef INSTALL_FPCPACKAGE
  415. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
  416. else
  417. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
  418. endif
  419. endif
  420. endif
  421. ifndef INSTALL_EXAMPLEDIR
  422. ifdef UNIXHier
  423. ifdef INSTALL_FPCPACKAGE
  424. ifdef BSDhier
  425. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  426. else
  427. ifdef linuxHier
  428. INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
  429. else
  430. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
  431. endif
  432. endif
  433. else
  434. ifdef BSDhier
  435. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  436. else
  437. ifdef linuxHier
  438. INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  439. else
  440. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  441. endif
  442. endif
  443. endif
  444. else
  445. ifdef INSTALL_FPCPACKAGE
  446. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
  447. else
  448. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
  449. endif
  450. endif
  451. endif
  452. ifndef INSTALL_DATADIR
  453. INSTALL_DATADIR=$(INSTALL_BASEDIR)
  454. endif
  455. ifdef CROSSCOMPILE
  456. ifndef CROSSBINDIR
  457. CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
  458. ifeq ($(CROSSBINDIR),)
  459. CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE))
  460. endif
  461. endif
  462. else
  463. CROSSBINDIR=
  464. endif
  465. BATCHEXT=.bat
  466. LOADEREXT=.as
  467. EXEEXT=.exe
  468. PPLEXT=.ppl
  469. PPUEXT=.ppu
  470. OEXT=.o
  471. ASMEXT=.s
  472. SMARTEXT=.sl
  473. STATICLIBEXT=.a
  474. SHAREDLIBEXT=.so
  475. STATICLIBPREFIX=libp
  476. RSTEXT=.rst
  477. ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
  478. ifeq ($(OS_TARGET),go32v1)
  479. STATICLIBPREFIX=
  480. SHORTSUFFIX=v1
  481. endif
  482. ifeq ($(OS_TARGET),go32v2)
  483. STATICLIBPREFIX=
  484. SHORTSUFFIX=dos
  485. endif
  486. ifeq ($(OS_TARGET),watcom)
  487. STATICLIBPREFIX=
  488. OEXT=.obj
  489. ASMEXT=.asm
  490. SHAREDLIBEXT=.dll
  491. SHORTSUFFIX=wat
  492. endif
  493. ifeq ($(OS_TARGET),linux)
  494. BATCHEXT=.sh
  495. EXEEXT=
  496. HASSHAREDLIB=1
  497. SHORTSUFFIX=lnx
  498. endif
  499. ifeq ($(OS_TARGET),freebsd)
  500. BATCHEXT=.sh
  501. EXEEXT=
  502. HASSHAREDLIB=1
  503. SHORTSUFFIX=fbs
  504. endif
  505. ifeq ($(OS_TARGET),netbsd)
  506. BATCHEXT=.sh
  507. EXEEXT=
  508. HASSHAREDLIB=1
  509. SHORTSUFFIX=nbs
  510. endif
  511. ifeq ($(OS_TARGET),openbsd)
  512. BATCHEXT=.sh
  513. EXEEXT=
  514. HASSHAREDLIB=1
  515. SHORTSUFFIX=obs
  516. endif
  517. ifeq ($(OS_TARGET),win32)
  518. SHAREDLIBEXT=.dll
  519. SHORTSUFFIX=w32
  520. endif
  521. ifeq ($(OS_TARGET),os2)
  522. BATCHEXT=.cmd
  523. AOUTEXT=.out
  524. STATICLIBPREFIX=
  525. SHAREDLIBEXT=.dll
  526. SHORTSUFFIX=os2
  527. ECHO=echo
  528. endif
  529. ifeq ($(OS_TARGET),emx)
  530. BATCHEXT=.cmd
  531. AOUTEXT=.out
  532. STATICLIBPREFIX=
  533. SHAREDLIBEXT=.dll
  534. SHORTSUFFIX=emx
  535. ECHO=echo
  536. endif
  537. ifeq ($(OS_TARGET),amiga)
  538. EXEEXT=
  539. SHAREDLIBEXT=.library
  540. SHORTSUFFIX=amg
  541. endif
  542. ifeq ($(OS_TARGET),morphos)
  543. EXEEXT=
  544. SHAREDLIBEXT=.library
  545. SHORTSUFFIX=mos
  546. endif
  547. ifeq ($(OS_TARGET),atari)
  548. EXEEXT=.ttp
  549. SHORTSUFFIX=ata
  550. endif
  551. ifeq ($(OS_TARGET),beos)
  552. BATCHEXT=.sh
  553. EXEEXT=
  554. SHORTSUFFIX=be
  555. endif
  556. ifeq ($(OS_TARGET),sunos)
  557. BATCHEXT=.sh
  558. EXEEXT=
  559. SHORTSUFFIX=sun
  560. endif
  561. ifeq ($(OS_TARGET),qnx)
  562. BATCHEXT=.sh
  563. EXEEXT=
  564. SHORTSUFFIX=qnx
  565. endif
  566. ifeq ($(OS_TARGET),netware)
  567. EXEEXT=.nlm
  568. STATICLIBPREFIX=
  569. SHORTSUFFIX=nw
  570. endif
  571. ifeq ($(OS_TARGET),netwlibc)
  572. EXEEXT=.nlm
  573. STATICLIBPREFIX=
  574. SHORTSUFFIX=nwl
  575. endif
  576. ifeq ($(OS_TARGET),macos)
  577. BATCHEXT=
  578. EXEEXT=
  579. DEBUGSYMEXT=.xcoff
  580. SHORTSUFFIX=mac
  581. endif
  582. ifeq ($(OS_TARGET),darwin)
  583. BATCHEXT=.sh
  584. EXEEXT=
  585. HASSHAREDLIB=1
  586. SHORTSUFFIX=dwn
  587. endif
  588. else
  589. ifeq ($(OS_TARGET),go32v1)
  590. PPUEXT=.pp1
  591. OEXT=.o1
  592. ASMEXT=.s1
  593. SMARTEXT=.sl1
  594. STATICLIBEXT=.a1
  595. SHAREDLIBEXT=.so1
  596. STATICLIBPREFIX=
  597. SHORTSUFFIX=v1
  598. endif
  599. ifeq ($(OS_TARGET),go32v2)
  600. STATICLIBPREFIX=
  601. SHORTSUFFIX=dos
  602. endif
  603. ifeq ($(OS_TARGET),watcom)
  604. STATICLIBPREFIX=
  605. SHORTSUFFIX=wat
  606. endif
  607. ifeq ($(OS_TARGET),linux)
  608. BATCHEXT=.sh
  609. EXEEXT=
  610. HASSHAREDLIB=1
  611. SHORTSUFFIX=lnx
  612. endif
  613. ifeq ($(OS_TARGET),freebsd)
  614. BATCHEXT=.sh
  615. EXEEXT=
  616. HASSHAREDLIB=1
  617. SHORTSUFFIX=fbs
  618. endif
  619. ifeq ($(OS_TARGET),netbsd)
  620. BATCHEXT=.sh
  621. EXEEXT=
  622. HASSHAREDLIB=1
  623. SHORTSUFFIX=nbs
  624. endif
  625. ifeq ($(OS_TARGET),openbsd)
  626. BATCHEXT=.sh
  627. EXEEXT=
  628. HASSHAREDLIB=1
  629. SHORTSUFFIX=obs
  630. endif
  631. ifeq ($(OS_TARGET),win32)
  632. PPUEXT=.ppw
  633. OEXT=.ow
  634. ASMEXT=.sw
  635. SMARTEXT=.slw
  636. STATICLIBEXT=.aw
  637. SHAREDLIBEXT=.dll
  638. SHORTSUFFIX=w32
  639. endif
  640. ifeq ($(OS_TARGET),os2)
  641. BATCHEXT=.cmd
  642. PPUEXT=.ppo
  643. ASMEXT=.so2
  644. OEXT=.oo2
  645. AOUTEXT=.out
  646. SMARTEXT=.sl2
  647. STATICLIBPREFIX=
  648. STATICLIBEXT=.ao2
  649. SHAREDLIBEXT=.dll
  650. SHORTSUFFIX=os2
  651. ECHO=echo
  652. endif
  653. ifeq ($(OS_TARGET),amiga)
  654. EXEEXT=
  655. PPUEXT=.ppu
  656. ASMEXT=.asm
  657. OEXT=.o
  658. SMARTEXT=.sl
  659. STATICLIBEXT=.a
  660. SHAREDLIBEXT=.library
  661. SHORTSUFFIX=amg
  662. endif
  663. ifeq ($(OS_TARGET),atari)
  664. PPUEXT=.ppu
  665. ASMEXT=.s
  666. OEXT=.o
  667. SMARTEXT=.sl
  668. STATICLIBEXT=.a
  669. EXEEXT=.ttp
  670. SHORTSUFFIX=ata
  671. endif
  672. ifeq ($(OS_TARGET),beos)
  673. BATCHEXT=.sh
  674. PPUEXT=.ppu
  675. ASMEXT=.s
  676. OEXT=.o
  677. SMARTEXT=.sl
  678. STATICLIBEXT=.a
  679. EXEEXT=
  680. SHORTSUFFIX=be
  681. endif
  682. ifeq ($(OS_TARGET),sunos)
  683. BATCHEXT=.sh
  684. PPUEXT=.ppu
  685. ASMEXT=.s
  686. OEXT=.o
  687. SMARTEXT=.sl
  688. STATICLIBEXT=.a
  689. EXEEXT=
  690. SHORTSUFFIX=sun
  691. endif
  692. ifeq ($(OS_TARGET),qnx)
  693. BATCHEXT=.sh
  694. PPUEXT=.ppu
  695. ASMEXT=.s
  696. OEXT=.o
  697. SMARTEXT=.sl
  698. STATICLIBEXT=.a
  699. EXEEXT=
  700. SHORTSUFFIX=qnx
  701. endif
  702. ifeq ($(OS_TARGET),netware)
  703. STATICLIBPREFIX=
  704. PPUEXT=.ppu
  705. OEXT=.o
  706. ASMEXT=.s
  707. SMARTEXT=.sl
  708. STATICLIBEXT=.a
  709. SHAREDLIBEXT=.nlm
  710. EXEEXT=.nlm
  711. SHORTSUFFIX=nw
  712. endif
  713. ifeq ($(OS_TARGET),netwlibc)
  714. STATICLIBPREFIX=
  715. PPUEXT=.ppu
  716. OEXT=.o
  717. ASMEXT=.s
  718. SMARTEXT=.sl
  719. STATICLIBEXT=.a
  720. SHAREDLIBEXT=.nlm
  721. EXEEXT=.nlm
  722. SHORTSUFFIX=nwl
  723. endif
  724. ifeq ($(OS_TARGET),macos)
  725. BATCHEXT=
  726. PPUEXT=.ppu
  727. ASMEXT=.s
  728. OEXT=.o
  729. SMARTEXT=.sl
  730. STATICLIBEXT=.a
  731. EXEEXT=
  732. DEBUGSYMEXT=.xcoff
  733. SHORTSUFFIX=mac
  734. endif
  735. endif
  736. ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
  737. FPCMADE=fpcmade.$(SHORTSUFFIX)
  738. ZIPSUFFIX=$(SHORTSUFFIX)
  739. ZIPCROSSPREFIX=
  740. ZIPSOURCESUFFIX=src
  741. ZIPEXAMPLESUFFIX=exm
  742. else
  743. FPCMADE=fpcmade.$(TARGETSUFFIX)
  744. ZIPSOURCESUFFIX=.source
  745. ZIPEXAMPLESUFFIX=.examples
  746. ifdef CROSSCOMPILE
  747. ZIPSUFFIX=.$(SOURCESUFFIX)
  748. ZIPCROSSPREFIX=$(TARGETSUFFIX)-
  749. else
  750. ZIPSUFFIX=.$(TARGETSUFFIX)
  751. ZIPCROSSPREFIX=
  752. endif
  753. endif
  754. ifndef ECHO
  755. ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
  756. ifeq ($(ECHO),)
  757. ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
  758. ifeq ($(ECHO),)
  759. ECHO= __missing_command_ECHO
  760. else
  761. ECHO:=$(firstword $(ECHO))
  762. endif
  763. else
  764. ECHO:=$(firstword $(ECHO))
  765. endif
  766. endif
  767. export ECHO
  768. ifndef DATE
  769. DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
  770. ifeq ($(DATE),)
  771. DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
  772. ifeq ($(DATE),)
  773. DATE= __missing_command_DATE
  774. else
  775. DATE:=$(firstword $(DATE))
  776. endif
  777. else
  778. DATE:=$(firstword $(DATE))
  779. endif
  780. endif
  781. export DATE
  782. ifndef GINSTALL
  783. GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
  784. ifeq ($(GINSTALL),)
  785. GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
  786. ifeq ($(GINSTALL),)
  787. GINSTALL= __missing_command_GINSTALL
  788. else
  789. GINSTALL:=$(firstword $(GINSTALL))
  790. endif
  791. else
  792. GINSTALL:=$(firstword $(GINSTALL))
  793. endif
  794. endif
  795. export GINSTALL
  796. ifndef CPPROG
  797. CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
  798. ifeq ($(CPPROG),)
  799. CPPROG= __missing_command_CPPROG
  800. else
  801. CPPROG:=$(firstword $(CPPROG))
  802. endif
  803. endif
  804. export CPPROG
  805. ifndef RMPROG
  806. RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
  807. ifeq ($(RMPROG),)
  808. RMPROG= __missing_command_RMPROG
  809. else
  810. RMPROG:=$(firstword $(RMPROG))
  811. endif
  812. endif
  813. export RMPROG
  814. ifndef MVPROG
  815. MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
  816. ifeq ($(MVPROG),)
  817. MVPROG= __missing_command_MVPROG
  818. else
  819. MVPROG:=$(firstword $(MVPROG))
  820. endif
  821. endif
  822. export MVPROG
  823. ifndef MKDIRPROG
  824. MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH))))
  825. ifeq ($(MKDIRPROG),)
  826. MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH))))
  827. ifeq ($(MKDIRPROG),)
  828. MKDIRPROG= __missing_command_MKDIRPROG
  829. else
  830. MKDIRPROG:=$(firstword $(MKDIRPROG))
  831. endif
  832. else
  833. MKDIRPROG:=$(firstword $(MKDIRPROG))
  834. endif
  835. endif
  836. export MKDIRPROG
  837. ifndef ECHOREDIR
  838. ifndef inUnix
  839. ECHOREDIR=echo
  840. else
  841. ECHOREDIR=$(ECHO)
  842. endif
  843. endif
  844. ifndef COPY
  845. COPY:=$(CPPROG) -fp
  846. endif
  847. ifndef COPYTREE
  848. COPYTREE:=$(CPPROG) -Rfp
  849. endif
  850. ifndef MKDIRTREE
  851. MKDIRTREE:=$(MKDIRPROG) -p
  852. endif
  853. ifndef MOVE
  854. MOVE:=$(MVPROG) -f
  855. endif
  856. ifndef DEL
  857. DEL:=$(RMPROG) -f
  858. endif
  859. ifndef DELTREE
  860. DELTREE:=$(RMPROG) -rf
  861. endif
  862. ifndef INSTALL
  863. ifdef inUnix
  864. INSTALL:=$(GINSTALL) -c -m 644
  865. else
  866. INSTALL:=$(COPY)
  867. endif
  868. endif
  869. ifndef INSTALLEXE
  870. ifdef inUnix
  871. INSTALLEXE:=$(GINSTALL) -c -m 755
  872. else
  873. INSTALLEXE:=$(COPY)
  874. endif
  875. endif
  876. ifndef MKDIR
  877. MKDIR:=$(GINSTALL) -m 755 -d
  878. endif
  879. export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
  880. ifndef PPUMOVE
  881. PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
  882. ifeq ($(PPUMOVE),)
  883. PPUMOVE= __missing_command_PPUMOVE
  884. else
  885. PPUMOVE:=$(firstword $(PPUMOVE))
  886. endif
  887. endif
  888. export PPUMOVE
  889. ifndef FPCMAKE
  890. FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
  891. ifeq ($(FPCMAKE),)
  892. FPCMAKE= __missing_command_FPCMAKE
  893. else
  894. FPCMAKE:=$(firstword $(FPCMAKE))
  895. endif
  896. endif
  897. export FPCMAKE
  898. ifndef ZIPPROG
  899. ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
  900. ifeq ($(ZIPPROG),)
  901. ZIPPROG= __missing_command_ZIPPROG
  902. else
  903. ZIPPROG:=$(firstword $(ZIPPROG))
  904. endif
  905. endif
  906. export ZIPPROG
  907. ifndef TARPROG
  908. TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
  909. ifeq ($(TARPROG),)
  910. TARPROG= __missing_command_TARPROG
  911. else
  912. TARPROG:=$(firstword $(TARPROG))
  913. endif
  914. endif
  915. export TARPROG
  916. ASNAME=$(BINUTILSPREFIX)as
  917. LDNAME=$(BINUTILSPREFIX)ld
  918. ARNAME=$(BINUTILSPREFIX)ar
  919. RCNAME=$(BINUTILSPREFIX)rc
  920. ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
  921. ifeq ($(OS_TARGET),win32)
  922. ifeq ($(CROSSBINDIR),)
  923. ASNAME=asw
  924. LDNAME=ldw
  925. ARNAME=arw
  926. endif
  927. endif
  928. endif
  929. ifndef ASPROG
  930. ifdef CROSSBINDIR
  931. ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
  932. else
  933. ASPROG=$(ASNAME)
  934. endif
  935. endif
  936. ifndef LDPROG
  937. ifdef CROSSBINDIR
  938. LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
  939. else
  940. LDPROG=$(LDNAME)
  941. endif
  942. endif
  943. ifndef RCPROG
  944. ifdef CROSSBINDIR
  945. RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
  946. else
  947. RCPROG=$(RCNAME)
  948. endif
  949. endif
  950. ifndef ARPROG
  951. ifdef CROSSBINDIR
  952. ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
  953. else
  954. ARPROG=$(ARNAME)
  955. endif
  956. endif
  957. AS=$(ASPROG)
  958. LD=$(LDPROG)
  959. RC=$(RCPROG)
  960. AR=$(ARPROG)
  961. PPAS=ppas$(SRCBATCHEXT)
  962. ifdef inUnix
  963. LDCONFIG=ldconfig
  964. else
  965. LDCONFIG=
  966. endif
  967. ifdef DATE
  968. DATESTR:=$(shell $(DATE) +%Y%m%d)
  969. else
  970. DATESTR=
  971. endif
  972. ifndef UPXPROG
  973. ifeq ($(OS_TARGET),go32v2)
  974. UPXPROG:=1
  975. endif
  976. ifeq ($(OS_TARGET),win32)
  977. UPXPROG:=1
  978. endif
  979. ifdef UPXPROG
  980. UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
  981. ifeq ($(UPXPROG),)
  982. UPXPROG=
  983. else
  984. UPXPROG:=$(firstword $(UPXPROG))
  985. endif
  986. else
  987. UPXPROG=
  988. endif
  989. endif
  990. export UPXPROG
  991. ZIPOPT=-9
  992. ZIPEXT=.zip
  993. ifeq ($(USETAR),bz2)
  994. TAROPT=vI
  995. TAREXT=.tar.bz2
  996. else
  997. TAROPT=vz
  998. TAREXT=.tar.gz
  999. endif
  1000. ifndef NOCPUDEF
  1001. override FPCOPTDEF=$(CPU_TARGET)
  1002. endif
  1003. ifneq ($(OS_TARGET),$(OS_SOURCE))
  1004. override FPCOPT+=-T$(OS_TARGET)
  1005. endif
  1006. ifeq ($(OS_SOURCE),openbsd)
  1007. override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
  1008. endif
  1009. ifndef CROSSBOOTSTRAP
  1010. ifneq ($(BINUTILSPREFIX),)
  1011. override FPCOPT+=-XP$(BINUTILSPREFIX) -Xc
  1012. endif
  1013. ifneq ($(BINUTILSPREFIX),)
  1014. override FPCOPT+=-Xr$(RLINKPATH)
  1015. endif
  1016. endif
  1017. ifdef UNITDIR
  1018. override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
  1019. endif
  1020. ifdef LIBDIR
  1021. override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
  1022. endif
  1023. ifdef OBJDIR
  1024. override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
  1025. endif
  1026. ifdef INCDIR
  1027. override FPCOPT+=$(addprefix -Fi,$(INCDIR))
  1028. endif
  1029. ifdef LINKSMART
  1030. override FPCOPT+=-XX
  1031. endif
  1032. ifdef CREATESMART
  1033. override FPCOPT+=-CX
  1034. endif
  1035. ifdef DEBUG
  1036. override FPCOPT+=-gl
  1037. override FPCOPTDEF+=DEBUG
  1038. endif
  1039. ifdef RELEASE
  1040. ifeq ($(CPU_TARGET),i386)
  1041. FPCCPUOPT:=-OG2p3
  1042. else
  1043. ifeq ($(CPU_TARGET),powerpc)
  1044. FPCCPUOPT:=-O1
  1045. else
  1046. FPCCPUOPT:=
  1047. endif
  1048. endif
  1049. override FPCOPT+=-Xs $(FPCCPUOPT) -n
  1050. override FPCOPTDEF+=RELEASE
  1051. endif
  1052. ifdef STRIP
  1053. override FPCOPT+=-Xs
  1054. endif
  1055. ifdef OPTIMIZE
  1056. ifeq ($(CPU_TARGET),i386)
  1057. override FPCOPT+=-OG2p3
  1058. endif
  1059. endif
  1060. ifdef VERBOSE
  1061. override FPCOPT+=-vwni
  1062. endif
  1063. ifdef COMPILER_OPTIONS
  1064. override FPCOPT+=$(COMPILER_OPTIONS)
  1065. endif
  1066. ifdef COMPILER_UNITDIR
  1067. override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
  1068. endif
  1069. ifdef COMPILER_LIBRARYDIR
  1070. override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
  1071. endif
  1072. ifdef COMPILER_OBJECTDIR
  1073. override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
  1074. endif
  1075. ifdef COMPILER_INCLUDEDIR
  1076. override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
  1077. endif
  1078. ifdef CROSSBINDIR
  1079. override FPCOPT+=-FD$(CROSSBINDIR)
  1080. endif
  1081. ifdef COMPILER_TARGETDIR
  1082. override FPCOPT+=-FE$(COMPILER_TARGETDIR)
  1083. ifeq ($(COMPILER_TARGETDIR),.)
  1084. override TARGETDIRPREFIX=
  1085. else
  1086. override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
  1087. endif
  1088. endif
  1089. ifdef COMPILER_UNITTARGETDIR
  1090. override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
  1091. ifeq ($(COMPILER_UNITTARGETDIR),.)
  1092. override UNITTARGETDIRPREFIX=
  1093. else
  1094. override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
  1095. endif
  1096. else
  1097. ifdef COMPILER_TARGETDIR
  1098. override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
  1099. override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
  1100. endif
  1101. endif
  1102. ifeq ($(OS_TARGET),linux)
  1103. ifeq ($(FPC_VERSION),1.0.6)
  1104. override FPCOPTDEF+=HASUNIX
  1105. endif
  1106. endif
  1107. ifdef OPT
  1108. override FPCOPT+=$(OPT)
  1109. endif
  1110. ifdef FPCOPTDEF
  1111. override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
  1112. endif
  1113. ifdef CFGFILE
  1114. override FPCOPT+=@$(CFGFILE)
  1115. endif
  1116. ifdef USEENV
  1117. override FPCEXTCMD:=$(FPCOPT)
  1118. override FPCOPT:=!FPCEXTCMD
  1119. export FPCEXTCMD
  1120. endif
  1121. override COMPILER:=$(FPC) $(FPCOPT)
  1122. ifeq (,$(findstring -s ,$(COMPILER)))
  1123. EXECPPAS=
  1124. else
  1125. ifeq ($(FULL_SOURCE),$(FULL_TARGET))
  1126. EXECPPAS:=@$(PPAS)
  1127. endif
  1128. endif
  1129. .PHONY: fpc_units
  1130. ifneq ($(TARGET_UNITS),)
  1131. override ALLTARGET+=fpc_units
  1132. override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS))
  1133. override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS))
  1134. override INSTALLPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
  1135. override CLEANPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
  1136. endif
  1137. fpc_units: $(COMPILER_UNITTARGETDIR) $(UNITPPUFILES)
  1138. ifdef TARGET_RSTS
  1139. override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
  1140. override CLEANRSTFILES+=$(RSTFILES)
  1141. endif
  1142. .PHONY: fpc_all fpc_smart fpc_debug fpc_release
  1143. $(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
  1144. @$(ECHOREDIR) Compiled > $(FPCMADE)
  1145. fpc_all: $(FPCMADE)
  1146. fpc_smart:
  1147. $(MAKE) all LINKSMART=1 CREATESMART=1
  1148. fpc_debug:
  1149. $(MAKE) all DEBUG=1
  1150. fpc_release:
  1151. $(MAKE) all RELEASE=1
  1152. .SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res
  1153. $(COMPILER_UNITTARGETDIR):
  1154. $(MKDIRTREE) $(COMPILER_UNITTARGETDIR)
  1155. $(COMPILER_TARGETDIR):
  1156. $(MKDIRTREE) $(COMPILER_TARGETDIR)
  1157. %$(PPUEXT): %.pp
  1158. $(COMPILER) $<
  1159. $(EXECPPAS)
  1160. %$(PPUEXT): %.pas
  1161. $(COMPILER) $<
  1162. $(EXECPPAS)
  1163. %$(EXEEXT): %.pp
  1164. $(COMPILER) $<
  1165. $(EXECPPAS)
  1166. %$(EXEEXT): %.pas
  1167. $(COMPILER) $<
  1168. $(EXECPPAS)
  1169. %$(EXEEXT): %.lpr
  1170. $(COMPILER) $<
  1171. $(EXECPPAS)
  1172. %$(EXEEXT): %.dpr
  1173. $(COMPILER) $<
  1174. $(EXECPPAS)
  1175. %.res: %.rc
  1176. windres -i $< -o $@
  1177. vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1178. vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1179. vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1180. vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1181. vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
  1182. vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
  1183. .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
  1184. ifdef INSTALL_UNITS
  1185. override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
  1186. endif
  1187. ifdef INSTALL_BUILDUNIT
  1188. override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
  1189. endif
  1190. ifdef INSTALLPPUFILES
  1191. override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
  1192. override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILES))
  1193. override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPULINKFILES)))
  1194. override INSTALL_CREATEPACKAGEFPC=1
  1195. endif
  1196. ifdef INSTALLEXEFILES
  1197. override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(INSTALLEXEFILES))
  1198. endif
  1199. fpc_install: all $(INSTALLTARGET)
  1200. ifdef INSTALLEXEFILES
  1201. $(MKDIR) $(INSTALL_BINDIR)
  1202. ifdef UPXPROG
  1203. -$(UPXPROG) $(INSTALLEXEFILES)
  1204. endif
  1205. $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
  1206. endif
  1207. ifdef INSTALL_CREATEPACKAGEFPC
  1208. ifdef FPCMAKE
  1209. ifdef PACKAGE_VERSION
  1210. ifneq ($(wildcard Makefile.fpc),)
  1211. $(FPCMAKE) -p -T$(OS_TARGET) Makefile.fpc
  1212. $(MKDIR) $(INSTALL_UNITDIR)
  1213. $(INSTALL) Package.fpc $(INSTALL_UNITDIR)
  1214. endif
  1215. endif
  1216. endif
  1217. endif
  1218. ifdef INSTALLPPUFILES
  1219. $(MKDIR) $(INSTALL_UNITDIR)
  1220. $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
  1221. ifneq ($(INSTALLPPULINKFILES),)
  1222. $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
  1223. endif
  1224. ifneq ($(wildcard $(LIB_FULLNAME)),)
  1225. $(MKDIR) $(INSTALL_LIBDIR)
  1226. $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
  1227. ifdef inUnix
  1228. ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
  1229. endif
  1230. endif
  1231. endif
  1232. ifdef INSTALL_FILES
  1233. $(MKDIR) $(INSTALL_DATADIR)
  1234. $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
  1235. endif
  1236. fpc_sourceinstall: distclean
  1237. $(MKDIR) $(INSTALL_SOURCEDIR)
  1238. $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
  1239. fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
  1240. ifdef HASEXAMPLES
  1241. $(MKDIR) $(INSTALL_EXAMPLEDIR)
  1242. endif
  1243. ifdef EXAMPLESOURCEFILES
  1244. $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
  1245. endif
  1246. ifdef TARGET_EXAMPLEDIRS
  1247. $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
  1248. endif
  1249. .PHONY: fpc_clean fpc_cleanall fpc_distclean
  1250. ifdef EXEFILES
  1251. override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
  1252. endif
  1253. ifdef CLEAN_UNITS
  1254. override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
  1255. endif
  1256. ifdef CLEANPPUFILES
  1257. override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
  1258. ifdef DEBUGSYMEXT
  1259. override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
  1260. endif
  1261. override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
  1262. override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
  1263. endif
  1264. fpc_clean: $(CLEANTARGET)
  1265. ifdef CLEANEXEFILES
  1266. -$(DEL) $(CLEANEXEFILES)
  1267. endif
  1268. ifdef CLEANPPUFILES
  1269. -$(DEL) $(CLEANPPUFILES)
  1270. endif
  1271. ifneq ($(CLEANPPULINKFILES),)
  1272. -$(DEL) $(CLEANPPULINKFILES)
  1273. endif
  1274. ifdef CLEANRSTFILES
  1275. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  1276. endif
  1277. ifdef CLEAN_FILES
  1278. -$(DEL) $(CLEAN_FILES)
  1279. endif
  1280. ifdef LIB_NAME
  1281. -$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
  1282. endif
  1283. -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
  1284. -$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
  1285. fpc_cleanall: $(CLEANTARGET)
  1286. ifdef CLEANEXEFILES
  1287. -$(DEL) $(CLEANEXEFILES)
  1288. endif
  1289. ifdef COMPILER_UNITTARGETDIR
  1290. ifdef CLEANPPUFILES
  1291. -$(DEL) $(CLEANPPUFILES)
  1292. endif
  1293. ifneq ($(CLEANPPULINKFILES),)
  1294. -$(DEL) $(CLEANPPULINKFILES)
  1295. endif
  1296. ifdef CLEANRSTFILES
  1297. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  1298. endif
  1299. endif
  1300. -$(DELTREE) units
  1301. -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
  1302. ifneq ($(PPUEXT),.ppu)
  1303. -$(DEL) *.o *.ppu *.a
  1304. endif
  1305. -$(DELTREE) *$(SMARTEXT)
  1306. -$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
  1307. -$(DEL) *_ppas$(BATCHEXT)
  1308. ifdef AOUTEXT
  1309. -$(DEL) *$(AOUTEXT)
  1310. endif
  1311. ifdef DEBUGSYMEXT
  1312. -$(DEL) *$(DEBUGSYMEXT)
  1313. endif
  1314. fpc_distclean: cleanall
  1315. .PHONY: fpc_baseinfo
  1316. override INFORULES+=fpc_baseinfo
  1317. fpc_baseinfo:
  1318. @$(ECHO)
  1319. @$(ECHO) == Package info ==
  1320. @$(ECHO) Package Name..... $(PACKAGE_NAME)
  1321. @$(ECHO) Package Version.. $(PACKAGE_VERSION)
  1322. @$(ECHO)
  1323. @$(ECHO) == Configuration info ==
  1324. @$(ECHO)
  1325. @$(ECHO) FPC.......... $(FPC)
  1326. @$(ECHO) FPC Version.. $(FPC_VERSION)
  1327. @$(ECHO) Source CPU... $(CPU_SOURCE)
  1328. @$(ECHO) Target CPU... $(CPU_TARGET)
  1329. @$(ECHO) Source OS.... $(OS_SOURCE)
  1330. @$(ECHO) Target OS.... $(OS_TARGET)
  1331. @$(ECHO) Full Source.. $(FULL_SOURCE)
  1332. @$(ECHO) Full Target.. $(FULL_TARGET)
  1333. @$(ECHO) SourceSuffix. $(SOURCESUFFIX)
  1334. @$(ECHO) TargetSuffix. $(TARGETSUFFIX)
  1335. @$(ECHO)
  1336. @$(ECHO) == Directory info ==
  1337. @$(ECHO)
  1338. @$(ECHO) Required pkgs... $(REQUIRE_PACKAGES)
  1339. @$(ECHO)
  1340. @$(ECHO) Basedir......... $(BASEDIR)
  1341. @$(ECHO) FPCDir.......... $(FPCDIR)
  1342. @$(ECHO) CrossBinDir..... $(CROSSBINDIR)
  1343. @$(ECHO) UnitsDir........ $(UNITSDIR)
  1344. @$(ECHO) PackagesDir..... $(PACKAGESDIR)
  1345. @$(ECHO)
  1346. @$(ECHO) GCC library..... $(GCCLIBDIR)
  1347. @$(ECHO) Other library... $(OTHERLIBDIR)
  1348. @$(ECHO)
  1349. @$(ECHO) == Tools info ==
  1350. @$(ECHO)
  1351. @$(ECHO) As........ $(AS)
  1352. @$(ECHO) Ld........ $(LD)
  1353. @$(ECHO) Ar........ $(AR)
  1354. @$(ECHO) Rc........ $(RC)
  1355. @$(ECHO)
  1356. @$(ECHO) Mv........ $(MVPROG)
  1357. @$(ECHO) Cp........ $(CPPROG)
  1358. @$(ECHO) Rm........ $(RMPROG)
  1359. @$(ECHO) GInstall.. $(GINSTALL)
  1360. @$(ECHO) Echo...... $(ECHO)
  1361. @$(ECHO) Shell..... $(SHELL)
  1362. @$(ECHO) Date...... $(DATE)
  1363. @$(ECHO) FPCMake... $(FPCMAKE)
  1364. @$(ECHO) PPUMove... $(PPUMOVE)
  1365. @$(ECHO) Upx....... $(UPXPROG)
  1366. @$(ECHO) Zip....... $(ZIPPROG)
  1367. @$(ECHO)
  1368. @$(ECHO) == Object info ==
  1369. @$(ECHO)
  1370. @$(ECHO) Target Loaders........ $(TARGET_LOADERS)
  1371. @$(ECHO) Target Units.......... $(TARGET_UNITS)
  1372. @$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS)
  1373. @$(ECHO) Target Programs....... $(TARGET_PROGRAMS)
  1374. @$(ECHO) Target Dirs........... $(TARGET_DIRS)
  1375. @$(ECHO) Target Examples....... $(TARGET_EXAMPLES)
  1376. @$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
  1377. @$(ECHO)
  1378. @$(ECHO) Clean Units......... $(CLEAN_UNITS)
  1379. @$(ECHO) Clean Files......... $(CLEAN_FILES)
  1380. @$(ECHO)
  1381. @$(ECHO) Install Units....... $(INSTALL_UNITS)
  1382. @$(ECHO) Install Files....... $(INSTALL_FILES)
  1383. @$(ECHO)
  1384. @$(ECHO) == Install info ==
  1385. @$(ECHO)
  1386. @$(ECHO) DateStr.............. $(DATESTR)
  1387. @$(ECHO) ZipName.............. $(ZIPNAME)
  1388. @$(ECHO) ZipPrefix............ $(ZIPPREFIX)
  1389. @$(ECHO) ZipCrossPrefix....... $(ZIPCROSSPREFIX)
  1390. @$(ECHO) ZipSuffix............ $(ZIPSUFFIX)
  1391. @$(ECHO) FullZipName.......... $(FULLZIPNAME)
  1392. @$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE)
  1393. @$(ECHO)
  1394. @$(ECHO) Install base dir..... $(INSTALL_BASEDIR)
  1395. @$(ECHO) Install binary dir... $(INSTALL_BINDIR)
  1396. @$(ECHO) Install library dir.. $(INSTALL_LIBDIR)
  1397. @$(ECHO) Install units dir.... $(INSTALL_UNITDIR)
  1398. @$(ECHO) Install source dir... $(INSTALL_SOURCEDIR)
  1399. @$(ECHO) Install doc dir...... $(INSTALL_DOCDIR)
  1400. @$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR)
  1401. @$(ECHO) Install data dir..... $(INSTALL_DATADIR)
  1402. @$(ECHO)
  1403. @$(ECHO) Dist destination dir. $(DIST_DESTDIR)
  1404. @$(ECHO) Dist zip name........ $(DIST_ZIPNAME)
  1405. @$(ECHO)
  1406. .PHONY: fpc_info
  1407. fpc_info: $(INFORULES)
  1408. .PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
  1409. fpc_makefile_dirs
  1410. fpc_makefile:
  1411. $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
  1412. fpc_makefile_sub1:
  1413. ifdef TARGET_DIRS
  1414. $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
  1415. endif
  1416. ifdef TARGET_EXAMPLEDIRS
  1417. $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
  1418. endif
  1419. fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
  1420. fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
  1421. fpc_makefiles: fpc_makefile fpc_makefile_dirs
  1422. all: fpc_all
  1423. debug: fpc_debug
  1424. smart: fpc_smart
  1425. release: fpc_release
  1426. units: fpc_units
  1427. examples:
  1428. shared:
  1429. install: fpc_install
  1430. sourceinstall: fpc_sourceinstall
  1431. exampleinstall: fpc_exampleinstall
  1432. distinstall:
  1433. zipinstall:
  1434. zipsourceinstall:
  1435. zipexampleinstall:
  1436. zipdistinstall:
  1437. clean: fpc_clean
  1438. distclean: fpc_distclean
  1439. cleanall: fpc_cleanall
  1440. info: fpc_info
  1441. makefiles: fpc_makefiles
  1442. .PHONY: all debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
  1443. ifneq ($(wildcard fpcmake.loc),)
  1444. include fpcmake.loc
  1445. endif
  1446. include $(INC)/makefile.inc
  1447. SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
  1448. include $(PROCINC)/makefile.cpu
  1449. SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
  1450. SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
  1451. $(SYSTEMUNIT)$(PPUEXT) : $(BSDINC)/$(SYSTEMUNIT).pp sysconst.inc $(SYSDEPS)
  1452. $(COMPILER) -Us -Sg $(BSDINC)/$(SYSTEMUNIT).pp
  1453. systhrds$(PPUEXT): systhrds.pp $(INC)/threadh.inc $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT)
  1454. objpas$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT) $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT)
  1455. $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp
  1456. dateutils$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) sysutils$(PPUEXT) math$(PPUEXT) types$(PPUEXT) sysconst$(PPUEXT) $(OBJPASDIR)/dateutils.pp baseunix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1457. $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/dateutils.pp
  1458. strings$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) $(INC)/strings.pp $(INC)/stringsi.inc\
  1459. $(PROCINC)/strings.inc $(PROCINC)/stringss.inc\
  1460. $(SYSTEMUNIT)$(PPUEXT)
  1461. baseunix$(PPUEXT) : unixtype$(PPUEXT) sysctl$(PPUEXT) errno.inc $(BSDINC)/bunxtype.inc ptypes.inc $(BSDINC)/ctypes.inc \
  1462. signal.inc $(UNIXINC)/bunxh.inc $(BSDINC)/bunxmain.inc $(BSDINC)/ostypes.inc \
  1463. $(BSDINC)/bunxfunc.inc \
  1464. $(BSDINC)/ostypes.inc $(BSDINC)/ossysch.inc $(BSDINC)/bunxmacr.inc $(UNIXINC)/gensigset.inc \
  1465. $(UNIXINC)/genfuncs.inc $(SYSTEMUNIT)$(PPUEXT)
  1466. unixtype$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) $(UNIXINC)/unixtype.pp ptypes.inc $(BSDINC)/ctypes.inc $(SYSTEMUNIT)$(PPUEXT)
  1467. unix$(PPUEXT) : unixtype$(PPUEXT) baseunix$(PPUEXT) unixutil$(PPUEXT) strings$(PPUEXT) $(UNIXINC)/unix.pp strings$(PPUEXT) $(INC)/textrec.inc $(INC)/filerec.inc \
  1468. sysconst.inc $(UNIXINC)/timezone.inc \
  1469. unixsysc.inc baseunix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1470. unixutil$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT)
  1471. dynlibs$(PPUEXT) : dl$(PPUEXT)
  1472. ctypes$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT)
  1473. dos$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) strings$(PPUEXT) unix$(PPUEXT) $(UNIXINC)/dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) \
  1474. unix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1475. crt$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) unix$(PPUEXT) termio$(PPUEXT) $(UNIXINC)/crt.pp $(INC)/textrec.inc unix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1476. objects$(PPUEXT) : dos$(PPUEXT) $(INC)/objects.pp $(SYSTEMUNIT)$(PPUEXT)
  1477. printer$(PPUEXT) : unix$(PPUEXT) strings$(PPUEXT) baseunix$(PPUEXT) $(UNIXINC)/printer.pp $(INC)/textrec.inc unix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1478. sysutils$(PPUEXT) : objpas$(PPUEXT) unix$(PPUEXT) errors$(PPUEXT) sysconst$(PPUEXT) $(UNIXINC)/sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \
  1479. objpas$(PPUEXT) unix$(PPUEXT) errors$(PPUEXT) sysconst$(PPUEXT)
  1480. $(COMPILER) -Fi$(OBJPASDIR)/sysutils $(UNIXINC)/sysutils.pp
  1481. classes$(PPUEXT) : sysutils$(PPUEXT) rtlconst$(PPUEXT) types$(PPUEXT) typinfo$(PPUEXT) unix$(PPUEXT) systhrds$(PPUEXT) classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
  1482. sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconst$(PPUEXT) types$(PPUEXT)
  1483. $(COMPILER) -Fi$(OBJPASDIR)/classes classes.pp
  1484. typinfo$(PPUEXT): sysutils$(PPUEXT) $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT)
  1485. $(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp
  1486. math$(PPUEXT): sysutils$(PPUEXT) $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT)
  1487. $(COMPILER) $(OBJPASDIR)/math.pp
  1488. gettext$(PPUEXT): sysutils$(PPUEXT) $(OBJPASDIR)/gettext.pp objpas$(PPUEXT) sysutils$(PPUEXT)
  1489. $(COMPILER) $(OBJPASDIR)/gettext.pp
  1490. varutils$(PPUEXT) : sysutils$(PPUEXT) $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \
  1491. $(OBJPASDIR)/varutilh.inc varutils.pp
  1492. $(COMPILER) -I$(OBJPASDIR) $(UNIXINC)/varutils.pp
  1493. types$(PPUEXT) : $(OBJPASDIR)/types.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1494. $(COMPILER) $(OBJPASDIR)/types.pp
  1495. sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1496. $(COMPILER) $(OBJPASDIR)/sysconst.pp
  1497. rtlconst$(PPUEXT) : $(OBJPASDIR)/rtlconst.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1498. $(COMPILER) $(OBJPASDIR)/rtlconst.pp
  1499. strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  1500. sysutils$(PPUEXT)
  1501. $(COMPILER) $(OBJPASDIR)/strutils.pp
  1502. variants$(PPUEXT) : sysutils$(PPUEXT) sysconst$(PPUEXT) varutils$(PPUEXT)
  1503. macpas$(PPUEXT) : $(INC)/macpas.pp $(SYSTEMUNIT)$(PPUEXT)
  1504. $(COMPILER) $(INC)/macpas.pp $(REDIR)
  1505. video$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) $(INC)/video.inc $(INC)/videoh.inc $(UNIXINC)/video.pp baseunix$(PPUEXT) strings$(PPUEXT) terminfo$(PPUEXT) termio$(PPUEXT)
  1506. keyboard$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) $(INC)/keyboard.inc $(INC)/keybrdh.inc $(UNIXINC)/keyboard.pp mouse$(PPUEXT) strings$(PPUEXT) terminfo$(PPUEXT) termio$(PPUEXT) baseunix$(PPUEXT)
  1507. matrix$(PPUEXT) : $(INC)/matrix.pp $(SYSTEMUNIT)$(PPUEXT)
  1508. cpu$(PPUEXT) : $(PROCINC)/cpu.pp $(SYSTEMUNIT)$(PPUEXT)
  1509. mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1510. getopts$(PPUEXT) : $(INC)/getopts.pp $(SYSTEMUNIT)$(PPUEXT)
  1511. heaptrc$(PPUEXT) : $(INC)/heaptrc.pp $(SYSTEMUNIT)$(PPUEXT)
  1512. $(COMPILER) -Sg $(INC)/heaptrc.pp
  1513. lineinfo$(PPUEXT) : $(INC)/lineinfo.pp $(SYSTEMUNIT)$(PPUEXT) strings$(PPUEXT)
  1514. charset$(PPUEXT) : $(INC)/charset.pp objpas$(PPUEXT)
  1515. ucomplex$(PPUEXT) : $(INC)/ucomplex.pp math$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) math$(PPUEXT)
  1516. termio$(PPUEXT) : baseunix$(PPUEXT)
  1517. mouse$(PPUEXT) : baseunix$(PPUEXT) video$(PPUEXT)
  1518. dl$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT)
  1519. sockets$(PPUEXT) : $(UNIXINC)/sockets.pp $(INC)/textrec.inc $(INC)/filerec.inc \
  1520. unix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) unixtype$(PPUEXT) baseunix$(PPUEXT) initc$(PPUEXT)
  1521. errors$(PPUEXT) : $(UNIXINC)/errors.pp strings$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) strings$(PPUEXT)
  1522. ipc$(PPUEXT) : $(UNIXINC)/ipc.pp unix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) baseunix$(PPUEXT) syscall$(PPUEXT)
  1523. terminfo$(PPUEXT) : terminfo.pp baseunix$(PPUEXT)
  1524. cmem$(PPUEXT) : $(INC)/cmem.pp $(SYSTEMUNIT)$(PPUEXT)
  1525. sysctl$(PPUEXT) : $(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT)
  1526. cthreads$(PPUEXT) : $(UNIXINC)/cthreads.pp systhrds$(PPUEXT) unix$(PPUEXT) sysutils$(PPUEXT)
  1527. initc$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT)
  1528. console$(PPUEXT) : baseunix$(PPUEXT) termio$(PPUEXT)
  1529. ctypes$(PPUEXT) : $(INC)/ctypes.pp $(SYSTEMUNIT)$(PPUEXT)