Makefile 35 KB

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