Makefile 33 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415
  1. #
  2. # Don't edit, this file is generated by FPCMake Version 1.1 [2003/10/28]
  3. #
  4. default: all
  5. MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom
  6. override PATH:=$(subst \,/,$(PATH))
  7. ifeq ($(findstring ;,$(PATH)),)
  8. inUnix=1
  9. SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
  10. else
  11. SEARCHPATH:=$(subst ;, ,$(PATH))
  12. endif
  13. SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
  14. PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
  15. ifeq ($(PWD),)
  16. PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
  17. ifeq ($(PWD),)
  18. $(error You need the GNU utils package to use this Makefile)
  19. else
  20. PWD:=$(firstword $(PWD))
  21. SRCEXEEXT=
  22. endif
  23. else
  24. PWD:=$(firstword $(PWD))
  25. SRCEXEEXT=.exe
  26. endif
  27. ifndef inUnix
  28. ifeq ($(OS),Windows_NT)
  29. inWinNT=1
  30. else
  31. ifdef OS2_SHELL
  32. inOS2=1
  33. endif
  34. endif
  35. else
  36. ifneq ($(findstring cygdrive,$(PATH)),)
  37. inCygWin=1
  38. endif
  39. endif
  40. ifeq ($(OS_TARGET),freebsd)
  41. BSDhier=1
  42. endif
  43. ifeq ($(OS_TARGET),netbsd)
  44. BSDhier=1
  45. endif
  46. ifeq ($(OS_TARGET),openbsd)
  47. BSDhier=1
  48. endif
  49. ifdef inUnix
  50. BATCHEXT=.sh
  51. else
  52. ifdef inOS2
  53. BATCHEXT=.cmd
  54. else
  55. BATCHEXT=.bat
  56. endif
  57. endif
  58. ifdef inUnix
  59. PATHSEP=/
  60. else
  61. PATHSEP:=$(subst /,\,/)
  62. ifdef inCygWin
  63. PATHSEP=/
  64. endif
  65. endif
  66. ifdef PWD
  67. BASEDIR:=$(subst \,/,$(shell $(PWD)))
  68. ifdef inCygWin
  69. ifneq ($(findstring /cygdrive/,$(BASEDIR)),)
  70. BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR))
  71. BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR)))
  72. BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR))
  73. endif
  74. endif
  75. else
  76. BASEDIR=.
  77. endif
  78. ifdef inOS2
  79. ifndef ECHO
  80. ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
  81. ifeq ($(ECHO),)
  82. ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
  83. ifeq ($(ECHO),)
  84. ECHO=echo
  85. else
  86. ECHO:=$(firstword $(ECHO))
  87. endif
  88. else
  89. ECHO:=$(firstword $(ECHO))
  90. endif
  91. endif
  92. export ECHO
  93. endif
  94. override OS_TARGET_DEFAULT=win32
  95. override DEFAULT_FPCDIR=../..
  96. ifndef FPC
  97. ifdef PP
  98. FPC=$(PP)
  99. endif
  100. endif
  101. ifndef FPC
  102. FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
  103. ifneq ($(FPCPROG),)
  104. FPCPROG:=$(firstword $(FPCPROG))
  105. FPC:=$(shell $(FPCPROG) -PB)
  106. ifneq ($(findstring Error,$(FPC)),)
  107. override FPC=ppc386
  108. endif
  109. else
  110. override FPC=ppc386
  111. endif
  112. endif
  113. override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
  114. override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
  115. ifndef FPC_VERSION
  116. FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO)
  117. FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
  118. endif
  119. export FPC FPC_VERSION FPC_COMPILERINFO
  120. unexport CHECKDEPEND ALLDEPENDENCIES
  121. ifndef CPU_TARGET
  122. ifdef CPU_TARGET_DEFAULT
  123. CPU_TARGET=$(CPU_TARGET_DEFAULT)
  124. endif
  125. endif
  126. ifndef OS_TARGET
  127. ifdef OS_TARGET_DEFAULT
  128. OS_TARGET=$(OS_TARGET_DEFAULT)
  129. endif
  130. endif
  131. ifneq ($(words $(FPC_COMPILERINFO)),5)
  132. FPC_COMPILERINFO+=$(shell $(FPC) -iSP)
  133. FPC_COMPILERINFO+=$(shell $(FPC) -iTP)
  134. FPC_COMPILERINFO+=$(shell $(FPC) -iSO)
  135. FPC_COMPILERINFO+=$(shell $(FPC) -iTO)
  136. endif
  137. ifndef CPU_SOURCE
  138. CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO))
  139. endif
  140. ifndef CPU_TARGET
  141. CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO))
  142. endif
  143. ifndef OS_SOURCE
  144. OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO))
  145. endif
  146. ifndef OS_TARGET
  147. OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
  148. endif
  149. FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
  150. FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
  151. ifneq ($(FULL_TARGET),$(FULL_SOURCE))
  152. CROSSCOMPILE=1
  153. endif
  154. ifeq ($(findstring makefile,$(MAKECMDGOALS)),)
  155. ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
  156. $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
  157. endif
  158. endif
  159. export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
  160. ifdef FPCDIR
  161. override FPCDIR:=$(subst \,/,$(FPCDIR))
  162. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  163. override FPCDIR=wrong
  164. endif
  165. else
  166. override FPCDIR=wrong
  167. endif
  168. ifdef DEFAULT_FPCDIR
  169. ifeq ($(FPCDIR),wrong)
  170. override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR))
  171. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  172. override FPCDIR=wrong
  173. endif
  174. endif
  175. endif
  176. ifeq ($(FPCDIR),wrong)
  177. ifdef inUnix
  178. override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
  179. ifeq ($(wildcard $(FPCDIR)/units),)
  180. override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
  181. endif
  182. else
  183. override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
  184. override FPCDIR:=$(FPCDIR)/..
  185. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  186. override FPCDIR:=$(FPCDIR)/..
  187. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  188. override FPCDIR=c:/pp
  189. endif
  190. endif
  191. endif
  192. endif
  193. ifndef CROSSDIR
  194. CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET)
  195. endif
  196. ifndef CROSSTARGETDIR
  197. CROSSTARGETDIR=$(CROSSDIR)/$(FULL_TARGET)
  198. endif
  199. ifdef CROSSCOMPILE
  200. UNITSDIR:=$(wildcard $(CROSSTARGETDIR)/units)
  201. ifeq ($(UNITSDIR),)
  202. UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
  203. endif
  204. else
  205. UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
  206. endif
  207. PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
  208. override PACKAGE_NAME=rtl
  209. RTL=..
  210. INC=$(RTL)/inc
  211. PROCINC=$(RTL)/$(CPU_TARGET)
  212. WININC=wininc
  213. UNITPREFIX=rtl
  214. ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
  215. SYSTEMUNIT=system
  216. PRT0=wprt0
  217. override FPCOPT+=-dMT
  218. else
  219. SYSTEMUNIT=syswin32
  220. PRT0=wprt0_10
  221. endif
  222. ifdef RELEASE
  223. override FPCOPT+=-Ur
  224. endif
  225. OBJPASDIR=$(RTL)/objpas
  226. GRAPHDIR=$(INC)/graph
  227. include $(WININC)/makefile.inc
  228. WINDOWS_SOURCE_FILES=$(addprefix $(WININC)/,$(addsuffix .inc,$(WINDOWS_FILES)))
  229. override TARGET_UNITS+=$(SYSTEMUNIT) systhrds objpas strings lineinfo heaptrc windows ole2 activex winsock initc dos crt objects graph messages sysutils classes typinfo math varutils variants cpu mmx charset ucomplex getopts wincrt winmouse winevent sockets printer dynlibs video mouse keyboard types comobj dateutils rtlconst sysconst
  230. override TARGET_LOADERS+=wprt0 wdllprt0 gprt0
  231. override TARGET_RSTS+=math varutils typinfo variants classes dateutils
  232. override INSTALL_FPCPACKAGE=y
  233. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  234. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC)
  235. override COMPILER_TARGETDIR+=.
  236. ifdef REQUIRE_UNITSDIR
  237. override UNITSDIR+=$(REQUIRE_UNITSDIR)
  238. endif
  239. ifdef REQUIRE_PACKAGESDIR
  240. override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
  241. endif
  242. ifdef ZIPINSTALL
  243. ifeq ($(OS_TARGET),linux)
  244. UNIXINSTALLDIR=1
  245. endif
  246. ifeq ($(OS_TARGET),freebsd)
  247. UNIXINSTALLDIR=1
  248. endif
  249. ifeq ($(OS_TARGET),netbsd)
  250. UNIXINSTALLDIR=1
  251. endif
  252. ifeq ($(OS_TARGET),openbsd)
  253. UNIXINSTALLDIR=1
  254. endif
  255. ifeq ($(OS_TARGET),sunos)
  256. UNIXINSTALLDIR=1
  257. endif
  258. ifeq ($(OS_TARGET),qnx)
  259. UNIXINSTALLDIR=1
  260. endif
  261. else
  262. ifeq ($(OS_SOURCE),linux)
  263. UNIXINSTALLDIR=1
  264. endif
  265. ifeq ($(OS_SOURCE),freebsd)
  266. UNIXINSTALLDIR=1
  267. endif
  268. ifeq ($(OS_SOURCE),netbsd)
  269. UNIXINSTALLDIR=1
  270. endif
  271. ifeq ($(OS_SOURCE),openbsd)
  272. UNIXINSTALLDIR=1
  273. endif
  274. ifeq ($(OS_TARGET),sunos)
  275. UNIXINSTALLDIR=1
  276. endif
  277. ifeq ($(OS_TARGET),qnx)
  278. UNIXINSTALLDIR=1
  279. endif
  280. endif
  281. ifndef INSTALL_PREFIX
  282. ifdef PREFIX
  283. INSTALL_PREFIX=$(PREFIX)
  284. endif
  285. endif
  286. ifndef INSTALL_PREFIX
  287. ifdef UNIXINSTALLDIR
  288. INSTALL_PREFIX=/usr/local
  289. else
  290. ifdef INSTALL_FPCPACKAGE
  291. INSTALL_BASEDIR:=/pp
  292. else
  293. INSTALL_BASEDIR:=/$(PACKAGE_NAME)
  294. endif
  295. endif
  296. endif
  297. export INSTALL_PREFIX
  298. ifdef INSTALL_FPCSUBDIR
  299. export INSTALL_FPCSUBDIR
  300. endif
  301. ifndef DIST_DESTDIR
  302. DIST_DESTDIR:=$(BASEDIR)
  303. endif
  304. export DIST_DESTDIR
  305. ifndef INSTALL_BASEDIR
  306. ifdef UNIXINSTALLDIR
  307. ifdef INSTALL_FPCPACKAGE
  308. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
  309. else
  310. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
  311. endif
  312. else
  313. INSTALL_BASEDIR:=$(INSTALL_PREFIX)
  314. endif
  315. endif
  316. ifndef INSTALL_BINDIR
  317. ifdef UNIXINSTALLDIR
  318. ifdef CROSSCOMPILE
  319. INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
  320. else
  321. INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
  322. endif
  323. else
  324. ifdef CROSSCOMPILE
  325. INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
  326. else
  327. INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
  328. endif
  329. ifdef INSTALL_FPCPACKAGE
  330. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(OS_TARGET)
  331. endif
  332. endif
  333. endif
  334. ifndef INSTALL_UNITDIR
  335. ifdef CROSSCOMPILE
  336. INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/units
  337. else
  338. INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(OS_TARGET)
  339. endif
  340. ifdef INSTALL_FPCPACKAGE
  341. ifdef PACKAGE_NAME
  342. INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
  343. endif
  344. endif
  345. endif
  346. ifndef INSTALL_LIBDIR
  347. ifdef UNIXINSTALLDIR
  348. INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
  349. else
  350. INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
  351. endif
  352. endif
  353. ifndef INSTALL_SOURCEDIR
  354. ifdef UNIXINSTALLDIR
  355. ifdef BSDhier
  356. SRCPREFIXDIR=share/src
  357. else
  358. SRCPREFIXDIR=src
  359. endif
  360. ifdef INSTALL_FPCPACKAGE
  361. ifdef INSTALL_FPCSUBDIR
  362. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
  363. else
  364. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  365. endif
  366. else
  367. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  368. endif
  369. else
  370. ifdef INSTALL_FPCPACKAGE
  371. ifdef INSTALL_FPCSUBDIR
  372. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
  373. else
  374. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
  375. endif
  376. else
  377. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
  378. endif
  379. endif
  380. endif
  381. ifndef INSTALL_DOCDIR
  382. ifdef UNIXINSTALLDIR
  383. ifdef BSDhier
  384. DOCPREFIXDIR=share/doc
  385. else
  386. DOCPREFIXDIR=doc
  387. endif
  388. ifdef INSTALL_FPCPACKAGE
  389. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  390. else
  391. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  392. endif
  393. else
  394. ifdef INSTALL_FPCPACKAGE
  395. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
  396. else
  397. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
  398. endif
  399. endif
  400. endif
  401. ifndef INSTALL_EXAMPLEDIR
  402. ifdef UNIXINSTALLDIR
  403. ifdef INSTALL_FPCPACKAGE
  404. ifdef BSDhier
  405. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  406. else
  407. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
  408. endif
  409. else
  410. ifdef BSDhier
  411. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  412. else
  413. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  414. endif
  415. endif
  416. else
  417. ifdef INSTALL_FPCPACKAGE
  418. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
  419. else
  420. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
  421. endif
  422. endif
  423. endif
  424. ifndef INSTALL_DATADIR
  425. INSTALL_DATADIR=$(INSTALL_BASEDIR)
  426. endif
  427. ifdef CROSSCOMPILE
  428. ifndef CROSSBINDIR
  429. CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(FULL_SOURCE))
  430. ifeq ($(CROSSBINDIR),)
  431. CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin/$(FULL_SOURCE))
  432. endif
  433. endif
  434. else
  435. CROSSBINDIR=
  436. endif
  437. LOADEREXT=.as
  438. EXEEXT=.exe
  439. PPLEXT=.ppl
  440. PPUEXT=.ppu
  441. OEXT=.o
  442. ASMEXT=.s
  443. SMARTEXT=.sl
  444. STATICLIBEXT=.a
  445. SHAREDLIBEXT=.so
  446. STATICLIBPREFIX=libp
  447. RSTEXT=.rst
  448. FPCMADE=fpcmade
  449. ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
  450. ifeq ($(OS_TARGET),go32v1)
  451. STATICLIBPREFIX=
  452. FPCMADE=fpcmade.v1
  453. PACKAGESUFFIX=v1
  454. endif
  455. ifeq ($(OS_TARGET),go32v2)
  456. STATICLIBPREFIX=
  457. FPCMADE=fpcmade.dos
  458. ZIPSUFFIX=go32
  459. endif
  460. ifeq ($(OS_TARGET),watcom)
  461. STATICLIBPREFIX=
  462. FPCMADE=fpcmade.wat
  463. ZIPSUFFIX=watc
  464. OEXT=.obj
  465. ASMEXT=.asm
  466. SHAREDLIBEXT=.dll
  467. endif
  468. ifeq ($(OS_TARGET),linux)
  469. EXEEXT=
  470. HASSHAREDLIB=1
  471. FPCMADE=fpcmade.lnx
  472. ZIPSUFFIX=linux
  473. endif
  474. ifeq ($(OS_TARGET),freebsd)
  475. EXEEXT=
  476. HASSHAREDLIB=1
  477. FPCMADE=fpcmade.freebsd
  478. ZIPSUFFIX=freebsd
  479. endif
  480. ifeq ($(OS_TARGET),netbsd)
  481. EXEEXT=
  482. HASSHAREDLIB=1
  483. FPCMADE=fpcmade.netbsd
  484. ZIPSUFFIX=netbsd
  485. endif
  486. ifeq ($(OS_TARGET),openbsd)
  487. EXEEXT=
  488. HASSHAREDLIB=1
  489. FPCMADE=fpcmade.openbsd
  490. ZIPSUFFIX=openbsd
  491. endif
  492. ifeq ($(OS_TARGET),win32)
  493. SHAREDLIBEXT=.dll
  494. FPCMADE=fpcmade.w32
  495. ZIPSUFFIX=w32
  496. endif
  497. ifeq ($(OS_TARGET),os2)
  498. AOUTEXT=.out
  499. STATICLIBPREFIX=
  500. SHAREDLIBEXT=.dll
  501. FPCMADE=fpcmade.os2
  502. ZIPSUFFIX=os2
  503. ECHO=echo
  504. endif
  505. ifeq ($(OS_TARGET),emx)
  506. AOUTEXT=.out
  507. STATICLIBPREFIX=
  508. SHAREDLIBEXT=.dll
  509. FPCMADE=fpcmade.emx
  510. ZIPSUFFIX=emx
  511. ECHO=echo
  512. endif
  513. ifeq ($(OS_TARGET),amiga)
  514. EXEEXT=
  515. SHAREDLIBEXT=.library
  516. FPCMADE=fpcmade.amg
  517. endif
  518. ifeq ($(OS_TARGET),atari)
  519. EXEEXT=.ttp
  520. FPCMADE=fpcmade.ata
  521. endif
  522. ifeq ($(OS_TARGET),beos)
  523. EXEEXT=
  524. FPCMADE=fpcmade.be
  525. ZIPSUFFIX=be
  526. endif
  527. ifeq ($(OS_TARGET),sunos)
  528. EXEEXT=
  529. FPCMADE=fpcmade.sun
  530. ZIPSUFFIX=sun
  531. endif
  532. ifeq ($(OS_TARGET),qnx)
  533. EXEEXT=
  534. FPCMADE=fpcmade.qnx
  535. ZIPSUFFIX=qnx
  536. endif
  537. ifeq ($(OS_TARGET),netware)
  538. EXEEXT=.nlm
  539. STATICLIBPREFIX=
  540. FPCMADE=fpcmade.nw
  541. ZIPSUFFIX=nw
  542. endif
  543. ifeq ($(OS_TARGET),macos)
  544. EXEEXT=
  545. FPCMADE=fpcmade.mcc
  546. endif
  547. ifeq ($(OS_TARGET),darwin)
  548. EXEEXT=
  549. HASSHAREDLIB=1
  550. FPCMADE=fpcmade.darwin
  551. ZIPSUFFIX=darwin
  552. endif
  553. else
  554. ifeq ($(OS_TARGET),go32v1)
  555. PPUEXT=.pp1
  556. OEXT=.o1
  557. ASMEXT=.s1
  558. SMARTEXT=.sl1
  559. STATICLIBEXT=.a1
  560. SHAREDLIBEXT=.so1
  561. STATICLIBPREFIX=
  562. FPCMADE=fpcmade.v1
  563. PACKAGESUFFIX=v1
  564. endif
  565. ifeq ($(OS_TARGET),go32v2)
  566. STATICLIBPREFIX=
  567. FPCMADE=fpcmade.dos
  568. ZIPSUFFIX=go32
  569. endif
  570. ifeq ($(OS_TARGET),watcom)
  571. STATICLIBPREFIX=
  572. FPCMADE=fpcmade.dos
  573. ZIPSUFFIX=watcom
  574. endif
  575. ifeq ($(OS_TARGET),linux)
  576. EXEEXT=
  577. HASSHAREDLIB=1
  578. FPCMADE=fpcmade.lnx
  579. ZIPSUFFIX=linux
  580. endif
  581. ifeq ($(OS_TARGET),freebsd)
  582. EXEEXT=
  583. HASSHAREDLIB=1
  584. FPCMADE=fpcmade.freebsd
  585. ZIPSUFFIX=freebsd
  586. endif
  587. ifeq ($(OS_TARGET),netbsd)
  588. EXEEXT=
  589. HASSHAREDLIB=1
  590. FPCMADE=fpcmade.netbsd
  591. ZIPSUFFIX=netbsd
  592. endif
  593. ifeq ($(OS_TARGET),openbsd)
  594. EXEEXT=
  595. HASSHAREDLIB=1
  596. FPCMADE=fpcmade.openbsd
  597. ZIPSUFFIX=openbsd
  598. endif
  599. ifeq ($(OS_TARGET),win32)
  600. PPUEXT=.ppw
  601. OEXT=.ow
  602. ASMEXT=.sw
  603. SMARTEXT=.slw
  604. STATICLIBEXT=.aw
  605. SHAREDLIBEXT=.dll
  606. FPCMADE=fpcmade.w32
  607. ZIPSUFFIX=w32
  608. endif
  609. ifeq ($(OS_TARGET),os2)
  610. PPUEXT=.ppo
  611. ASMEXT=.so2
  612. OEXT=.oo2
  613. AOUTEXT=.out
  614. SMARTEXT=.sl2
  615. STATICLIBPREFIX=
  616. STATICLIBEXT=.ao2
  617. SHAREDLIBEXT=.dll
  618. FPCMADE=fpcmade.os2
  619. ZIPSUFFIX=emx
  620. ECHO=echo
  621. endif
  622. ifeq ($(OS_TARGET),amiga)
  623. EXEEXT=
  624. PPUEXT=.ppu
  625. ASMEXT=.asm
  626. OEXT=.o
  627. SMARTEXT=.sl
  628. STATICLIBEXT=.a
  629. SHAREDLIBEXT=.library
  630. FPCMADE=fpcmade.amg
  631. endif
  632. ifeq ($(OS_TARGET),atari)
  633. PPUEXT=.ppu
  634. ASMEXT=.s
  635. OEXT=.o
  636. SMARTEXT=.sl
  637. STATICLIBEXT=.a
  638. EXEEXT=.ttp
  639. FPCMADE=fpcmade.ata
  640. endif
  641. ifeq ($(OS_TARGET),beos)
  642. PPUEXT=.ppu
  643. ASMEXT=.s
  644. OEXT=.o
  645. SMARTEXT=.sl
  646. STATICLIBEXT=.a
  647. EXEEXT=
  648. FPCMADE=fpcmade.be
  649. ZIPSUFFIX=be
  650. endif
  651. ifeq ($(OS_TARGET),sunos)
  652. PPUEXT=.ppu
  653. ASMEXT=.s
  654. OEXT=.o
  655. SMARTEXT=.sl
  656. STATICLIBEXT=.a
  657. EXEEXT=
  658. FPCMADE=fpcmade.sun
  659. ZIPSUFFIX=sun
  660. endif
  661. ifeq ($(OS_TARGET),qnx)
  662. PPUEXT=.ppu
  663. ASMEXT=.s
  664. OEXT=.o
  665. SMARTEXT=.sl
  666. STATICLIBEXT=.a
  667. EXEEXT=
  668. FPCMADE=fpcmade.qnx
  669. ZIPSUFFIX=qnx
  670. endif
  671. ifeq ($(OS_TARGET),netware)
  672. STATICLIBPREFIX=
  673. PPUEXT=.ppu
  674. OEXT=.o
  675. ASMEXT=.s
  676. SMARTEXT=.sl
  677. STATICLIBEXT=.a
  678. SHAREDLIBEXT=.nlm
  679. FPCMADE=fpcmade.nw
  680. ZIPSUFFIX=nw
  681. EXEEXT=.nlm
  682. endif
  683. ifeq ($(OS_TARGET),macos)
  684. PPUEXT=.ppu
  685. ASMEXT=.s
  686. OEXT=.o
  687. SMARTEXT=.sl
  688. STATICLIBEXT=.a
  689. EXEEXT=
  690. FPCMADE=fpcmade.mcc
  691. endif
  692. endif
  693. ifndef ECHO
  694. ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
  695. ifeq ($(ECHO),)
  696. ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
  697. ifeq ($(ECHO),)
  698. ECHO=
  699. else
  700. ECHO:=$(firstword $(ECHO))
  701. endif
  702. else
  703. ECHO:=$(firstword $(ECHO))
  704. endif
  705. endif
  706. export ECHO
  707. ifndef DATE
  708. DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
  709. ifeq ($(DATE),)
  710. DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
  711. ifeq ($(DATE),)
  712. DATE=
  713. else
  714. DATE:=$(firstword $(DATE))
  715. endif
  716. else
  717. DATE:=$(firstword $(DATE))
  718. endif
  719. endif
  720. export DATE
  721. ifndef GINSTALL
  722. GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
  723. ifeq ($(GINSTALL),)
  724. GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
  725. ifeq ($(GINSTALL),)
  726. GINSTALL=
  727. else
  728. GINSTALL:=$(firstword $(GINSTALL))
  729. endif
  730. else
  731. GINSTALL:=$(firstword $(GINSTALL))
  732. endif
  733. endif
  734. export GINSTALL
  735. ifndef CPPROG
  736. CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
  737. ifeq ($(CPPROG),)
  738. CPPROG=
  739. else
  740. CPPROG:=$(firstword $(CPPROG))
  741. endif
  742. endif
  743. export CPPROG
  744. ifndef RMPROG
  745. RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
  746. ifeq ($(RMPROG),)
  747. RMPROG=
  748. else
  749. RMPROG:=$(firstword $(RMPROG))
  750. endif
  751. endif
  752. export RMPROG
  753. ifndef MVPROG
  754. MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
  755. ifeq ($(MVPROG),)
  756. MVPROG=
  757. else
  758. MVPROG:=$(firstword $(MVPROG))
  759. endif
  760. endif
  761. export MVPROG
  762. ifndef ECHOREDIR
  763. ifndef inUnix
  764. ECHOREDIR=echo
  765. else
  766. ECHOREDIR=$(ECHO)
  767. endif
  768. endif
  769. ifndef COPY
  770. COPY:=$(CPPROG) -fp
  771. endif
  772. ifndef COPYTREE
  773. COPYTREE:=$(CPPROG) -rfp
  774. endif
  775. ifndef MOVE
  776. MOVE:=$(MVPROG) -f
  777. endif
  778. ifndef DEL
  779. DEL:=$(RMPROG) -f
  780. endif
  781. ifndef DELTREE
  782. DELTREE:=$(RMPROG) -rf
  783. endif
  784. ifndef INSTALL
  785. ifdef inUnix
  786. INSTALL:=$(GINSTALL) -c -m 644
  787. else
  788. INSTALL:=$(COPY)
  789. endif
  790. endif
  791. ifndef INSTALLEXE
  792. ifdef inUnix
  793. INSTALLEXE:=$(GINSTALL) -c -m 755
  794. else
  795. INSTALLEXE:=$(COPY)
  796. endif
  797. endif
  798. ifndef MKDIR
  799. MKDIR:=$(GINSTALL) -m 755 -d
  800. endif
  801. export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
  802. ifndef PPUMOVE
  803. PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
  804. ifeq ($(PPUMOVE),)
  805. PPUMOVE=
  806. else
  807. PPUMOVE:=$(firstword $(PPUMOVE))
  808. endif
  809. endif
  810. export PPUMOVE
  811. ifndef FPCMAKE
  812. FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
  813. ifeq ($(FPCMAKE),)
  814. FPCMAKE=
  815. else
  816. FPCMAKE:=$(firstword $(FPCMAKE))
  817. endif
  818. endif
  819. export FPCMAKE
  820. ifndef ZIPPROG
  821. ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
  822. ifeq ($(ZIPPROG),)
  823. ZIPPROG=
  824. else
  825. ZIPPROG:=$(firstword $(ZIPPROG))
  826. endif
  827. endif
  828. export ZIPPROG
  829. ifndef TARPROG
  830. TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
  831. ifeq ($(TARPROG),)
  832. TARPROG=
  833. else
  834. TARPROG:=$(firstword $(TARPROG))
  835. endif
  836. endif
  837. export TARPROG
  838. ASNAME=$(BINUTILSPREFIX)as
  839. LDNAME=$(BINUTILSPREFIX)ld
  840. ARNAME=$(BINUTILSPREFIX)ar
  841. RCNAME=$(BINUTILSPREFIX)rc
  842. ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
  843. ifeq ($(OS_TARGET),win32)
  844. ASNAME=as
  845. LDNAME=ld
  846. ARNAME=ar
  847. endif
  848. endif
  849. ifndef ASPROG
  850. ifdef CROSSBINDIR
  851. ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
  852. else
  853. ASPROG=$(ASNAME)
  854. endif
  855. endif
  856. ifndef LDPROG
  857. ifdef CROSSBINDIR
  858. LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
  859. else
  860. LDPROG=$(LDNAME)
  861. endif
  862. endif
  863. ifndef RCPROG
  864. ifdef CROSSBINDIR
  865. RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
  866. else
  867. RCPROG=$(RCNAME)
  868. endif
  869. endif
  870. ifndef ARPROG
  871. ifdef CROSSBINDIR
  872. ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
  873. else
  874. ARPROG=$(ARNAME)
  875. endif
  876. endif
  877. AS=$(ASPROG)
  878. LD=$(LDPROG)
  879. RC=$(RCPROG)
  880. AR=$(ARPROG)
  881. PPAS=ppas$(BATCHEXT)
  882. ifdef inUnix
  883. LDCONFIG=ldconfig
  884. else
  885. LDCONFIG=
  886. endif
  887. ifdef DATE
  888. DATESTR:=$(shell $(DATE) +%Y%m%d)
  889. else
  890. DATESTR=
  891. endif
  892. ifndef UPXPROG
  893. ifeq ($(OS_TARGET),go32v2)
  894. UPXPROG:=1
  895. endif
  896. ifeq ($(OS_TARGET),win32)
  897. UPXPROG:=1
  898. endif
  899. ifdef UPXPROG
  900. UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
  901. ifeq ($(UPXPROG),)
  902. UPXPROG=
  903. else
  904. UPXPROG:=$(firstword $(UPXPROG))
  905. endif
  906. else
  907. UPXPROG=
  908. endif
  909. endif
  910. export UPXPROG
  911. ZIPOPT=-9
  912. ZIPEXT=.zip
  913. ifeq ($(USETAR),bz2)
  914. TAROPT=vI
  915. TAREXT=.tar.bz2
  916. else
  917. TAROPT=vz
  918. TAREXT=.tar.gz
  919. endif
  920. ifndef NOCPUDEF
  921. override FPCOPTDEF=$(CPU_TARGET)
  922. endif
  923. ifneq ($(OS_TARGET),$(OS_SOURCE))
  924. override FPCOPT+=-T$(OS_TARGET)
  925. endif
  926. ifeq ($(OS_SOURCE),openbsd)
  927. override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
  928. endif
  929. ifndef CROSSBOOTSTRAP
  930. ifneq ($(BINUTILSPREFIX),)
  931. override FPCOPT+=-XP$(BINUTILSPREFIX) -Xc
  932. endif
  933. ifneq ($(BINUTILSPREFIX),)
  934. override FPCOPT+=-Xr$(RLINKPATH)
  935. endif
  936. endif
  937. ifdef UNITDIR
  938. override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
  939. endif
  940. ifdef LIBDIR
  941. override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
  942. endif
  943. ifdef OBJDIR
  944. override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
  945. endif
  946. ifdef INCDIR
  947. override FPCOPT+=$(addprefix -Fi,$(INCDIR))
  948. endif
  949. ifdef LINKSMART
  950. override FPCOPT+=-XX
  951. endif
  952. ifdef CREATESMART
  953. override FPCOPT+=-CX
  954. endif
  955. ifdef DEBUG
  956. override FPCOPT+=-gl
  957. override FPCOPTDEF+=DEBUG
  958. endif
  959. ifdef RELEASE
  960. ifeq ($(CPU_TARGET),i386)
  961. FPCCPUOPT:=-OG2p3
  962. else
  963. FPCCPUOPT:=
  964. endif
  965. override FPCOPT+=-Xs $(FPCCPUOPT) -n
  966. override FPCOPTDEF+=RELEASE
  967. endif
  968. ifdef STRIP
  969. override FPCOPT+=-Xs
  970. endif
  971. ifdef OPTIMIZE
  972. ifeq ($(CPU_TARGET),i386)
  973. override FPCOPT+=-OG2p3
  974. endif
  975. endif
  976. ifdef VERBOSE
  977. override FPCOPT+=-vwni
  978. endif
  979. ifdef COMPILER_OPTIONS
  980. override FPCOPT+=$(COMPILER_OPTIONS)
  981. endif
  982. ifdef COMPILER_UNITDIR
  983. override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
  984. endif
  985. ifdef COMPILER_LIBRARYDIR
  986. override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
  987. endif
  988. ifdef COMPILER_OBJECTDIR
  989. override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
  990. endif
  991. ifdef COMPILER_INCLUDEDIR
  992. override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
  993. endif
  994. ifdef CROSSBINDIR
  995. override FPCOPT+=-FD$(CROSSBINDIR)
  996. endif
  997. ifdef COMPILER_TARGETDIR
  998. override FPCOPT+=-FE$(COMPILER_TARGETDIR)
  999. ifeq ($(COMPILER_TARGETDIR),.)
  1000. override TARGETDIRPREFIX=
  1001. else
  1002. override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
  1003. endif
  1004. endif
  1005. ifdef COMPILER_UNITTARGETDIR
  1006. override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
  1007. ifeq ($(COMPILER_UNITTARGETDIR),.)
  1008. override UNITTARGETDIRPREFIX=
  1009. else
  1010. override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
  1011. endif
  1012. else
  1013. ifdef COMPILER_TARGETDIR
  1014. override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
  1015. override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
  1016. endif
  1017. endif
  1018. ifeq ($(OS_TARGET),linux)
  1019. ifeq ($(FPC_VERSION),1.0.6)
  1020. override FPCOPTDEF+=HASUNIX
  1021. endif
  1022. endif
  1023. ifdef OPT
  1024. override FPCOPT+=$(OPT)
  1025. endif
  1026. ifdef FPCOPTDEF
  1027. override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
  1028. endif
  1029. ifdef CFGFILE
  1030. override FPCOPT+=@$(CFGFILE)
  1031. endif
  1032. ifdef USEENV
  1033. override FPCEXTCMD:=$(FPCOPT)
  1034. override FPCOPT:=!FPCEXTCMD
  1035. export FPCEXTCMD
  1036. endif
  1037. override COMPILER:=$(FPC) $(FPCOPT)
  1038. ifeq (,$(findstring -s ,$(COMPILER)))
  1039. EXECPPAS=
  1040. else
  1041. ifeq ($(FULL_SOURCE),$(FULL_TARGET))
  1042. EXECPPAS:=@$(PPAS)
  1043. endif
  1044. endif
  1045. .PHONY: fpc_loaders
  1046. ifdef TARGET_LOADERS
  1047. override ALLTARGET+=fpc_loaders
  1048. override CLEANTARGET+=fpc_loaders_clean
  1049. override INSTALLTARGET+=fpc_loaders_install
  1050. override LOADEROFILES:=$(addsuffix $(OEXT),$(TARGET_LOADERS))
  1051. endif
  1052. %$(OEXT): %$(LOADEREXT)
  1053. $(AS) -o $*$(OEXT) $<
  1054. fpc_loaders: $(LOADEROFILES)
  1055. fpc_loaders_clean:
  1056. -$(DEL) $(LOADEROFILES)
  1057. fpc_loaders_install:
  1058. $(MKDIR) $(INSTALL_UNITDIR)
  1059. $(INSTALL) $(LOADEROFILES) $(INSTALL_UNITDIR)
  1060. .PHONY: fpc_units
  1061. ifdef TARGET_UNITS
  1062. override ALLTARGET+=fpc_units
  1063. override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS))
  1064. override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS))
  1065. override INSTALLPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
  1066. override CLEANPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
  1067. endif
  1068. fpc_units: $(UNITPPUFILES)
  1069. ifdef TARGET_RSTS
  1070. override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
  1071. override CLEANRSTFILES+=$(RSTFILES)
  1072. endif
  1073. .PHONY: fpc_all fpc_smart fpc_debug fpc_release
  1074. $(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
  1075. @$(ECHOREDIR) Compiled > $(FPCMADE)
  1076. fpc_all: $(FPCMADE)
  1077. fpc_smart:
  1078. $(MAKE) all LINKSMART=1 CREATESMART=1
  1079. fpc_debug:
  1080. $(MAKE) all DEBUG=1
  1081. fpc_release:
  1082. $(MAKE) all RELEASE=1
  1083. .SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .dpr .pp .rc .res
  1084. %$(PPUEXT): %.pp
  1085. $(COMPILER) $<
  1086. $(EXECPPAS)
  1087. %$(PPUEXT): %.pas
  1088. $(COMPILER) $<
  1089. $(EXECPPAS)
  1090. %$(EXEEXT): %.pp
  1091. $(COMPILER) $<
  1092. $(EXECPPAS)
  1093. %$(EXEEXT): %.pas
  1094. $(COMPILER) $<
  1095. $(EXECPPAS)
  1096. %$(EXEEXT): %.dpr
  1097. $(COMPILER) $<
  1098. $(EXECPPAS)
  1099. %.res: %.rc
  1100. windres -i $< -o $@
  1101. vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1102. vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1103. vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1104. vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
  1105. .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
  1106. ifdef INSTALL_UNITS
  1107. override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
  1108. endif
  1109. ifdef INSTALL_BUILDUNIT
  1110. override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
  1111. endif
  1112. ifdef INSTALLPPUFILES
  1113. override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
  1114. override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILES))
  1115. override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPULINKFILES)))
  1116. override INSTALL_CREATEPACKAGEFPC=1
  1117. endif
  1118. ifdef INSTALLEXEFILES
  1119. override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(INSTALLEXEFILES))
  1120. endif
  1121. fpc_install: all $(INSTALLTARGET)
  1122. ifdef INSTALLEXEFILES
  1123. $(MKDIR) $(INSTALL_BINDIR)
  1124. ifdef UPXPROG
  1125. -$(UPXPROG) $(INSTALLEXEFILES)
  1126. endif
  1127. $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
  1128. endif
  1129. ifdef INSTALL_CREATEPACKAGEFPC
  1130. ifdef FPCMAKE
  1131. ifdef PACKAGE_VERSION
  1132. ifneq ($(wildcard Makefile.fpc),)
  1133. $(FPCMAKE) -p -T$(OS_TARGET) Makefile.fpc
  1134. $(MKDIR) $(INSTALL_UNITDIR)
  1135. $(INSTALL) Package.fpc $(INSTALL_UNITDIR)
  1136. endif
  1137. endif
  1138. endif
  1139. endif
  1140. ifdef INSTALLPPUFILES
  1141. $(MKDIR) $(INSTALL_UNITDIR)
  1142. $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
  1143. ifneq ($(INSTALLPPULINKFILES),)
  1144. $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
  1145. endif
  1146. ifneq ($(wildcard $(LIB_FULLNAME)),)
  1147. $(MKDIR) $(INSTALL_LIBDIR)
  1148. $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
  1149. ifdef inUnix
  1150. ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
  1151. endif
  1152. endif
  1153. endif
  1154. ifdef INSTALL_FILES
  1155. $(MKDIR) $(INSTALL_DATADIR)
  1156. $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
  1157. endif
  1158. fpc_sourceinstall: distclean
  1159. $(MKDIR) $(INSTALL_SOURCEDIR)
  1160. $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
  1161. fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
  1162. ifdef HASEXAMPLES
  1163. $(MKDIR) $(INSTALL_EXAMPLEDIR)
  1164. endif
  1165. ifdef EXAMPLESOURCEFILES
  1166. $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
  1167. endif
  1168. ifdef TARGET_EXAMPLEDIRS
  1169. $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
  1170. endif
  1171. .PHONY: fpc_clean fpc_cleanall fpc_distclean
  1172. ifdef EXEFILES
  1173. override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
  1174. endif
  1175. ifdef CLEAN_UNITS
  1176. override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
  1177. endif
  1178. ifdef CLEANPPUFILES
  1179. override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
  1180. override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
  1181. override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
  1182. endif
  1183. fpc_clean: $(CLEANTARGET)
  1184. ifdef CLEANEXEFILES
  1185. -$(DEL) $(CLEANEXEFILES)
  1186. endif
  1187. ifdef CLEANPPUFILES
  1188. -$(DEL) $(CLEANPPUFILES)
  1189. endif
  1190. ifneq ($(CLEANPPULINKFILES),)
  1191. -$(DEL) $(CLEANPPULINKFILES)
  1192. endif
  1193. ifdef CLEANRSTFILES
  1194. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  1195. endif
  1196. ifdef CLEAN_FILES
  1197. -$(DEL) $(CLEAN_FILES)
  1198. endif
  1199. ifdef LIB_NAME
  1200. -$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
  1201. endif
  1202. -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
  1203. fpc_distclean: clean
  1204. ifdef COMPILER_UNITTARGETDIR
  1205. TARGETDIRCLEAN=fpc_clean
  1206. endif
  1207. fpc_cleanall: $(CLEANTARGET) $(TARGETDIRCLEAN)
  1208. ifdef CLEANEXEFILES
  1209. -$(DEL) $(CLEANEXEFILES)
  1210. endif
  1211. -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
  1212. -$(DELTREE) *$(SMARTEXT)
  1213. -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
  1214. ifdef AOUTEXT
  1215. -$(DEL) *$(AOUTEXT)
  1216. endif
  1217. .PHONY: fpc_baseinfo
  1218. override INFORULES+=fpc_baseinfo
  1219. fpc_baseinfo:
  1220. @$(ECHO)
  1221. @$(ECHO) == Package info ==
  1222. @$(ECHO) Package Name..... $(PACKAGE_NAME)
  1223. @$(ECHO) Package Version.. $(PACKAGE_VERSION)
  1224. @$(ECHO)
  1225. @$(ECHO) == Configuration info ==
  1226. @$(ECHO)
  1227. @$(ECHO) FPC.......... $(FPC)
  1228. @$(ECHO) FPC Version.. $(FPC_VERSION)
  1229. @$(ECHO) Source CPU... $(CPU_SOURCE)
  1230. @$(ECHO) Target CPU... $(CPU_TARGET)
  1231. @$(ECHO) Source OS.... $(OS_SOURCE)
  1232. @$(ECHO) Target OS.... $(OS_TARGET)
  1233. @$(ECHO) Full Source.. $(FULL_SOURCE)
  1234. @$(ECHO) Full Target.. $(FULL_TARGET)
  1235. @$(ECHO)
  1236. @$(ECHO) == Directory info ==
  1237. @$(ECHO)
  1238. @$(ECHO) Required pkgs... $(REQUIRE_PACKAGES)
  1239. @$(ECHO)
  1240. @$(ECHO) Basedir......... $(BASEDIR)
  1241. @$(ECHO) FPCDir.......... $(FPCDIR)
  1242. @$(ECHO) CrossBinDir..... $(CROSSBINDIR)
  1243. @$(ECHO) UnitsDir........ $(UNITSDIR)
  1244. @$(ECHO) PackagesDir..... $(PACKAGESDIR)
  1245. @$(ECHO)
  1246. @$(ECHO) GCC library..... $(GCCLIBDIR)
  1247. @$(ECHO) Other library... $(OTHERLIBDIR)
  1248. @$(ECHO)
  1249. @$(ECHO) == Tools info ==
  1250. @$(ECHO)
  1251. @$(ECHO) As........ $(AS)
  1252. @$(ECHO) Ld........ $(LD)
  1253. @$(ECHO) Ar........ $(AR)
  1254. @$(ECHO) Rc........ $(RC)
  1255. @$(ECHO)
  1256. @$(ECHO) Mv........ $(MVPROG)
  1257. @$(ECHO) Cp........ $(CPPROG)
  1258. @$(ECHO) Rm........ $(RMPROG)
  1259. @$(ECHO) GInstall.. $(GINSTALL)
  1260. @$(ECHO) Echo...... $(ECHO)
  1261. @$(ECHO) Shell..... $(SHELL)
  1262. @$(ECHO) Date...... $(DATE)
  1263. @$(ECHO) FPCMake... $(FPCMAKE)
  1264. @$(ECHO) PPUMove... $(PPUMOVE)
  1265. @$(ECHO) Upx....... $(UPXPROG)
  1266. @$(ECHO) Zip....... $(ZIPPROG)
  1267. @$(ECHO)
  1268. @$(ECHO) == Object info ==
  1269. @$(ECHO)
  1270. @$(ECHO) Target Loaders........ $(TARGET_LOADERS)
  1271. @$(ECHO) Target Units.......... $(TARGET_UNITS)
  1272. @$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS)
  1273. @$(ECHO) Target Programs....... $(TARGET_PROGRAMS)
  1274. @$(ECHO) Target Dirs........... $(TARGET_DIRS)
  1275. @$(ECHO) Target Examples....... $(TARGET_EXAMPLES)
  1276. @$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
  1277. @$(ECHO)
  1278. @$(ECHO) Clean Units......... $(CLEAN_UNITS)
  1279. @$(ECHO) Clean Files......... $(CLEAN_FILES)
  1280. @$(ECHO)
  1281. @$(ECHO) Install Units....... $(INSTALL_UNITS)
  1282. @$(ECHO) Install Files....... $(INSTALL_FILES)
  1283. @$(ECHO)
  1284. @$(ECHO) == Install info ==
  1285. @$(ECHO)
  1286. @$(ECHO) DateStr.............. $(DATESTR)
  1287. @$(ECHO) ZipPrefix............ $(ZIPPREFIX)
  1288. @$(ECHO) ZipSuffix............ $(ZIPSUFFIX)
  1289. @$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE)
  1290. @$(ECHO)
  1291. @$(ECHO) Install base dir..... $(INSTALL_BASEDIR)
  1292. @$(ECHO) Install binary dir... $(INSTALL_BINDIR)
  1293. @$(ECHO) Install library dir.. $(INSTALL_LIBDIR)
  1294. @$(ECHO) Install units dir.... $(INSTALL_UNITDIR)
  1295. @$(ECHO) Install source dir... $(INSTALL_SOURCEDIR)
  1296. @$(ECHO) Install doc dir...... $(INSTALL_DOCDIR)
  1297. @$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR)
  1298. @$(ECHO) Install data dir..... $(INSTALL_DATADIR)
  1299. @$(ECHO)
  1300. @$(ECHO) Dist destination dir. $(DIST_DESTDIR)
  1301. @$(ECHO) Dist zip name........ $(DIST_ZIPNAME)
  1302. @$(ECHO)
  1303. .PHONY: fpc_info
  1304. fpc_info: $(INFORULES)
  1305. .PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
  1306. fpc_makefile_dirs
  1307. fpc_makefile:
  1308. $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
  1309. fpc_makefile_sub1:
  1310. ifdef TARGET_DIRS
  1311. $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
  1312. endif
  1313. ifdef TARGET_EXAMPLEDIRS
  1314. $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
  1315. endif
  1316. fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
  1317. fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
  1318. fpc_makefiles: fpc_makefile fpc_makefile_dirs
  1319. all: fpc_all
  1320. debug: fpc_debug
  1321. smart: fpc_smart
  1322. release: fpc_release
  1323. examples:
  1324. shared:
  1325. install: fpc_install
  1326. sourceinstall: fpc_sourceinstall
  1327. exampleinstall: fpc_exampleinstall
  1328. distinstall:
  1329. zipinstall:
  1330. zipsourceinstall:
  1331. zipexampleinstall:
  1332. zipdistinstall:
  1333. clean: fpc_clean
  1334. distclean: fpc_distclean
  1335. cleanall: fpc_cleanall
  1336. info: fpc_info
  1337. makefiles: fpc_makefiles
  1338. .PHONY: all debug smart release examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
  1339. ifneq ($(wildcard fpcmake.loc),)
  1340. include fpcmake.loc
  1341. endif
  1342. SYSTEMPPU=$(addsuffix $(PPUEXT),$(SYSTEMUNIT))
  1343. include $(INC)/makefile.inc
  1344. SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
  1345. include $(PROCINC)/makefile.cpu
  1346. SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
  1347. SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
  1348. wprt0$(OEXT) : $(PRT0).as
  1349. $(AS) -o wprt0$(OEXT) $(PRT0).as
  1350. gprt0$(OEXT) : gprt0.as
  1351. $(AS) -o gprt0$(OEXT) gprt0.as
  1352. wdllprt0$(OEXT) : wdllprt0.as
  1353. $(AS) -o wdllprt0$(OEXT) wdllprt0.as
  1354. $(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp win32.inc $(SYSDEPS)
  1355. $(COMPILER) -Us -Sg $(SYSTEMUNIT).pp
  1356. systhrds$(PPUEXT): systhrds.pp $(INC)/threadh.inc $(SYSTEMUNIT)$(PPUEXT)
  1357. objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT)
  1358. $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp
  1359. strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\
  1360. $(PROCINC)/strings.inc $(PROCINC)/stringss.inc\
  1361. $(SYSTEMUNIT)$(PPUEXT)
  1362. windows$(PPUEXT) : windows.pp $(WINDOWS_SOURCE_FILES) $(SYSTEMUNIT)$(PPUEXT)
  1363. $(COMPILER) -I$(WININC) windows.pp
  1364. messages$(PPUEXT): messages.pp $(WININC)/messages.inc $(SYSTEMUNIT)$(PPUEXT)
  1365. $(COMPILER) -I$(WININC) messages.pp
  1366. ole2$(PPUEXT) : ole2.pp windows$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1367. activex$(PPUEXT) : activex.pp $(WININC)/objbase.inc windows$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) types$(PPUEXT)
  1368. opengl32$(PPUEXT) : opengl32.pp windows$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1369. winsock$(PPUEXT) : winsock.pp windows$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1370. sockets$(PPUEXT) : sockets.pp windows$(PPUEXT) winsock$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  1371. $(INC)/sockets.inc $(INC)/socketsh.inc
  1372. initc$(PPUEXT) : initc.pp $(SYSTEMUNIT)$(PPUEXT)
  1373. wincrt$(PPUEXT) : wincrt.pp $(SYSTEMUNIT)$(PPUEXT) windows$(PPUEXT) graph$(PPUEXT)
  1374. winmouse$(PPUEXT) : winmouse.pp $(SYSTEMUNIT)$(PPUEXT) windows$(PPUEXT) graph$(PPUEXT)
  1375. dynlibs$(PPUEXT) : $(INC)/dynlibs.pp windows$(PPUEXT)
  1376. dos$(PPUEXT) : dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1377. crt$(PPUEXT) : crt.pp $(INC)/textrec.inc $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) dos$(PPUEXT) windows$(PPUEXT)
  1378. objects$(PPUEXT) : $(INC)/objects.pp $(SYSTEMUNIT)$(PPUEXT)
  1379. include $(GRAPHDIR)/makefile.inc
  1380. GRAPHINCDEPS=$(addprefix $(GRAPHDIR)/,$(GRAPHINCNAMES))
  1381. graph$(PPUEXT) : graph.pp strings$(PPUEXT) windows$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  1382. $(GRAPHINCDEPS)
  1383. $(COMPILER) -I$(GRAPHDIR) graph.pp
  1384. sysutils$(PPUEXT) : sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \
  1385. objpas$(PPUEXT) dos$(PPUEXT) windows$(PPUEXT)
  1386. $(COMPILER) -Fi$(OBJPASDIR)/sysutils sysutils.pp
  1387. classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
  1388. sysutils$(PPUEXT) typinfo$(PPUEXT)
  1389. $(COMPILER) -Fi$(OBJPASDIR)/classes classes.pp
  1390. typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT)
  1391. $(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp
  1392. math$(PPUEXT): $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT)
  1393. $(COMPILER) $(OBJPASDIR)/math.pp
  1394. varutils$(PPUEXT) : varutils.pp $(OBJPASDIR)/cvarutil.inc \
  1395. objpas$(PPUEXT) $(OBJPASDIR)/varutilh.inc
  1396. $(COMPILER) -I$(OBJPASDIR) varutils.pp
  1397. types$(PPUEXT) : $(OBJPASDIR)/types.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1398. $(COMPILER) $(OBJPASDIR)/types.pp
  1399. comobj$(PPUEXT) : comobj.pp activex$(PPUEXT) sysutils$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(OBJPASDIR)/comobjh.inc $(OBJPASDIR)/comobj.inc
  1400. $(COMPILER) -I$(OBJPASDIR) comobj.pp
  1401. rtlconst$(PPUEXT) : $(OBJPASDIR)/rtlconst.pp
  1402. $(COMPILER) $(OBJPASDIR)/rtlconst.pp
  1403. sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp
  1404. $(COMPILER) $(OBJPASDIR)/sysconst.pp
  1405. dateutils$(PPUEXT) : $(OBJPASDIR)/dateutils.pp
  1406. $(COMPILER) $(OBJPASDIR)/dateutils.pp
  1407. cpu$(PPUEXT) : $(PROCINC)/cpu.pp $(SYSTEMUNIT)$(PPUEXT)
  1408. mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1409. getopts$(PPUEXT) : $(INC)/getopts.pp $(SYSTEMUNIT)$(PPUEXT)
  1410. heaptrc$(PPUEXT) : $(INC)/heaptrc.pp $(SYSTEMUNIT)$(PPUEXT)
  1411. $(COMPILER) -Sg $(INC)/heaptrc.pp
  1412. lineinfo$(PPUEXT) : $(INC)/lineinfo.pp $(SYSTEMUNIT)$(PPUEXT)
  1413. charset$(PPUEXT) : $(INC)/charset.pp $(SYSTEMUNIT)$(PPUEXT)
  1414. ucomplex$(PPUEXT) : $(INC)/ucomplex.pp math$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1415. callspec$(PPUEXT) : $(INC)/callspec.pp $(SYSTEMUNIT)$(PPUEXT)