Makefile 28 KB

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