Makefile 34 KB

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