Makefile 34 KB

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