Makefile 37 KB

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