Makefile 28 KB

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