Makefile 26 KB

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