Makefile 34 KB

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