Makefile 27 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145
  1. #
  2. # Don't edit, this file is generated by FPCMake Version 1.1 [2002/01/06]
  3. #
  4. default: all
  5. override PATH:=$(subst \,/,$(PATH))
  6. ifeq ($(findstring ;,$(PATH)),)
  7. inUnix=1
  8. SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
  9. else
  10. SEARCHPATH:=$(subst ;, ,$(PATH))
  11. endif
  12. PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
  13. ifeq ($(PWD),)
  14. PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
  15. ifeq ($(PWD),)
  16. nopwd:
  17. @echo You need the GNU utils package to use this Makefile!
  18. @echo Get ftp://ftp.freepascal.org/pub/fpc/dist/go32v2/utilgo32.zip
  19. @exit
  20. else
  21. PWD:=$(firstword $(PWD))
  22. SRCEXEEXT=
  23. endif
  24. else
  25. PWD:=$(firstword $(PWD))
  26. SRCEXEEXT=.exe
  27. endif
  28. ifndef inUnix
  29. ifeq ($(OS),Windows_NT)
  30. inWinNT=1
  31. else
  32. ifdef OS2_SHELL
  33. inOS2=1
  34. endif
  35. endif
  36. else
  37. ifneq ($(findstring cygwin,$(MACHTYPE)),)
  38. inCygWin=1
  39. endif
  40. endif
  41. ifeq ($(OS_TARGET),freebsd)
  42. BSDhier=1
  43. endif
  44. ifeq ($(OS_TARGET),netbsd)
  45. BSDhier=1
  46. endif
  47. ifdef inUnix
  48. BATCHEXT=.sh
  49. else
  50. ifdef inOS2
  51. BATCHEXT=.cmd
  52. else
  53. BATCHEXT=.bat
  54. endif
  55. endif
  56. ifdef inUnix
  57. PATHSEP=/
  58. else
  59. PATHSEP:=$(subst /,\,/)
  60. endif
  61. ifdef PWD
  62. BASEDIR:=$(subst \,/,$(shell $(PWD)))
  63. ifdef inCygWin
  64. ifneq ($(findstring /cygdrive/,$(BASEDIR)),)
  65. BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR))
  66. BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR)))
  67. BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR))
  68. endif
  69. endif
  70. else
  71. BASEDIR=.
  72. endif
  73. OS_TARGET=os2
  74. CPU_TARGET=i386
  75. override DEFAULT_FPCDIR=../..
  76. ifndef FPC
  77. ifdef PP
  78. FPC=$(PP)
  79. endif
  80. endif
  81. ifndef FPC
  82. FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
  83. ifneq ($(FPCPROG),)
  84. FPCPROG:=$(firstword $(FPCPROG))
  85. FPC:=$(shell $(FPCPROG) -PB)
  86. ifneq ($(findstring Error,$(FPC)),)
  87. override FPC=ppc386
  88. endif
  89. else
  90. override FPC=ppc386
  91. endif
  92. endif
  93. override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
  94. override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
  95. ifndef FPC_VERSION
  96. FPC_VERSION:=$(shell $(FPC) -iV)
  97. endif
  98. export FPC FPC_VERSION
  99. ifndef CPU_TARGET
  100. CPU_TARGET:=$(shell $(FPC) -iTP)
  101. endif
  102. ifndef CPU_SOURCE
  103. CPU_SOURCE:=$(shell $(FPC) -iSP)
  104. endif
  105. ifndef OS_TARGET
  106. OS_TARGET:=$(shell $(FPC) -iTO)
  107. endif
  108. ifndef OS_SOURCE
  109. OS_SOURCE:=$(shell $(FPC) -iSO)
  110. endif
  111. FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
  112. FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
  113. ifneq ($(FULL_TARGET),$(FULL_SOURCE))
  114. CROSSCOMPILE=1
  115. endif
  116. export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
  117. ifdef FPCDIR
  118. override FPCDIR:=$(subst \,/,$(FPCDIR))
  119. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  120. override FPCDIR=wrong
  121. endif
  122. else
  123. override FPCDIR=wrong
  124. endif
  125. ifdef DEFAULT_FPCDIR
  126. ifeq ($(FPCDIR),wrong)
  127. override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR))
  128. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  129. override FPCDIR=wrong
  130. endif
  131. endif
  132. endif
  133. ifeq ($(FPCDIR),wrong)
  134. ifdef inUnix
  135. override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
  136. ifeq ($(wildcard $(FPCDIR)/units),)
  137. override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
  138. endif
  139. else
  140. override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
  141. override FPCDIR:=$(FPCDIR)/..
  142. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  143. override FPCDIR:=$(FPCDIR)/..
  144. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  145. override FPCDIR=c:/pp
  146. endif
  147. endif
  148. endif
  149. endif
  150. ifndef CROSSDIR
  151. CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET)
  152. endif
  153. ifndef CROSSTARGETDIR
  154. CROSSTARGETDIR=$(CROSSDIR)/$(FULL_TARGET)
  155. endif
  156. ifdef CROSSCOMPILE
  157. UNITSDIR:=$(wildcard $(CROSSTARGETDIR)/units)
  158. ifeq ($(UNITSDIR),)
  159. UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
  160. endif
  161. else
  162. UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
  163. endif
  164. PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages)
  165. override PACKAGE_NAME=rtl
  166. RTL=..
  167. INC=$(RTL)/inc
  168. PROCINC=$(RTL)/$(CPU_TARGET)
  169. UNITPREFIX=rtl
  170. ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
  171. SYSTEMUNIT=system
  172. else
  173. SYSTEMUNIT=sysos2
  174. endif
  175. ifdef RELEASE
  176. override FPCOPT+=-Ur
  177. endif
  178. OBJPASDIR=$(RTL)/objpas
  179. GRAPHDIR=$(INC)/graph
  180. override TARGET_UNITS+=$(SYSTEMUNIT) objpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi dive dos crt objects printer sysutils math typinfo varutils ucomplex cpu mmx getopts heaptrc lineinfo dynlibs video mouse keyboard variants
  181. override TARGET_LOADERS+=prt0 prt1 code2 code3
  182. override TARGET_RSTS+=math varutils typinfo
  183. override INSTALL_FPCPACKAGE=y
  184. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
  185. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC)
  186. override COMPILER_TARGETDIR+=.
  187. ifdef REQUIRE_UNITSDIR
  188. override UNITSDIR+=$(REQUIRE_UNITSDIR)
  189. endif
  190. ifdef REQUIRE_PACKAGESDIR
  191. override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
  192. endif
  193. ifdef ZIPINSTALL
  194. ifeq ($(OS_TARGET),linux)
  195. UNIXINSTALLDIR=1
  196. endif
  197. ifeq ($(OS_TARGET),freebsd)
  198. UNIXINSTALLDIR=1
  199. endif
  200. ifeq ($(OS_TARGET),netbsd)
  201. UNIXINSTALLDIR=1
  202. endif
  203. ifeq ($(OS_TARGET),sunos)
  204. UNIXINSTALLDIR=1
  205. endif
  206. else
  207. ifeq ($(OS_SOURCE),linux)
  208. UNIXINSTALLDIR=1
  209. endif
  210. ifeq ($(OS_SOURCE),freebsd)
  211. UNIXINSTALLDIR=1
  212. endif
  213. ifeq ($(OS_SOURCE),netbsd)
  214. UNIXINSTALLDIR=1
  215. endif
  216. ifeq ($(OS_TARGET),sunos)
  217. UNIXINSTALLDIR=1
  218. endif
  219. endif
  220. ifndef INSTALL_PREFIX
  221. ifdef PREFIX
  222. INSTALL_PREFIX=$(PREFIX)
  223. endif
  224. endif
  225. ifndef INSTALL_PREFIX
  226. ifdef UNIXINSTALLDIR
  227. INSTALL_PREFIX=/usr/local
  228. else
  229. ifdef INSTALL_FPCPACKAGE
  230. INSTALL_BASEDIR:=/pp
  231. else
  232. INSTALL_BASEDIR:=/$(PACKAGE_NAME)
  233. endif
  234. endif
  235. endif
  236. export INSTALL_PREFIX
  237. ifndef DIST_DESTDIR
  238. DIST_DESTDIR:=$(BASEDIR)
  239. endif
  240. export DIST_DESTDIR
  241. ifndef INSTALL_BASEDIR
  242. ifdef UNIXINSTALLDIR
  243. ifdef INSTALL_FPCPACKAGE
  244. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
  245. else
  246. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
  247. endif
  248. else
  249. INSTALL_BASEDIR:=$(INSTALL_PREFIX)
  250. endif
  251. endif
  252. ifndef INSTALL_BINDIR
  253. ifdef UNIXINSTALLDIR
  254. INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
  255. else
  256. INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
  257. ifdef INSTALL_FPCPACKAGE
  258. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(OS_TARGET)
  259. endif
  260. endif
  261. endif
  262. ifndef INSTALL_UNITDIR
  263. ifdef CROSSCOMPILE
  264. INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/units
  265. else
  266. INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(OS_TARGET)
  267. endif
  268. ifdef INSTALL_FPCPACKAGE
  269. ifdef PACKAGE_NAME
  270. INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
  271. endif
  272. endif
  273. endif
  274. ifndef INSTALL_LIBDIR
  275. ifdef UNIXINSTALLDIR
  276. INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
  277. else
  278. INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
  279. endif
  280. endif
  281. ifndef INSTALL_SOURCEDIR
  282. ifdef UNIXINSTALLDIR
  283. ifdef INSTALL_FPCPACKAGE
  284. ifdef BSDhier
  285. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/share/src/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  286. else
  287. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  288. endif
  289. else
  290. ifdef BSDhier
  291. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/share/src/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  292. else
  293. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  294. endif
  295. endif
  296. else
  297. ifdef INSTALL_FPCPACKAGE
  298. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
  299. else
  300. INSTALL_SOURCEDIRL:=$(INSTALL_BASEDIR)/source
  301. endif
  302. endif
  303. endif
  304. ifndef INSTALL_DOCDIR
  305. ifdef UNIXINSTALLDIR
  306. ifdef INSTALL_FPCPACKAGE
  307. ifdef BSDhier
  308. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/share/doc/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  309. else
  310. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  311. endif
  312. else
  313. ifdef BSDhier
  314. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/share/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  315. else
  316. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  317. endif
  318. endif
  319. else
  320. ifdef INSTALL_FPCPACKAGE
  321. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
  322. else
  323. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
  324. endif
  325. endif
  326. endif
  327. ifndef INSTALL_EXAMPLEDIR
  328. ifdef UNIXINSTALLDIR
  329. ifdef INSTALL_FPCPACKAGE
  330. ifdef BSDhier
  331. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  332. else
  333. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
  334. endif
  335. else
  336. ifdef BSDhier
  337. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  338. else
  339. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  340. endif
  341. endif
  342. else
  343. ifdef INSTALL_FPCPACKAGE
  344. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
  345. else
  346. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
  347. endif
  348. endif
  349. endif
  350. ifndef INSTALL_DATADIR
  351. INSTALL_DATADIR=$(INSTALL_BASEDIR)
  352. endif
  353. ifdef CROSSCOMPILE
  354. ifndef CROSSBINDIR
  355. CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(FULL_SOURCE))
  356. ifeq ($(CROSSBINDIR),)
  357. CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin/$(FULL_SOURCE))
  358. endif
  359. endif
  360. else
  361. CROSSBINDIR=
  362. endif
  363. LOADEREXT=.as
  364. EXEEXT=.exe
  365. PPLEXT=.ppl
  366. PPUEXT=.ppu
  367. OEXT=.o
  368. ASMEXT=.s
  369. SMARTEXT=.sl
  370. STATICLIBEXT=.a
  371. SHAREDLIBEXT=.so
  372. STATICLIBPREFIX=libp
  373. RSTEXT=.rst
  374. FPCMADE=fpcmade
  375. ifeq ($(OS_TARGET),go32v1)
  376. PPUEXT=.pp1
  377. OEXT=.o1
  378. ASMEXT=.s1
  379. SMARTEXT=.sl1
  380. STATICLIBEXT=.a1
  381. SHAREDLIBEXT=.so1
  382. STATICLIBPREFIX=
  383. FPCMADE=fpcmade.v1
  384. PACKAGESUFFIX=v1
  385. endif
  386. ifeq ($(OS_TARGET),go32v2)
  387. STATICLIBPREFIX=
  388. FPCMADE=fpcmade.dos
  389. ZIPSUFFIX=go32
  390. endif
  391. ifeq ($(OS_TARGET),linux)
  392. EXEEXT=
  393. HASSHAREDLIB=1
  394. FPCMADE=fpcmade.lnx
  395. ZIPSUFFIX=linux
  396. endif
  397. ifeq ($(OS_TARGET),freebsd)
  398. EXEEXT=
  399. HASSHAREDLIB=1
  400. FPCMADE=fpcmade.freebsd
  401. ZIPSUFFIX=freebsd
  402. endif
  403. ifeq ($(OS_TARGET),netbsd)
  404. EXEEXT=
  405. HASSHAREDLIB=1
  406. FPCMADE=fpcmade.netbsd
  407. ZIPSUFFIX=netbsd
  408. endif
  409. ifeq ($(OS_TARGET),win32)
  410. PPUEXT=.ppw
  411. OEXT=.ow
  412. ASMEXT=.sw
  413. SMARTEXT=.slw
  414. STATICLIBEXT=.aw
  415. SHAREDLIBEXT=.dll
  416. FPCMADE=fpcmade.w32
  417. ZIPSUFFIX=w32
  418. endif
  419. ifeq ($(OS_TARGET),os2)
  420. PPUEXT=.ppo
  421. ASMEXT=.so2
  422. OEXT=.oo2
  423. AOUTEXT=.out
  424. SMARTEXT=.so
  425. STATICLIBEXT=.ao2
  426. SHAREDLIBEXT=.dll
  427. FPCMADE=fpcmade.os2
  428. ZIPSUFFIX=emx
  429. endif
  430. ifeq ($(OS_TARGET),amiga)
  431. EXEEXT=
  432. PPUEXT=.ppa
  433. ASMEXT=.asm
  434. OEXT=.o
  435. SMARTEXT=.sl
  436. STATICLIBEXT=.a
  437. SHAREDLIBEXT=.library
  438. FPCMADE=fpcmade.amg
  439. endif
  440. ifeq ($(OS_TARGET),atari)
  441. PPUEXT=.ppt
  442. ASMEXT=.s
  443. OEXT=.o
  444. SMARTEXT=.sl
  445. STATICLIBEXT=.a
  446. EXEEXT=.ttp
  447. FPCMADE=fpcmade.ata
  448. endif
  449. ifeq ($(OS_TARGET),beos)
  450. PPUEXT=.ppu
  451. ASMEXT=.s
  452. OEXT=.o
  453. SMARTEXT=.sl
  454. STATICLIBEXT=.a
  455. EXEEXT=
  456. FPCMADE=fpcmade.be
  457. ZIPSUFFIX=be
  458. endif
  459. ifeq ($(OS_TARGET),sunos)
  460. PPUEXT=.ppu
  461. ASMEXT=.s
  462. OEXT=.o
  463. SMARTEXT=.sl
  464. STATICLIBEXT=.a
  465. EXEEXT=
  466. FPCMADE=fpcmade.sun
  467. ZIPSUFFIX=sun
  468. endif
  469. ifeq ($(OS_TARGET),qnx)
  470. PPUEXT=.ppu
  471. ASMEXT=.s
  472. OEXT=.o
  473. SMARTEXT=.sl
  474. STATICLIBEXT=.a
  475. EXEEXT=
  476. FPCMADE=fpcmade.qnx
  477. ZIPSUFFIX=qnx
  478. endif
  479. ifndef ECHO
  480. ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
  481. ifeq ($(ECHO),)
  482. ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
  483. ifeq ($(ECHO),)
  484. ECHO=
  485. else
  486. ECHO:=$(firstword $(ECHO))
  487. endif
  488. else
  489. ECHO:=$(firstword $(ECHO))
  490. endif
  491. endif
  492. export ECHO
  493. ifndef DATE
  494. DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
  495. ifeq ($(DATE),)
  496. DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
  497. ifeq ($(DATE),)
  498. DATE=
  499. else
  500. DATE:=$(firstword $(DATE))
  501. endif
  502. else
  503. DATE:=$(firstword $(DATE))
  504. endif
  505. endif
  506. export DATE
  507. ifndef GINSTALL
  508. GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
  509. ifeq ($(GINSTALL),)
  510. GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
  511. ifeq ($(GINSTALL),)
  512. GINSTALL=
  513. else
  514. GINSTALL:=$(firstword $(GINSTALL))
  515. endif
  516. else
  517. GINSTALL:=$(firstword $(GINSTALL))
  518. endif
  519. endif
  520. export GINSTALL
  521. ifndef CPPROG
  522. CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
  523. ifeq ($(CPPROG),)
  524. CPPROG=
  525. else
  526. CPPROG:=$(firstword $(CPPROG))
  527. endif
  528. endif
  529. export CPPROG
  530. ifndef RMPROG
  531. RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
  532. ifeq ($(RMPROG),)
  533. RMPROG=
  534. else
  535. RMPROG:=$(firstword $(RMPROG))
  536. endif
  537. endif
  538. export RMPROG
  539. ifndef MVPROG
  540. MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
  541. ifeq ($(MVPROG),)
  542. MVPROG=
  543. else
  544. MVPROG:=$(firstword $(MVPROG))
  545. endif
  546. endif
  547. export MVPROG
  548. ifndef ECHOREDIR
  549. ECHOREDIR:=$(subst /,$(PATHSEP),$(ECHO))
  550. endif
  551. ifndef COPY
  552. COPY:=$(CPPROG) -fp
  553. endif
  554. ifndef COPYTREE
  555. COPYTREE:=$(CPPROG) -rfp
  556. endif
  557. ifndef MOVE
  558. MOVE:=$(MVPROG) -f
  559. endif
  560. ifndef DEL
  561. DEL:=$(RMPROG) -f
  562. endif
  563. ifndef DELTREE
  564. DELTREE:=$(RMPROG) -rf
  565. endif
  566. ifndef INSTALL
  567. ifdef inUnix
  568. INSTALL:=$(GINSTALL) -c -m 644
  569. else
  570. INSTALL:=$(COPY)
  571. endif
  572. endif
  573. ifndef INSTALLEXE
  574. ifdef inUnix
  575. INSTALLEXE:=$(GINSTALL) -c -m 755
  576. else
  577. INSTALLEXE:=$(COPY)
  578. endif
  579. endif
  580. ifndef MKDIR
  581. MKDIR:=$(GINSTALL) -m 755 -d
  582. endif
  583. export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
  584. ifndef PPUMOVE
  585. PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
  586. ifeq ($(PPUMOVE),)
  587. PPUMOVE=
  588. else
  589. PPUMOVE:=$(firstword $(PPUMOVE))
  590. endif
  591. endif
  592. export PPUMOVE
  593. ifndef FPCMAKE
  594. FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
  595. ifeq ($(FPCMAKE),)
  596. FPCMAKE=
  597. else
  598. FPCMAKE:=$(firstword $(FPCMAKE))
  599. endif
  600. endif
  601. export FPCMAKE
  602. ifndef ZIPPROG
  603. ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
  604. ifeq ($(ZIPPROG),)
  605. ZIPPROG=
  606. else
  607. ZIPPROG:=$(firstword $(ZIPPROG))
  608. endif
  609. endif
  610. export ZIPPROG
  611. ifndef TARPROG
  612. TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
  613. ifeq ($(TARPROG),)
  614. TARPROG=
  615. else
  616. TARPROG:=$(firstword $(TARPROG))
  617. endif
  618. endif
  619. export TARPROG
  620. ASNAME=as
  621. LDNAME=ld
  622. ARNAME=ar
  623. RCNAME=rc
  624. ifeq ($(OS_TARGET),win32)
  625. ASNAME=asw
  626. LDNAME=ldw
  627. ARNAME=arw
  628. endif
  629. ifndef ASPROG
  630. ifdef CROSSBINDIR
  631. ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
  632. else
  633. ASPROG=$(ASNAME)
  634. endif
  635. endif
  636. ifndef LDPROG
  637. ifdef CROSSBINDIR
  638. LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
  639. else
  640. LDPROG=$(LDNAME)
  641. endif
  642. endif
  643. ifndef RCPROG
  644. ifdef CROSSBINDIR
  645. RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
  646. else
  647. RCPROG=$(RCNAME)
  648. endif
  649. endif
  650. ifndef ARPROG
  651. ifdef CROSSBINDIR
  652. ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
  653. else
  654. ARPROG=$(ARNAME)
  655. endif
  656. endif
  657. AS=$(ASPROG)
  658. LD=$(LDPROG)
  659. RC=$(RCPROG)
  660. AR=$(ARPROG)
  661. PPAS=ppas$(BATCHEXT)
  662. ifdef inUnix
  663. LDCONFIG=ldconfig
  664. else
  665. LDCONFIG=
  666. endif
  667. ifdef DATE
  668. DATESTR:=$(shell $(DATE) +%Y%m%d)
  669. else
  670. DATESTR=
  671. endif
  672. ifndef UPXPROG
  673. ifeq ($(OS_TARGET),go32v2)
  674. UPXPROG:=1
  675. endif
  676. ifeq ($(OS_TARGET),win32)
  677. UPXPROG:=1
  678. endif
  679. ifdef UPXPROG
  680. UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
  681. ifeq ($(UPXPROG),)
  682. UPXPROG=
  683. else
  684. UPXPROG:=$(firstword $(UPXPROG))
  685. endif
  686. else
  687. UPXPROG=
  688. endif
  689. endif
  690. export UPXPROG
  691. ZIPOPT=-9
  692. ZIPEXT=.zip
  693. ifeq ($(USETAR),bz2)
  694. TAROPT=vI
  695. TAREXT=.tar.bz2
  696. else
  697. TAROPT=vz
  698. TAREXT=.tar.gz
  699. endif
  700. ifndef NOCPUDEF
  701. override FPCOPTDEF=$(CPU_TARGET)
  702. endif
  703. ifneq ($(OS_TARGET),$(OS_SOURCE))
  704. override FPCOPT+=-T$(OS_TARGET)
  705. endif
  706. ifdef UNITDIR
  707. override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
  708. endif
  709. ifdef LIBDIR
  710. override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
  711. endif
  712. ifdef OBJDIR
  713. override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
  714. endif
  715. ifdef INCDIR
  716. override FPCOPT+=$(addprefix -Fi,$(INCDIR))
  717. endif
  718. ifdef LINKSMART
  719. override FPCOPT+=-XX
  720. endif
  721. ifdef CREATESMART
  722. override FPCOPT+=-CX
  723. endif
  724. ifdef DEBUG
  725. override FPCOPT+=-gl
  726. override FPCOPTDEF+=DEBUG
  727. endif
  728. ifdef RELEASE
  729. ifeq ($(CPU_TARGET),i386)
  730. FPCCPUOPT:=-OG2p3
  731. else
  732. FPCCPUOPT:=
  733. endif
  734. override FPCOPT+=-Xs $(FPCCPUOPT) -n
  735. override FPCOPTDEF+=RELEASE
  736. endif
  737. ifdef STRIP
  738. override FPCOPT+=-Xs
  739. endif
  740. ifdef OPTIMIZE
  741. ifeq ($(CPU_TARGET),i386)
  742. override FPCOPT+=-OG2p3
  743. endif
  744. endif
  745. ifdef VERBOSE
  746. override FPCOPT+=-vwni
  747. endif
  748. ifdef COMPILER_OPTIONS
  749. override FPCOPT+=$(COMPILER_OPTIONS)
  750. endif
  751. ifdef COMPILER_UNITDIR
  752. override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
  753. endif
  754. ifdef COMPILER_LIBRARYDIR
  755. override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
  756. endif
  757. ifdef COMPILER_OBJECTDIR
  758. override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
  759. endif
  760. ifdef COMPILER_INCLUDEDIR
  761. override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
  762. endif
  763. ifdef CROSSBINDIR
  764. override FPCOPT+=-FD$(CROSSBINDIR)
  765. endif
  766. ifdef COMPILER_TARGETDIR
  767. override FPCOPT+=-FE$(COMPILER_TARGETDIR)
  768. ifeq ($(COMPILER_TARGETDIR),.)
  769. override TARGETDIRPREFIX=
  770. else
  771. override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
  772. endif
  773. endif
  774. ifdef COMPILER_UNITTARGETDIR
  775. override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
  776. ifeq ($(COMPILER_UNITTARGETDIR),.)
  777. override UNITTARGETDIRPREFIX=
  778. else
  779. override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
  780. endif
  781. else
  782. ifdef COMPILER_TARGETDIR
  783. override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
  784. override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
  785. endif
  786. endif
  787. ifdef OPT
  788. override FPCOPT+=$(OPT)
  789. endif
  790. ifdef FPCOPTDEF
  791. override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
  792. endif
  793. ifdef CFGFILE
  794. override FPCOPT+=@$(CFGFILE)
  795. endif
  796. ifdef USEENV
  797. override FPCEXTCMD:=$(FPCOPT)
  798. override FPCOPT:=!FPCEXTCMD
  799. export FPCEXTCMD
  800. endif
  801. override COMPILER:=$(FPC) $(FPCOPT)
  802. ifeq (,$(findstring -s ,$(COMPILER)))
  803. EXECPPAS=
  804. else
  805. ifeq ($(OS_SOURCE),$(OS_TARGET))
  806. EXECPPAS:=@$(PPAS)
  807. endif
  808. endif
  809. .PHONY: fpc_loaders
  810. ifdef TARGET_LOADERS
  811. override ALLTARGET+=fpc_loaders
  812. override CLEANTARGET+=fpc_loaders_clean
  813. override INSTALLTARGET+=fpc_loaders_install
  814. override LOADEROFILES:=$(addsuffix $(OEXT),$(TARGET_LOADERS))
  815. endif
  816. %$(OEXT): %$(LOADEREXT)
  817. $(AS) -o $*$(OEXT) $<
  818. fpc_loaders: $(LOADEROFILES)
  819. fpc_loaders_clean:
  820. -$(DEL) $(LOADEROFILES)
  821. fpc_loaders_install:
  822. $(MKDIR) $(INSTALL_UNITDIR)
  823. $(INSTALL) $(LOADEROFILES) $(INSTALL_UNITDIR)
  824. .PHONY: fpc_units
  825. ifdef TARGET_UNITS
  826. override ALLTARGET+=fpc_units
  827. override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS))
  828. override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS))
  829. override INSTALLPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
  830. override CLEANPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
  831. endif
  832. fpc_units: $(UNITPPUFILES)
  833. ifdef TARGET_RSTS
  834. override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
  835. override CLEANRSTFILES+=$(RSTFILES)
  836. endif
  837. .PHONY: fpc_packages fpc_all fpc_smart fpc_debug
  838. $(FPCMADE): $(ALLTARGET)
  839. @$(ECHOREDIR) Compiled > $(FPCMADE)
  840. fpc_packages: $(COMPILEPACKAGES)
  841. fpc_all: fpc_packages $(FPCMADE)
  842. fpc_smart:
  843. $(MAKE) all LINKSMART=1 CREATESMART=1
  844. fpc_debug:
  845. $(MAKE) all DEBUG=1
  846. .SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp .rc .res
  847. %$(PPUEXT): %.pp
  848. $(COMPILER) $<
  849. $(EXECPPAS)
  850. %$(PPUEXT): %.pas
  851. $(COMPILER) $<
  852. $(EXECPPAS)
  853. %$(EXEEXT): %.pp
  854. $(COMPILER) $<
  855. $(EXECPPAS)
  856. %$(EXEEXT): %.pas
  857. $(COMPILER) $<
  858. $(EXECPPAS)
  859. %.res: %.rc
  860. windres -i $< -o $@
  861. vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  862. vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  863. vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
  864. .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
  865. ifdef INSTALL_UNITS
  866. override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
  867. endif
  868. ifdef INSTALL_BUILDUNIT
  869. override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT),$(INSTALLPPUFILES))
  870. endif
  871. ifdef INSTALLPPUFILES
  872. override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
  873. override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILES))
  874. override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPULINKFILES)))
  875. override INSTALL_CREATEPACKAGEFPC=1
  876. endif
  877. ifdef INSTALLEXEFILES
  878. override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(INSTALLEXEFILES))
  879. endif
  880. fpc_install: all $(INSTALLTARGET)
  881. ifdef INSTALLEXEFILES
  882. $(MKDIR) $(INSTALL_BINDIR)
  883. ifdef UPXPROG
  884. -$(UPXPROG) $(INSTALLEXEFILES)
  885. endif
  886. $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
  887. endif
  888. ifdef INSTALL_CREATEPACKAGEFPC
  889. ifdef FPCMAKE
  890. ifdef PACKAGE_VERSION
  891. ifneq ($(wildcard Makefile.fpc),)
  892. $(FPCMAKE) -p -T$(OS_TARGET) Makefile.fpc
  893. $(MKDIR) $(INSTALL_UNITDIR)
  894. $(INSTALL) Package.fpc $(INSTALL_UNITDIR)
  895. endif
  896. endif
  897. endif
  898. endif
  899. ifdef INSTALLPPUFILES
  900. $(MKDIR) $(INSTALL_UNITDIR)
  901. $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
  902. ifneq ($(INSTALLPPULINKFILES),)
  903. $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
  904. endif
  905. ifneq ($(wildcard $(LIB_FULLNAME)),)
  906. $(MKDIR) $(INSTALL_LIBDIR)
  907. $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
  908. ifdef inUnix
  909. ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
  910. endif
  911. endif
  912. endif
  913. ifdef INSTALL_FILES
  914. $(MKDIR) $(INSTALL_DATADIR)
  915. $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
  916. endif
  917. fpc_sourceinstall: distclean
  918. $(MKDIR) $(INSTALL_SOURCEDIR)
  919. $(COPYTREE) $(BASEDIR) $(INSTALL_SOURCEDIR)
  920. fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
  921. ifdef HASEXAMPLES
  922. $(MKDIR) $(INSTALL_EXAMPLEDIR)
  923. endif
  924. ifdef EXAMPLESOURCEFILES
  925. $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
  926. endif
  927. ifdef TARGET_EXAMPLEDIRS
  928. $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
  929. endif
  930. .PHONY: fpc_clean fpc_cleanall fpc_distclean
  931. ifdef EXEFILES
  932. override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
  933. endif
  934. ifdef CLEAN_UNITS
  935. override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
  936. endif
  937. ifdef CLEANPPUFILES
  938. override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
  939. override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
  940. override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
  941. endif
  942. fpc_clean: $(CLEANTARGET)
  943. ifdef CLEANEXEFILES
  944. -$(DEL) $(CLEANEXEFILES)
  945. endif
  946. ifdef CLEANPPUFILES
  947. -$(DEL) $(CLEANPPUFILES)
  948. endif
  949. ifneq ($(CLEANPPULINKFILES),)
  950. -$(DEL) $(CLEANPPULINKFILES)
  951. endif
  952. ifdef CLEANRSTFILES
  953. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  954. endif
  955. ifdef CLEAN_FILES
  956. -$(DEL) $(CLEAN_FILES)
  957. endif
  958. ifdef LIB_NAME
  959. -$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
  960. endif
  961. -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
  962. fpc_distclean: clean
  963. ifdef COMPILER_UNITTARGETDIR
  964. TARGETDIRCLEAN=fpc_clean
  965. endif
  966. fpc_cleanall: $(CLEANTARGET) $(TARGETDIRCLEAN)
  967. ifdef CLEANEXEFILES
  968. -$(DEL) $(CLEANEXEFILES)
  969. endif
  970. -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
  971. -$(DELTREE) *$(SMARTEXT)
  972. -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
  973. ifdef AOUTEXT
  974. -$(DEL) *$(AOUTEXT)
  975. endif
  976. .PHONY: fpc_baseinfo
  977. override INFORULES+=fpc_baseinfo
  978. fpc_baseinfo:
  979. @$(ECHO)
  980. @$(ECHO) == Package info ==
  981. @$(ECHO) Package Name..... $(PACKAGE_NAME)
  982. @$(ECHO) Package Version.. $(PACKAGE_VERSION)
  983. @$(ECHO)
  984. @$(ECHO) == Configuration info ==
  985. @$(ECHO)
  986. @$(ECHO) FPC.......... $(FPC)
  987. @$(ECHO) FPC Version.. $(FPC_VERSION)
  988. @$(ECHO) Source CPU... $(CPU_SOURCE)
  989. @$(ECHO) Target CPU... $(CPU_TARGET)
  990. @$(ECHO) Source OS.... $(OS_SOURCE)
  991. @$(ECHO) Target OS.... $(OS_TARGET)
  992. @$(ECHO) Full Target.. $(FULL_SOURCE)
  993. @$(ECHO) Full Source.. $(FULL_TARGET)
  994. @$(ECHO)
  995. @$(ECHO) == Directory info ==
  996. @$(ECHO)
  997. @$(ECHO) Basedir......... $(BASEDIR)
  998. @$(ECHO) FPCDir.......... $(FPCDIR)
  999. @$(ECHO) CrossBinDir..... $(CROSSBINDIR)
  1000. @$(ECHO) UnitsDir........ $(UNITSDIR)
  1001. @$(ECHO) PackagesDir..... $(PACKAGESDIR)
  1002. @$(ECHO)
  1003. @$(ECHO) GCC library..... $(GCCLIBDIR)
  1004. @$(ECHO) Other library... $(OTHERLIBDIR)
  1005. @$(ECHO)
  1006. @$(ECHO) == Tools info ==
  1007. @$(ECHO)
  1008. @$(ECHO) As........ $(AS)
  1009. @$(ECHO) Ld........ $(LD)
  1010. @$(ECHO) Ar........ $(AR)
  1011. @$(ECHO) Rc........ $(RC)
  1012. @$(ECHO)
  1013. @$(ECHO) Mv........ $(MVPROG)
  1014. @$(ECHO) Cp........ $(CPPROG)
  1015. @$(ECHO) Rm........ $(RMPROG)
  1016. @$(ECHO) GInstall.. $(GINSTALL)
  1017. @$(ECHO) Echo...... $(ECHO)
  1018. @$(ECHO) Date...... $(DATE)
  1019. @$(ECHO) FPCMake... $(FPCMAKE)
  1020. @$(ECHO) PPUMove... $(PPUMOVE)
  1021. @$(ECHO) Upx....... $(UPXPROG)
  1022. @$(ECHO) Zip....... $(ZIPPROG)
  1023. @$(ECHO)
  1024. @$(ECHO) == Object info ==
  1025. @$(ECHO)
  1026. @$(ECHO) Target Loaders........ $(TARGET_LOADERS)
  1027. @$(ECHO) Target Units.......... $(TARGET_UNITS)
  1028. @$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS)
  1029. @$(ECHO) Target Programs....... $(TARGET_PROGRAMS)
  1030. @$(ECHO) Target Dirs........... $(TARGET_DIRS)
  1031. @$(ECHO) Target Examples....... $(TARGET_EXAMPLES)
  1032. @$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
  1033. @$(ECHO)
  1034. @$(ECHO) Clean Units......... $(CLEAN_UNITS)
  1035. @$(ECHO) Clean Files......... $(CLEAN_FILES)
  1036. @$(ECHO)
  1037. @$(ECHO) Install Units....... $(INSTALL_UNITS)
  1038. @$(ECHO) Install Files....... $(INSTALL_FILES)
  1039. @$(ECHO)
  1040. @$(ECHO) == Install info ==
  1041. @$(ECHO)
  1042. @$(ECHO) DateStr.............. $(DATESTR)
  1043. @$(ECHO) ZipPrefix............ $(ZIPPREFIX)
  1044. @$(ECHO) ZipSuffix............ $(ZIPSUFFIX)
  1045. @$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE)
  1046. @$(ECHO)
  1047. @$(ECHO) Install base dir..... $(INSTALL_BASEDIR)
  1048. @$(ECHO) Install binary dir... $(INSTALL_BINDIR)
  1049. @$(ECHO) Install library dir.. $(INSTALL_LIBDIR)
  1050. @$(ECHO) Install units dir.... $(INSTALL_UNITDIR)
  1051. @$(ECHO) Install source dir... $(INSTALL_SOURCEDIR)
  1052. @$(ECHO) Install doc dir...... $(INSTALL_DOCDIR)
  1053. @$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR)
  1054. @$(ECHO) Install data dir..... $(INSTALL_DATADIR)
  1055. @$(ECHO)
  1056. @$(ECHO) Dist destination dir. $(DIST_DESTDIR)
  1057. @$(ECHO) Dist zip name........ $(DIST_ZIPNAME)
  1058. @$(ECHO)
  1059. .PHONY: fpc_info
  1060. fpc_info: $(INFORULES)
  1061. .PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
  1062. fpc_makefile_dirs
  1063. fpc_makefile:
  1064. $(FPCMAKE) -w Makefile.fpc
  1065. fpc_makefile_sub1:
  1066. ifdef TARGET_DIRS
  1067. $(FPCMAKE) -w $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
  1068. endif
  1069. ifdef TARGET_EXAMPLEDIRS
  1070. $(FPCMAKE) -w $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
  1071. endif
  1072. fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
  1073. fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
  1074. fpc_makefiles: fpc_makefile fpc_makefile_dirs
  1075. all: fpc_all
  1076. debug: fpc_debug
  1077. smart: fpc_smart
  1078. examples:
  1079. shared:
  1080. install: fpc_install
  1081. sourceinstall: fpc_sourceinstall
  1082. exampleinstall: fpc_exampleinstall
  1083. distinstall:
  1084. zipinstall:
  1085. zipsourceinstall:
  1086. zipexampleinstall:
  1087. zipdistinstall:
  1088. clean: fpc_clean
  1089. distclean: fpc_distclean
  1090. cleanall: fpc_cleanall
  1091. info: fpc_info
  1092. makefile: fpc_makefile
  1093. makefiles: fpc_makefiles
  1094. makefile_dirs: fpc_makefile_dirs
  1095. .PHONY: all debug smart examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefile makefiles makefile_dirs
  1096. ifneq ($(wildcard fpcmake.loc),)
  1097. include fpcmake.loc
  1098. endif
  1099. include $(INC)/makefile.inc
  1100. SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
  1101. include $(PROCINC)/makefile.cpu
  1102. SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
  1103. SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
  1104. %$(OEXT) : %.as
  1105. $(AS) -o $*$(OEXT) $*.as
  1106. $(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pas $(SYSDEPS)
  1107. $(COMPILER) -Us -Sg $(SYSTEMUNIT).pas $(REDIR)
  1108. objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT)
  1109. $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp $(REDIR)
  1110. strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \
  1111. $(PROCINC)/strings.inc $(PROCINC)/stringss.inc \
  1112. $(SYSTEMUNIT)$(PPUEXT)
  1113. ports$(PPUEXT) : ports.pas objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1114. doscalls$(PPUEXT) : doscalls.pas strings$(PPUEXT) objects$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1115. kbdcalls$(PPUEXT) : kbdcalls.pas $(SYSTEMUNIT)$(PPUEXT)
  1116. moucalls$(PPUEXT) : moucalls.pas $(SYSTEMUNIT)$(PPUEXT)
  1117. moncalls$(PPUEXT) : moncalls.pas strings$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1118. os2def$(PPUEXT) : os2def.pas $(SYSTEMUNIT)$(PPUEXT)
  1119. pmwin$(PPUEXT) : pmwin.pas os2def$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1120. pmbitmap$(PPUEXT) : pmbitmap.pas $(SYSTEMUNIT)$(PPUEXT)
  1121. pmgpi$(PPUEXT) : pmgpi.pas pmbitmap$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1122. dive$(PPUEXT) : dive.pas os2def$(PPUEXT) pmwin$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1123. dynlibs$(PPUEXT) : $(INC)/dynlibs.pp doscalls$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1124. dos$(PPUEXT) : dos.pas $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) \
  1125. doscalls$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1126. crt$(PPUEXT) : crt.pas $(INC)/textrec.inc $(SYSTEMUNIT)$(PPUEXT)
  1127. objects$(PPUEXT) : $(INC)/objects.pp objinc.inc $(SYSTEMUNIT)$(PPUEXT)
  1128. printer$(PPUEXT) : printer.pas $(INC)/textrec.inc $(SYSTEMUNIT)$(PPUEXT)
  1129. sysutils$(PPUEXT) : sysutils.pp $(wildcard $(OBJPASDIR)/*.inc) \
  1130. objpas$(PPUEXT) dos$(PPUEXT) doscalls$(PPUEXT)
  1131. $(COMPILER) -I$(OBJPASDIR) sysutils.pp $(REDIR)
  1132. typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT)
  1133. $(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp $(REDIR)
  1134. math$(PPUEXT): $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT)
  1135. $(COMPILER) $(OBJPASDIR)/math.pp $(REDIR)
  1136. varutils$(PPUEXT) : $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \
  1137. $(OBJPASDIR)/varutilh.inc varutils.pp
  1138. $(COMPILER) -I$(OBJPASDIR) varutils.pp $(REDIR)
  1139. ucomplex$(PPUEXT): $(INC)/ucomplex.pp math$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1140. cpu$(PPUEXT) : $(PROCINC)/cpu.pp $(SYSTEMUNIT)$(PPUEXT)
  1141. mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1142. getopts$(PPUEXT) : $(INC)/getopts.pp $(SYSTEMUNIT)$(PPUEXT)
  1143. heaptrc$(PPUEXT) : $(INC)/heaptrc.pp $(SYSTEMUNIT)$(PPUEXT)
  1144. $(COMPILER) -Sg $(INC)/heaptrc.pp $(REDIR)
  1145. lineinfo$(PPUEXT) : $(INC)/lineinfo.pp $(SYSTEMUNIT)$(PPUEXT)