Makefile 30 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195
  1. #
  2. # Don't edit, this file is generated by fpcmake v1.99.0 [2001/02/24]
  3. #
  4. default: all
  5. override PATH:=$(subst \,/,$(PATH))
  6. ifeq ($(findstring ;,$(PATH)),)
  7. inUnix=1
  8. SEARCHPATH=$(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,$(MACH_TYPE)),)
  38. inCygWin=1
  39. endif
  40. endif
  41. ifdef inUnix
  42. BATCHEXT=.sh
  43. else
  44. ifdef inOS2
  45. BATCHEXT=.cmd
  46. else
  47. BATCHEXT=.bat
  48. endif
  49. endif
  50. ifdef inUnix
  51. PATHSEP=/
  52. else
  53. PATHSEP=$(subst /,\,/)
  54. endif
  55. ifdef PWD
  56. BASEDIR:=$(shell $(PWD))
  57. else
  58. BASEDIR=.
  59. endif
  60. ifndef FPC
  61. ifdef PP
  62. FPC=$(PP)
  63. else
  64. FPC=ppc386
  65. endif
  66. endif
  67. override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
  68. override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
  69. ifndef OS_TARGET
  70. OS_TARGET:=$(shell $(FPC) -iTO)
  71. endif
  72. ifndef OS_SOURCE
  73. OS_SOURCE:=$(shell $(FPC) -iSO)
  74. endif
  75. ifndef CPU_TARGET
  76. CPU_TARGET:=$(shell $(FPC) -iTP)
  77. endif
  78. ifndef CPU_SOURCE
  79. CPU_SOURCE:=$(shell $(FPC) -iSP)
  80. endif
  81. ifndef FPC_VERSION
  82. FPC_VERSION:=$(shell $(FPC) -iV)
  83. endif
  84. export FPC OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FPC_VERSION
  85. ifdef FPCDIR
  86. override FPCDIR:=$(subst \,/,$(FPCDIR))
  87. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  88. override FPCDIR=wrong
  89. endif
  90. else
  91. override FPCDIR=wrong
  92. endif
  93. ifeq ($(FPCDIR),wrong)
  94. override FPCDIR=..
  95. ifeq ($(wildcard $(FPCDIR)/rtl),)
  96. ifeq ($(wildcard $(FPCDIR)/units),)
  97. override FPCDIR=wrong
  98. endif
  99. endif
  100. endif
  101. ifeq ($(FPCDIR),wrong)
  102. ifdef inUnix
  103. override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
  104. ifeq ($(wildcard $(FPCDIR)/units),)
  105. override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
  106. endif
  107. else
  108. override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
  109. override FPCDIR:=$(FPCDIR)/..
  110. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  111. override FPCDIR:=$(FPCDIR)/..
  112. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  113. override FPCDIR=c:/pp
  114. endif
  115. endif
  116. endif
  117. endif
  118. UNITSDIR=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
  119. PACKAGESDIR=$(wildcard $(FPCDIR) $(FPCDIR)/packages)
  120. override PACKAGE_NAME=fputils
  121. override PACKAGE_VERSION=1.1
  122. override TARGET_DIRS+=fpcm tply h2pas fprcp
  123. override TARGET_PROGRAMS+=ppufiles ppudump ppumove ppdep ptop rstconv data2inc delp bin2obj postw32
  124. override CLEAN_UNITS+=ppu ptopu makeini crc
  125. ifndef ECHO
  126. ECHO:=$(strip $(wildcard $(addsuffix /gecho$(EXEEXT),$(SEARCHPATH))))
  127. ifeq ($(ECHO),)
  128. ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
  129. ifeq ($(ECHO),)
  130. ECHO:=echo
  131. else
  132. ECHO:=$(firstword $(ECHO))
  133. endif
  134. else
  135. ECHO:=$(firstword $(ECHO))
  136. endif
  137. endif
  138. ifndef COPY
  139. COPY:=cp -fp
  140. endif
  141. ifndef COPYTREE
  142. COPYTREE:=cp -rfp
  143. endif
  144. ifndef MOVE
  145. MOVE:=mv -f
  146. endif
  147. ifndef DEL
  148. DEL:=rm -f
  149. endif
  150. ifndef DELTREE
  151. DELTREE:=rm -rf
  152. endif
  153. ifndef INSTALL
  154. ifdef inUnix
  155. INSTALL:=install -c -m 644
  156. else
  157. INSTALL:=$(COPY)
  158. endif
  159. endif
  160. ifndef INSTALLEXE
  161. ifdef inUnix
  162. INSTALLEXE:=install -c -m 755
  163. else
  164. INSTALLEXE:=$(COPY)
  165. endif
  166. endif
  167. ifndef MKDIR
  168. ifdef inUnix
  169. MKDIR:=install -m 755 -d
  170. else
  171. MKDIR:=ginstall -m 755 -d
  172. endif
  173. endif
  174. export ECHO COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
  175. ifndef AS
  176. AS=as
  177. endif
  178. ifndef LD
  179. LD=ld
  180. endif
  181. PPAS=ppas$(BATCHEXT)
  182. ifdef inUnix
  183. LDCONFIG=ldconfig
  184. else
  185. LDCONFIG=
  186. endif
  187. ifndef PPUMOVE
  188. PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
  189. ifeq ($(PPUMOVE),)
  190. PPUMOVE=
  191. else
  192. PPUMOVE:=$(firstword $(PPUMOVE))
  193. endif
  194. endif
  195. export PPUMOVE
  196. ifndef PPUFILES
  197. PPUFILES:=$(strip $(wildcard $(addsuffix /ppufiles$(SRCEXEEXT),$(SEARCHPATH))))
  198. ifeq ($(PPUFILES),)
  199. PPUFILES=
  200. else
  201. PPUFILES:=$(firstword $(PPUFILES))
  202. endif
  203. endif
  204. export PPUFILES
  205. ifndef DATE
  206. DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
  207. ifeq ($(DATE),)
  208. DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEACHPATH))))
  209. ifeq ($(DATE),)
  210. DATE=
  211. else
  212. DATE:=$(firstword $(DATE))
  213. endif
  214. else
  215. DATE:=$(firstword $(DATE))
  216. endif
  217. endif
  218. export DATE
  219. ifdef DATE
  220. DATESTR:=$(shell $(DATE) +%Y%m%d)
  221. else
  222. DATESTR=
  223. endif
  224. ifndef UPXPROG
  225. ifeq ($(OS_TARGET),go32v2)
  226. UPXPROG:=1
  227. endif
  228. ifeq ($(OS_TARGET),win32)
  229. UPXPROG:=1
  230. endif
  231. ifdef UPXPROG
  232. UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
  233. ifeq ($(UPXPROG),)
  234. UPXPROG=
  235. else
  236. UPXPROG:=$(firstword $(UPXPROG))
  237. endif
  238. else
  239. UPXPROG=
  240. endif
  241. endif
  242. export UPXPROG
  243. ifndef ZIPPROG
  244. ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
  245. ifeq ($(ZIPPROG),)
  246. ZIPPROG=
  247. else
  248. ZIPPROG:=$(firstword $(ZIPPROG))
  249. endif
  250. endif
  251. export ZIPPROG
  252. ZIPOPT=-9
  253. ZIPEXT=.zip
  254. ifndef TARPROG
  255. TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
  256. ifeq ($(TARPROG),)
  257. TARPROG=
  258. else
  259. TARPROG:=$(firstword $(TARPROG))
  260. endif
  261. endif
  262. export TARPROG
  263. ifeq ($(USETAR),bz2)
  264. TAROPT=vI
  265. TAREXT=.tar.bz2
  266. else
  267. TAROPT=vz
  268. TAREXT=.tar.gz
  269. endif
  270. LOADEREXT=.as
  271. EXEEXT=.exe
  272. PPLEXT=.ppl
  273. PPUEXT=.ppu
  274. OEXT=.o
  275. ASMEXT=.s
  276. SMARTEXT=.sl
  277. STATICLIBEXT=.a
  278. SHAREDLIBEXT=.so
  279. LIBPREFIX=lib
  280. RSTEXT=.rst
  281. FPCMADE=fpcmade
  282. ifeq ($(OS_TARGET),go32v1)
  283. PPUEXT=.pp1
  284. OEXT=.o1
  285. ASMEXT=.s1
  286. SMARTEXT=.sl1
  287. STATICLIBEXT=.a1
  288. SHAREDLIBEXT=.so1
  289. LIBPREFIX=
  290. FPCMADE=fpcmade.v1
  291. PACKAGESUFFIX=v1
  292. endif
  293. ifeq ($(OS_TARGET),go32v2)
  294. LIBPREFIX=
  295. FPCMADE=fpcmade.dos
  296. ZIPSUFFIX=go32
  297. endif
  298. ifeq ($(OS_TARGET),linux)
  299. EXEEXT=
  300. HASSHAREDLIB=1
  301. FPCMADE=fpcmade.lnx
  302. ZIPSUFFIX=linux
  303. endif
  304. ifeq ($(OS_TARGET),freebsd)
  305. EXEEXT=
  306. HASSHAREDLIB=1
  307. FPCMADE=fpcmade.freebsd
  308. ZIPSUFFIX=freebsd
  309. endif
  310. ifeq ($(OS_TARGET),win32)
  311. PPUEXT=.ppw
  312. OEXT=.ow
  313. ASMEXT=.sw
  314. SMARTEXT=.slw
  315. STATICLIBEXT=.aw
  316. SHAREDLIBEXT=.dll
  317. FPCMADE=fpcmade.w32
  318. ZIPSUFFIX=w32
  319. endif
  320. ifeq ($(OS_TARGET),os2)
  321. PPUEXT=.ppo
  322. ASMEXT=.so2
  323. OEXT=.oo2
  324. AOUTEXT=.out
  325. SMARTEXT=.so
  326. STATICLIBEXT=.ao2
  327. SHAREDLIBEXT=.dll
  328. FPCMADE=fpcmade.os2
  329. ZIPSUFFIX=emx
  330. endif
  331. ifdef REQUIRE_UNITSDIR
  332. override UNITSDIR+=$(REQUIRE_UNITSDIR)
  333. endif
  334. ifdef REQUIRE_PACKAGESDIR
  335. override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
  336. endif
  337. ifdef ZIPINSTALL
  338. ifeq ($(OS_TARGET),linux)
  339. UNIXINSTALLDIR=1
  340. endif
  341. ifeq ($(OS_TARGET),freebsd)
  342. UNIXINSTALLDIR=1
  343. endif
  344. else
  345. ifeq ($(OS_SOURCE),linux)
  346. UNIXINSTALLDIR=1
  347. endif
  348. ifeq ($(OS_SOURCE),freebsd)
  349. UNIXINSTALLDIR=1
  350. endif
  351. endif
  352. ifndef INSTALL_PREFIX
  353. ifdef UNIXINSTALLDIR
  354. INSTALL_PREFIX=/usr/local
  355. else
  356. INSTALL_PREFIX=/pp
  357. endif
  358. endif
  359. export INSTALL_PREFIX
  360. ifndef DIST_DESTDIR
  361. DIST_DESTDIR:=$(BASEDIR)
  362. endif
  363. export DIST_DESTDIR
  364. ifndef INSTALL_BASEDIR
  365. ifdef UNIXINSTALLDIR
  366. INSTALL_BASEDIR=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
  367. else
  368. INSTALL_BASEDIR=$(INSTALL_PREFIX)
  369. endif
  370. endif
  371. ifndef INSTALL_BINDIR
  372. ifdef UNIXINSTALLDIR
  373. INSTALL_BINDIR=$(INSTALL_PREFIX)/bin
  374. else
  375. INSTALL_BINDIR=$(INSTALL_BASEDIR)/bin/$(OS_TARGET)
  376. endif
  377. endif
  378. ifndef INSTALL_UNITDIR
  379. INSTALL_UNITDIR=$(INSTALL_BASEDIR)/units/$(OS_TARGET)
  380. ifdef PACKAGE_NAME
  381. INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
  382. endif
  383. endif
  384. ifndef INSTALL_LIBDIR
  385. ifdef UNIXINSTALLDIR
  386. INSTALL_LIBDIR=$(INSTALL_PREFIX)/lib
  387. else
  388. INSTALL_LIBDIR=$(INSTALL_UNITDIR)
  389. endif
  390. endif
  391. ifndef INSTALL_SOURCEDIR
  392. ifdef UNIXINSTALLDIR
  393. INSTALL_SOURCEDIR=$(INSTALL_PREFIX)/src/fpc-$(FPC_VERSION)
  394. else
  395. INSTALL_SOURCEDIR=$(INSTALL_BASEDIR)/source
  396. endif
  397. ifdef PACKAGE_NAME
  398. INSTALL_SOURCEDIR:=$(INSTALL_SOURCEDIR)/$(PACKAGE_NAME)
  399. endif
  400. endif
  401. ifndef INSTALL_DOCDIR
  402. ifdef UNIXINSTALLDIR
  403. INSTALL_DOCDIR=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)
  404. else
  405. INSTALL_DOCDIR=$(INSTALL_BASEDIR)/doc
  406. endif
  407. endif
  408. ifndef INSTALL_EXAMPLEDIR
  409. ifdef UNIXINSTALLDIR
  410. INSTALL_EXAMPLEDIR=$(INSTALL_DOCDIR)/examples
  411. else
  412. INSTALL_EXAMPLEDIR=$(INSTALL_BASEDIR)/examples
  413. endif
  414. ifdef EXAMPLESUBDIR
  415. INSTALL_EXAMPLEDIR:=$(INSTALL_EXAMPLEDIR)/$(EXAMPLESUBDIR)
  416. endif
  417. endif
  418. ifndef INSTALL_DATADIR
  419. INSTALL_DATADIR=$(INSTALL_BASEDIR)
  420. endif
  421. ifdef inUnix
  422. ifndef GCCLIBDIR
  423. GCCLIBDIR:=$(shell dirname `(gcc -v 2>&1)| head -n 1| awk '{ print $$4 } '`)
  424. endif
  425. ifndef OTHERLIBDIR
  426. OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
  427. endif
  428. export GCCLIBDIR OTHERLIB
  429. endif
  430. ifeq ($(OS_TARGET),linux)
  431. REQUIRE_PACKAGES_RTL=1
  432. REQUIRE_PACKAGES_PASZLIB=1
  433. REQUIRE_PACKAGES_INET=1
  434. REQUIRE_PACKAGES_FCL=1
  435. REQUIRE_PACKAGES_MYSQL=1
  436. REQUIRE_PACKAGES_IBASE=1
  437. endif
  438. ifeq ($(OS_TARGET),go32v2)
  439. REQUIRE_PACKAGES_RTL=1
  440. REQUIRE_PACKAGES_PASZLIB=1
  441. REQUIRE_PACKAGES_FCL=1
  442. endif
  443. ifeq ($(OS_TARGET),win32)
  444. REQUIRE_PACKAGES_RTL=1
  445. REQUIRE_PACKAGES_PASZLIB=1
  446. REQUIRE_PACKAGES_FCL=1
  447. REQUIRE_PACKAGES_MYSQL=1
  448. REQUIRE_PACKAGES_IBASE=1
  449. endif
  450. ifeq ($(OS_TARGET),os2)
  451. REQUIRE_PACKAGES_RTL=1
  452. REQUIRE_PACKAGES_PASZLIB=1
  453. REQUIRE_PACKAGES_FCL=1
  454. endif
  455. ifeq ($(OS_TARGET),freebsd)
  456. REQUIRE_PACKAGES_RTL=1
  457. REQUIRE_PACKAGES_PASZLIB=1
  458. REQUIRE_PACKAGES_FCL=1
  459. endif
  460. ifdef REQUIRE_PACKAGES_RTL
  461. PACKAGEDIR_RTL:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR)))))
  462. ifneq ($(PACKAGEDIR_RTL),)
  463. PACKAGEDIR_RTL:=$(firstword $(PACKAGEDIR_RTL))
  464. ifeq ($(wildcard $(PACKAGEDIR_RTL)/$(FPCMADE)),)
  465. override COMPILEPACKAGES+=package_rtl
  466. package_rtl:
  467. $(MAKE) -C $(PACKAGEDIR_RTL) all
  468. endif
  469. ifneq ($(wildcard $(PACKAGEDIR_RTL)/$(OS_TARGET)),)
  470. UNITDIR_RTL=$(PACKAGEDIR_RTL)/$(OS_TARGET)
  471. else
  472. UNITDIR_RTL=$(PACKAGEDIR_RTL)
  473. endif
  474. else
  475. PACKAGEDIR_RTL=
  476. UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR)))))
  477. ifneq ($(UNITDIR_RTL),)
  478. UNITDIR_RTL:=$(firstword $(UNITDIR_RTL))
  479. else
  480. UNITDIR_RTL=
  481. endif
  482. endif
  483. ifdef UNITDIR_RTL
  484. override COMPILER_UNITDIR+=$(UNITDIR_RTL)
  485. endif
  486. endif
  487. ifdef REQUIRE_PACKAGES_PASZLIB
  488. PACKAGEDIR_PASZLIB:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Makefile.fpc,$(PACKAGESDIR)))))
  489. ifneq ($(PACKAGEDIR_PASZLIB),)
  490. PACKAGEDIR_PASZLIB:=$(firstword $(PACKAGEDIR_PASZLIB))
  491. ifeq ($(wildcard $(PACKAGEDIR_PASZLIB)/$(FPCMADE)),)
  492. override COMPILEPACKAGES+=package_paszlib
  493. package_paszlib:
  494. $(MAKE) -C $(PACKAGEDIR_PASZLIB) all
  495. endif
  496. ifneq ($(wildcard $(PACKAGEDIR_PASZLIB)/$(OS_TARGET)),)
  497. UNITDIR_PASZLIB=$(PACKAGEDIR_PASZLIB)/$(OS_TARGET)
  498. else
  499. UNITDIR_PASZLIB=$(PACKAGEDIR_PASZLIB)
  500. endif
  501. else
  502. PACKAGEDIR_PASZLIB=
  503. UNITDIR_PASZLIB:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Package.fpc,$(UNITSDIR)))))
  504. ifneq ($(UNITDIR_PASZLIB),)
  505. UNITDIR_PASZLIB:=$(firstword $(UNITDIR_PASZLIB))
  506. else
  507. UNITDIR_PASZLIB=
  508. endif
  509. endif
  510. ifdef UNITDIR_PASZLIB
  511. override COMPILER_UNITDIR+=$(UNITDIR_PASZLIB)
  512. endif
  513. endif
  514. ifdef REQUIRE_PACKAGES_INET
  515. PACKAGEDIR_INET:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /inet/Makefile.fpc,$(PACKAGESDIR)))))
  516. ifneq ($(PACKAGEDIR_INET),)
  517. PACKAGEDIR_INET:=$(firstword $(PACKAGEDIR_INET))
  518. ifeq ($(wildcard $(PACKAGEDIR_INET)/$(FPCMADE)),)
  519. override COMPILEPACKAGES+=package_inet
  520. package_inet:
  521. $(MAKE) -C $(PACKAGEDIR_INET) all
  522. endif
  523. ifneq ($(wildcard $(PACKAGEDIR_INET)/$(OS_TARGET)),)
  524. UNITDIR_INET=$(PACKAGEDIR_INET)/$(OS_TARGET)
  525. else
  526. UNITDIR_INET=$(PACKAGEDIR_INET)
  527. endif
  528. else
  529. PACKAGEDIR_INET=
  530. UNITDIR_INET:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /inet/Package.fpc,$(UNITSDIR)))))
  531. ifneq ($(UNITDIR_INET),)
  532. UNITDIR_INET:=$(firstword $(UNITDIR_INET))
  533. else
  534. UNITDIR_INET=
  535. endif
  536. endif
  537. ifdef UNITDIR_INET
  538. override COMPILER_UNITDIR+=$(UNITDIR_INET)
  539. endif
  540. endif
  541. ifdef REQUIRE_PACKAGES_FCL
  542. PACKAGEDIR_FCL:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl/Makefile.fpc,$(PACKAGESDIR)))))
  543. ifneq ($(PACKAGEDIR_FCL),)
  544. PACKAGEDIR_FCL:=$(firstword $(PACKAGEDIR_FCL))
  545. ifeq ($(wildcard $(PACKAGEDIR_FCL)/$(FPCMADE)),)
  546. override COMPILEPACKAGES+=package_fcl
  547. package_fcl:
  548. $(MAKE) -C $(PACKAGEDIR_FCL) all
  549. endif
  550. ifneq ($(wildcard $(PACKAGEDIR_FCL)/$(OS_TARGET)),)
  551. UNITDIR_FCL=$(PACKAGEDIR_FCL)/$(OS_TARGET)
  552. else
  553. UNITDIR_FCL=$(PACKAGEDIR_FCL)
  554. endif
  555. else
  556. PACKAGEDIR_FCL=
  557. UNITDIR_FCL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fcl/Package.fpc,$(UNITSDIR)))))
  558. ifneq ($(UNITDIR_FCL),)
  559. UNITDIR_FCL:=$(firstword $(UNITDIR_FCL))
  560. else
  561. UNITDIR_FCL=
  562. endif
  563. endif
  564. ifdef UNITDIR_FCL
  565. override COMPILER_UNITDIR+=$(UNITDIR_FCL)
  566. endif
  567. endif
  568. ifdef REQUIRE_PACKAGES_MYSQL
  569. PACKAGEDIR_MYSQL:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /mysql/Makefile.fpc,$(PACKAGESDIR)))))
  570. ifneq ($(PACKAGEDIR_MYSQL),)
  571. PACKAGEDIR_MYSQL:=$(firstword $(PACKAGEDIR_MYSQL))
  572. ifeq ($(wildcard $(PACKAGEDIR_MYSQL)/$(FPCMADE)),)
  573. override COMPILEPACKAGES+=package_mysql
  574. package_mysql:
  575. $(MAKE) -C $(PACKAGEDIR_MYSQL) all
  576. endif
  577. ifneq ($(wildcard $(PACKAGEDIR_MYSQL)/$(OS_TARGET)),)
  578. UNITDIR_MYSQL=$(PACKAGEDIR_MYSQL)/$(OS_TARGET)
  579. else
  580. UNITDIR_MYSQL=$(PACKAGEDIR_MYSQL)
  581. endif
  582. else
  583. PACKAGEDIR_MYSQL=
  584. UNITDIR_MYSQL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /mysql/Package.fpc,$(UNITSDIR)))))
  585. ifneq ($(UNITDIR_MYSQL),)
  586. UNITDIR_MYSQL:=$(firstword $(UNITDIR_MYSQL))
  587. else
  588. UNITDIR_MYSQL=
  589. endif
  590. endif
  591. ifdef UNITDIR_MYSQL
  592. override COMPILER_UNITDIR+=$(UNITDIR_MYSQL)
  593. endif
  594. endif
  595. ifdef REQUIRE_PACKAGES_IBASE
  596. PACKAGEDIR_IBASE:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /ibase/Makefile.fpc,$(PACKAGESDIR)))))
  597. ifneq ($(PACKAGEDIR_IBASE),)
  598. PACKAGEDIR_IBASE:=$(firstword $(PACKAGEDIR_IBASE))
  599. ifeq ($(wildcard $(PACKAGEDIR_IBASE)/$(FPCMADE)),)
  600. override COMPILEPACKAGES+=package_ibase
  601. package_ibase:
  602. $(MAKE) -C $(PACKAGEDIR_IBASE) all
  603. endif
  604. ifneq ($(wildcard $(PACKAGEDIR_IBASE)/$(OS_TARGET)),)
  605. UNITDIR_IBASE=$(PACKAGEDIR_IBASE)/$(OS_TARGET)
  606. else
  607. UNITDIR_IBASE=$(PACKAGEDIR_IBASE)
  608. endif
  609. else
  610. PACKAGEDIR_IBASE=
  611. UNITDIR_IBASE:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /ibase/Package.fpc,$(UNITSDIR)))))
  612. ifneq ($(UNITDIR_IBASE),)
  613. UNITDIR_IBASE:=$(firstword $(UNITDIR_IBASE))
  614. else
  615. UNITDIR_IBASE=
  616. endif
  617. endif
  618. ifdef UNITDIR_IBASE
  619. override COMPILER_UNITDIR+=$(UNITDIR_IBASE)
  620. endif
  621. endif
  622. .PHONY: package_rtl package_paszlib package_inet package_fcl package_mysql package_ibase
  623. override FPCOPTDEF=$(CPU_TARGET)
  624. ifneq ($(OS_TARGET),$(OS_SOURCE))
  625. override FPCOPT+=-T$(OS_TARGET)
  626. endif
  627. ifdef UNITDIR
  628. override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
  629. endif
  630. ifdef LIBDIR
  631. override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
  632. endif
  633. ifdef OBJDIR
  634. override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
  635. endif
  636. ifdef INCDIR
  637. override FPCOPT+=$(addprefix -Fi,$(INCDIR))
  638. endif
  639. ifdef LINKSMART
  640. override FPCOPT+=-XX
  641. endif
  642. ifdef CREATESMART
  643. override FPCOPT+=-CX
  644. endif
  645. ifdef DEBUG
  646. override FPCOPT+=-gl
  647. override FPCOPTDEF+=DEBUG
  648. endif
  649. ifdef RELEASE
  650. override FPCOPT+=-Xs -OG2p3 -n
  651. override FPCOPTDEF+=RELEASE
  652. endif
  653. ifdef STRIP
  654. override FPCOPT+=-Xs
  655. endif
  656. ifdef OPTIMIZE
  657. override FPCOPT+=-OG2p3
  658. endif
  659. ifdef VERBOSE
  660. override FPCOPT+=-vwni
  661. endif
  662. ifdef COMPILER_OPTIONS
  663. override FPCOPT+=$(COMPILER_OPTIONS)
  664. endif
  665. ifdef COMPILER_UNITDIR
  666. override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
  667. endif
  668. ifdef COMPILER_LIBRARYDIR
  669. override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
  670. endif
  671. ifdef COMPILER_OBJECTDIR
  672. override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
  673. endif
  674. ifdef COMPILER_INCLUDEDIR
  675. override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
  676. endif
  677. ifdef COMPILER_TARGETDIR
  678. override FPCOPT+=-FE$(COMPILER_TARGETDIR)
  679. ifeq ($(COMPILER_TARGETDIR),.)
  680. override TARGETDIRPREFIX=
  681. else
  682. override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
  683. endif
  684. endif
  685. ifdef COMPILER_UNITTARGETDIR
  686. override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
  687. ifeq ($(COMPILER_UNITTARGETDIR),.)
  688. override UNITTARGETDIRPREFIX=
  689. else
  690. override UNITTARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
  691. endif
  692. else
  693. ifdef COMPILER_TARGETDIR
  694. override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
  695. override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
  696. endif
  697. endif
  698. ifdef GCCLIBDIR
  699. override FPCOPT+=-Fl$(GCCLIBDIR)
  700. endif
  701. ifdef OTHERLIBDIR
  702. override FPCOPT+=$(addprefix -Fl,$(OTHERLIBDIR))
  703. endif
  704. ifdef OPT
  705. override FPCOPT+=$(OPT)
  706. endif
  707. ifdef FPCOPTDEF
  708. override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
  709. endif
  710. ifdef CFGFILE
  711. override FPCOPT+=@$(CFGFILE)
  712. endif
  713. ifeq ($(OS_SOURCE),win32)
  714. override FPCEXTCMD:=$(FPCOPT)
  715. override FPCOPT:=!FPCEXTCMD
  716. export FPCEXTCMD
  717. endif
  718. override COMPILER:=$(FPC) $(FPCOPT)
  719. ifeq (,$(findstring -s ,$(COMPILER)))
  720. EXECPPAS=
  721. else
  722. ifeq ($(OS_SOURCE),$(OS_TARGET))
  723. EXECPPAS:=@$(PPAS)
  724. endif
  725. endif
  726. .PHONY: fpc_exes
  727. ifdef TARGET_PROGRAMS
  728. override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS))
  729. override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addprefix $(LIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS)))
  730. override ALLTARGET+=fpc_exes
  731. override INSTALLEXEFILES+=$(EXEFILES)
  732. override CLEANEXEFILES+=$(EXEFILES) $(EXEOFILES)
  733. ifeq ($(OS_TARGET),os2)
  734. override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
  735. endif
  736. endif
  737. fpc_exes: $(EXEFILES)
  738. .PHONY: fpc_packages fpc_all fpc_smart fpc_debug
  739. $(FPCMADE): $(ALLTARGET)
  740. @$(ECHO) Compiled > $(FPCMADE)
  741. fpc_packages: $(COMPILEPACKAGES)
  742. fpc_all: fpc_packages $(FPCMADE)
  743. fpc_smart:
  744. $(MAKE) all LINKSMART=1 CREATESMART=1
  745. fpc_debug:
  746. $(MAKE) all DEBUG=1
  747. .SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp
  748. %$(PPUEXT): %.pp
  749. $(COMPILER) $<
  750. $(EXECPPAS)
  751. %$(PPUEXT): %.pas
  752. $(COMPILER) $<
  753. $(EXECPPAS)
  754. %$(EXEEXT): %.pp
  755. $(COMPILER) $<
  756. $(EXECPPAS)
  757. %$(EXEEXT): %.pas
  758. $(COMPILER) $<
  759. $(EXECPPAS)
  760. vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  761. vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  762. vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
  763. .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
  764. ifdef INSTALL_UNITS
  765. override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
  766. endif
  767. ifdef INSTALLPPUFILES
  768. ifdef PPUFILES
  769. override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILES))
  770. override INSTALLPPULINKFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES)))
  771. else
  772. override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(LIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
  773. override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILES))
  774. override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPULINKFILES)))
  775. endif
  776. endif
  777. ifdef INSTALLEXEFILES
  778. override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(INSTALLEXEFILES))
  779. endif
  780. fpc_install: $(INSTALLTARGET)
  781. ifdef INSTALLEXEFILES
  782. $(MKDIR) $(INSTALL_BINDIR)
  783. ifdef UPXPROG
  784. -$(UPXPROG) $(INSTALLEXEFILES)
  785. endif
  786. $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
  787. endif
  788. ifdef INSTALLPPUFILES
  789. $(MKDIR) $(INSTALL_UNITDIR)
  790. $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
  791. ifneq ($(INSTALLPPULINKFILES),)
  792. $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
  793. endif
  794. ifneq ($(wildcard $(LIB_FULLNAME)),)
  795. $(MKDIR) $(INSTALL_LIBDIR)
  796. $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
  797. ifdef inUnix
  798. ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
  799. endif
  800. endif
  801. endif
  802. ifdef INSTALL_FILES
  803. $(MKDIR) $(INSTALL_DATADIR)
  804. $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
  805. endif
  806. fpc_sourceinstall: distclean
  807. $(MKDIR) $(INSTALL_SOURCEDIR)
  808. $(COPYTREE) $(BASEDIR) $(INSTALL_SOURCEDIR)
  809. fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
  810. ifdef EXAMPLESOURCEFILES
  811. $(MKDIR) $(INSTALL_EXAMPLEDIR)
  812. $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
  813. endif
  814. ifdef TARGET_EXAMPLEDIRS
  815. ifndef EXAMPLESOURCEFILES
  816. $(MKDIR) $(INSTALL_EXAMPLEDIR)
  817. endif
  818. $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
  819. endif
  820. fpc_distinstall: fpc_install fpc_exampleinstall
  821. .PHONY: fpc_zipinstall fpc_zipsourceinstall fpc_zipexampleinstall
  822. ifndef PACKDIR
  823. ifndef inUnix
  824. PACKDIR=$(BASEDIR)/../pack_tmp/$(PACKAGE_NAME)
  825. else
  826. PACKDIR=/tmp/fpc-pack/$(PACKAGE_NAME)
  827. endif
  828. endif
  829. ifndef ZIPNAME
  830. ifdef DIST_ZIPNAME
  831. ZIPNAME=$(DIST_ZIPNAME)
  832. else
  833. ZIPNAME=$(ZIPPREFIX)$(PACKAGE_NAME)$(ZIPSUFFIX)
  834. endif
  835. endif
  836. ifndef ZIPTARGET
  837. ifdef DIST_ZIPTARGET
  838. ZIPTARGET=DIST_ZIPTARGET
  839. else
  840. ZIPTARGET=install
  841. endif
  842. endif
  843. ifndef USEZIP
  844. ifdef inUnix
  845. USETAR=1
  846. endif
  847. endif
  848. ifdef inOS2
  849. USEZIPWRAPPER=1
  850. endif
  851. ZIPWRAPPER=$(DIST_DESTDIR)/fpczip$(BATCHEXT)
  852. ZIPCMD_CDPACK:=cd $(subst /,$(PATHSEP),$(PACKDIR))
  853. ZIPCMD_CDBASE:=cd $(subst /,$(PATHSEP),$(BASEDIR))
  854. ifdef USETAR
  855. ZIPDESTFILE:=$(DIST_DESTDIR)/$(ZIPNAME)$(TAREXT)
  856. ZIPCMD_ZIP:=$(TARPROG) cf$(TAROPT) $(ZIPDESTFILE) *
  857. else
  858. ZIPDESTFILE:=$(DIST_DESTDIR)/$(ZIPNAME)$(ZIPEXT)
  859. ZIPCMD_ZIP:=$(subst /,$(PATHSEP),$(ZIPPROG)) -Dr $(ZIPOPT) $(ZIPDESTFILE) *
  860. endif
  861. fpc_zipinstall:
  862. $(MAKE) $(ZIPTARGET) INSTALL_PREFIX=$(PACKDIR) ZIPINSTALL=1
  863. $(DEL) $(ZIPDESTFILE)
  864. ifdef USEZIPWRAPPER
  865. ifneq ($(ECHO),echo)
  866. $(ECHO) "$(ZIPCMD_CDPACK)" > $(ZIPWRAPPER)
  867. $(ECHO) "$(ZIPCMD_ZIP)" >> $(ZIPWRAPPER)
  868. $(ECHO) "$(ZIPCMD_CDBASE)" >> $(ZIPWRAPPER)
  869. else
  870. $(ECHO) $(ZIPCMD_CDPACK) > $(ZIPWRAPPER)
  871. $(ECHO) $(ZIPCMD_ZIP) >> $(ZIPWRAPPER)
  872. $(ECHO) $(ZIPCMD_CDBASE) >> $(ZIPWRAPPER)
  873. endif
  874. ifdef inUnix
  875. /bin/sh $(ZIPWRAPPER)
  876. else
  877. $(ZIPWRAPPER)
  878. endif
  879. $(DEL) $(ZIPWRAPPER)
  880. else
  881. $(ZIPCMD_CDPACK) ; $(ZIPCMD_ZIP) ; $(ZIPCMD_CDBASE)
  882. endif
  883. $(DELTREE) $(PACKDIR)
  884. fpc_zipsourceinstall:
  885. $(MAKE) fpc_zipinstall ZIPTARGET=sourceinstall ZIPSUFFIX=src
  886. fpc_zipexampleinstall:
  887. $(MAKE) fpc_zipinstall ZIPTARGET=exampleinstall ZIPSUFFIX=exm
  888. fpc_zipdistinstall:
  889. $(MAKE) fpc_zipinstall ZIPTARGET=distinstall
  890. .PHONY: fpc_clean fpc_cleanall fpc_distclean
  891. ifdef EXEFILES
  892. override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
  893. endif
  894. ifdef CLEAN_UNITS
  895. override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
  896. endif
  897. ifdef CLEANPPUFILES
  898. override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
  899. ifdef PPUFILES
  900. CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
  901. else
  902. CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(LIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))))
  903. endif
  904. override CLEANPPULINKFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES))
  905. endif
  906. fpc_clean: $(CLEANTARGET)
  907. ifdef CLEANEXEFILES
  908. -$(DEL) $(CLEANEXEFILES)
  909. endif
  910. ifdef CLEANPPUFILES
  911. -$(DEL) $(CLEANPPUFILES)
  912. endif
  913. ifneq ($(CLEANPPULINKFILES),)
  914. -$(DEL) $(CLEANPPULINKFILES)
  915. endif
  916. ifdef CLEANRSTFILES
  917. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  918. endif
  919. ifdef CLEAN_FILES
  920. -$(DEL) $(CLEAN_FILES)
  921. endif
  922. ifdef LIB_NAME
  923. -$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
  924. endif
  925. -$(DEL) $(FPCMADE) $(PPAS) link.res $(FPCEXTFILE) $(REDIRFILE)
  926. fpc_distclean: fpc_clean
  927. ifdef COMPILER_UNITTARGETDIR
  928. TARGETDIRCLEAN=fpc_clean
  929. endif
  930. fpc_cleanall: $(CLEANTARGET) $(TARGETDIRCLEAN)
  931. ifdef CLEANEXEFILES
  932. -$(DEL) $(CLEANEXEFILES)
  933. endif
  934. -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
  935. -$(DELTREE) *$(SMARTEXT)
  936. -$(DEL) $(FPCMADE) $(PPAS) link.res $(FPCEXTFILE) $(REDIRFILE)
  937. ifdef AOUTEXT
  938. -$(DEL) *$(AOUTEXT)
  939. endif
  940. .PHONY: fpc_info
  941. fpc_info:
  942. @$(ECHO)
  943. @$(ECHO) == Package info ==
  944. @$(ECHO) Package Name..... $(PACKAGE_NAME)
  945. @$(ECHO) Package Version.. $(PACKAGE_VERSION)
  946. @$(ECHO)
  947. @$(ECHO) == Configuration info ==
  948. @$(ECHO)
  949. @$(ECHO) FPC.......... $(FPC)
  950. @$(ECHO) FPC Version.. $(FPC_VERSION)
  951. @$(ECHO) Source CPU... $(CPU_SOURCE)
  952. @$(ECHO) Target CPU... $(CPU_TARGET)
  953. @$(ECHO) Source OS.... $(OS_SOURCE)
  954. @$(ECHO) Target OS.... $(OS_TARGET)
  955. @$(ECHO)
  956. @$(ECHO) == Directory info ==
  957. @$(ECHO)
  958. @$(ECHO) Basedir......... $(BASEDIR)
  959. @$(ECHO) FPCDir.......... $(FPCDIR)
  960. @$(ECHO) UnitsDir........ $(UNITSDIR)
  961. @$(ECHO) PackagesDir..... $(PACKAGESDIR)
  962. @$(ECHO)
  963. @$(ECHO) GCC library..... $(GCCLIBDIR)
  964. @$(ECHO) Other library... $(OTHERLIBDIR)
  965. @$(ECHO)
  966. @$(ECHO) == Tools info ==
  967. @$(ECHO)
  968. @$(ECHO) Pwd....... $(PWD)
  969. @$(ECHO) Echo...... $(ECHO)
  970. @$(ECHO) PPUMove... $(PPUMOVE)
  971. @$(ECHO) PPUFiles.. $(PPUFILES)
  972. @$(ECHO) Date...... $(DATE)
  973. @$(ECHO) Upx....... $(UPXPROG)
  974. @$(ECHO) Zip....... $(ZIPPROG)
  975. @$(ECHO)
  976. @$(ECHO) == Object info ==
  977. @$(ECHO)
  978. @$(ECHO) Target Loaders...... $(TARGET_LOADERS)
  979. @$(ECHO) Target Units........ $(TARGET_UNITS)
  980. @$(ECHO) Target Programs..... $(TARGET_PROGRAMS)
  981. @$(ECHO) Target Dirs......... $(TARGET_DIRS)
  982. @$(ECHO) Target Examples..... $(TARGET_EXAMPLES)
  983. @$(ECHO) Target ExampleDirs.. $(TARGET_EXAMPLEDIRS)
  984. @$(ECHO)
  985. @$(ECHO) Clean Units......... $(CLEAN_UNITS)
  986. @$(ECHO) Clean Files......... $(CLEAN_FILES)
  987. @$(ECHO)
  988. @$(ECHO) Install Units....... $(INSTALL_UNITS)
  989. @$(ECHO) Install Files....... $(INSTALL_FILES)
  990. @$(ECHO)
  991. @$(ECHO) == Install info ==
  992. @$(ECHO)
  993. @$(ECHO) DateStr.............. $(DATESTR)
  994. @$(ECHO) ZipPrefix............ $(ZIPPREFIX)
  995. @$(ECHO) ZipSuffix............ $(ZIPSUFFIX)
  996. @$(ECHO)
  997. @$(ECHO) INSTALL_BASEDIR...... $(INSTALL_BASEDIR)
  998. @$(ECHO) INSTALL_BINDIR....... $(INSTALL_BINDIR)
  999. @$(ECHO) INSTALL_LIBDIR....... $(INSTALL_LIBDIR)
  1000. @$(ECHO) INSTALL_UNITDIR...... $(INSTALL_UNITDIR)
  1001. @$(ECHO) INSTALL_SOURCEDIR.... $(INSTALL_SOURCEDIR)
  1002. @$(ECHO) INSTALL_DOCDIR....... $(INSTALL_DOCDIR)
  1003. @$(ECHO) INSTALL_DATADIR...... $(INSTALL_DATADIR)
  1004. @$(ECHO)
  1005. @$(ECHO) DIST_DESTDIR......... $(DIST_DESTDIR)
  1006. @$(ECHO) DIST_ZIPNAME......... $(DIST_ZIPNAME)
  1007. @$(ECHO)
  1008. TARGET_DIRS_FPCM=1
  1009. TARGET_DIRS_TPLY=1
  1010. TARGET_DIRS_H2PAS=1
  1011. TARGET_DIRS_FPRCP=1
  1012. ifdef TARGET_DIRS_FPCM
  1013. fpcm_all:
  1014. $(MAKE) -C fpcm all
  1015. fpcm_debug:
  1016. $(MAKE) -C fpcm debug
  1017. fpcm_examples:
  1018. $(MAKE) -C fpcm examples
  1019. fpcm_smart:
  1020. $(MAKE) -C fpcm smart
  1021. fpcm_shared:
  1022. $(MAKE) -C fpcm shared
  1023. fpcm_install:
  1024. $(MAKE) -C fpcm install
  1025. fpcm_sourceinstall:
  1026. $(MAKE) -C fpcm sourceinstall
  1027. fpcm_exampleinstall:
  1028. $(MAKE) -C fpcm exampleinstall
  1029. fpcm_distinstall:
  1030. $(MAKE) -C fpcm distinstall
  1031. fpcm_zipinstall:
  1032. $(MAKE) -C fpcm zipinstall
  1033. fpcm_zipsourceinstall:
  1034. $(MAKE) -C fpcm zipsourceinstall
  1035. fpcm_zipexampleinstall:
  1036. $(MAKE) -C fpcm zipexampleinstall
  1037. fpcm_zipdistinstall:
  1038. $(MAKE) -C fpcm zipdistinstall
  1039. fpcm_clean:
  1040. $(MAKE) -C fpcm clean
  1041. fpcm_distclean:
  1042. $(MAKE) -C fpcm distclean
  1043. fpcm_cleanall:
  1044. $(MAKE) -C fpcm cleanall
  1045. fpcm_info:
  1046. $(MAKE) -C fpcm info
  1047. fpcm:
  1048. $(MAKE) -C fpcm all
  1049. .PHONY: fpcm_all fpcm_debug fpcm_examples fpcm_smart fpcm_shared fpcm_install fpcm_sourceinstall fpcm_exampleinstall fpcm_distinstall fpcm_zipinstall fpcm_zipsourceinstall fpcm_zipexampleinstall fpcm_zipdistinstall fpcm_clean fpcm_distclean fpcm_cleanall fpcm_info fpcm
  1050. endif
  1051. ifdef TARGET_DIRS_TPLY
  1052. tply_all:
  1053. $(MAKE) -C tply all
  1054. tply_debug:
  1055. $(MAKE) -C tply debug
  1056. tply_examples:
  1057. $(MAKE) -C tply examples
  1058. tply_smart:
  1059. $(MAKE) -C tply smart
  1060. tply_shared:
  1061. $(MAKE) -C tply shared
  1062. tply_install:
  1063. $(MAKE) -C tply install
  1064. tply_sourceinstall:
  1065. $(MAKE) -C tply sourceinstall
  1066. tply_exampleinstall:
  1067. $(MAKE) -C tply exampleinstall
  1068. tply_distinstall:
  1069. $(MAKE) -C tply distinstall
  1070. tply_zipinstall:
  1071. $(MAKE) -C tply zipinstall
  1072. tply_zipsourceinstall:
  1073. $(MAKE) -C tply zipsourceinstall
  1074. tply_zipexampleinstall:
  1075. $(MAKE) -C tply zipexampleinstall
  1076. tply_zipdistinstall:
  1077. $(MAKE) -C tply zipdistinstall
  1078. tply_clean:
  1079. $(MAKE) -C tply clean
  1080. tply_distclean:
  1081. $(MAKE) -C tply distclean
  1082. tply_cleanall:
  1083. $(MAKE) -C tply cleanall
  1084. tply_info:
  1085. $(MAKE) -C tply info
  1086. tply:
  1087. $(MAKE) -C tply all
  1088. .PHONY: tply_all tply_debug tply_examples tply_smart tply_shared tply_install tply_sourceinstall tply_exampleinstall tply_distinstall tply_zipinstall tply_zipsourceinstall tply_zipexampleinstall tply_zipdistinstall tply_clean tply_distclean tply_cleanall tply_info tply
  1089. endif
  1090. ifdef TARGET_DIRS_H2PAS
  1091. h2pas_all:
  1092. $(MAKE) -C h2pas all
  1093. h2pas_debug:
  1094. $(MAKE) -C h2pas debug
  1095. h2pas_examples:
  1096. $(MAKE) -C h2pas examples
  1097. h2pas_smart:
  1098. $(MAKE) -C h2pas smart
  1099. h2pas_shared:
  1100. $(MAKE) -C h2pas shared
  1101. h2pas_install:
  1102. $(MAKE) -C h2pas install
  1103. h2pas_sourceinstall:
  1104. $(MAKE) -C h2pas sourceinstall
  1105. h2pas_exampleinstall:
  1106. $(MAKE) -C h2pas exampleinstall
  1107. h2pas_distinstall:
  1108. $(MAKE) -C h2pas distinstall
  1109. h2pas_zipinstall:
  1110. $(MAKE) -C h2pas zipinstall
  1111. h2pas_zipsourceinstall:
  1112. $(MAKE) -C h2pas zipsourceinstall
  1113. h2pas_zipexampleinstall:
  1114. $(MAKE) -C h2pas zipexampleinstall
  1115. h2pas_zipdistinstall:
  1116. $(MAKE) -C h2pas zipdistinstall
  1117. h2pas_clean:
  1118. $(MAKE) -C h2pas clean
  1119. h2pas_distclean:
  1120. $(MAKE) -C h2pas distclean
  1121. h2pas_cleanall:
  1122. $(MAKE) -C h2pas cleanall
  1123. h2pas_info:
  1124. $(MAKE) -C h2pas info
  1125. h2pas:
  1126. $(MAKE) -C h2pas all
  1127. .PHONY: h2pas_all h2pas_debug h2pas_examples h2pas_smart h2pas_shared h2pas_install h2pas_sourceinstall h2pas_exampleinstall h2pas_distinstall h2pas_zipinstall h2pas_zipsourceinstall h2pas_zipexampleinstall h2pas_zipdistinstall h2pas_clean h2pas_distclean h2pas_cleanall h2pas_info h2pas
  1128. endif
  1129. ifdef TARGET_DIRS_FPRCP
  1130. fprcp_all:
  1131. $(MAKE) -C fprcp all
  1132. fprcp_debug:
  1133. $(MAKE) -C fprcp debug
  1134. fprcp_examples:
  1135. $(MAKE) -C fprcp examples
  1136. fprcp_smart:
  1137. $(MAKE) -C fprcp smart
  1138. fprcp_shared:
  1139. $(MAKE) -C fprcp shared
  1140. fprcp_install:
  1141. $(MAKE) -C fprcp install
  1142. fprcp_sourceinstall:
  1143. $(MAKE) -C fprcp sourceinstall
  1144. fprcp_exampleinstall:
  1145. $(MAKE) -C fprcp exampleinstall
  1146. fprcp_distinstall:
  1147. $(MAKE) -C fprcp distinstall
  1148. fprcp_zipinstall:
  1149. $(MAKE) -C fprcp zipinstall
  1150. fprcp_zipsourceinstall:
  1151. $(MAKE) -C fprcp zipsourceinstall
  1152. fprcp_zipexampleinstall:
  1153. $(MAKE) -C fprcp zipexampleinstall
  1154. fprcp_zipdistinstall:
  1155. $(MAKE) -C fprcp zipdistinstall
  1156. fprcp_clean:
  1157. $(MAKE) -C fprcp clean
  1158. fprcp_distclean:
  1159. $(MAKE) -C fprcp distclean
  1160. fprcp_cleanall:
  1161. $(MAKE) -C fprcp cleanall
  1162. fprcp_info:
  1163. $(MAKE) -C fprcp info
  1164. fprcp:
  1165. $(MAKE) -C fprcp all
  1166. .PHONY: fprcp_all fprcp_debug fprcp_examples fprcp_smart fprcp_shared fprcp_install fprcp_sourceinstall fprcp_exampleinstall fprcp_distinstall fprcp_zipinstall fprcp_zipsourceinstall fprcp_zipexampleinstall fprcp_zipdistinstall fprcp_clean fprcp_distclean fprcp_cleanall fprcp_info fprcp
  1167. endif
  1168. all: fpc_all $(addsuffix _all,$(TARGET_DIRS))
  1169. debug: fpc_debug $(addsuffix _debug,$(TARGET_DIRS))
  1170. examples: fpc_examples $(addsuffix _examples,$(TARGET_DIRS))
  1171. smart: fpc_smart $(addsuffix _smart,$(TARGET_DIRS))
  1172. shared: fpc_shared $(addsuffix _shared,$(TARGET_DIRS))
  1173. install: fpc_install $(addsuffix _install,$(TARGET_DIRS))
  1174. sourceinstall: fpc_sourceinstall
  1175. exampleinstall: fpc_exampleinstall $(addsuffix _exampleinstall,$(TARGET_DIRS))
  1176. distinstall: fpc_distinstall $(addsuffix _distinstall,$(TARGET_DIRS))
  1177. zipinstall: fpc_zipinstall
  1178. zipsourceinstall: fpc_zipsourceinstall
  1179. zipexampleinstall: fpc_zipexampleinstall $(addsuffix _zipexampleinstall,$(TARGET_DIRS))
  1180. zipdistinstall: fpc_zipdistinstall $(addsuffix _zipdistinstall,$(TARGET_DIRS))
  1181. clean: fpc_clean $(addsuffix _clean,$(TARGET_DIRS))
  1182. distclean: fpc_distclean $(addsuffix _distclean,$(TARGET_DIRS))
  1183. cleanall: fpc_cleanall $(addsuffix _cleanall,$(TARGET_DIRS))
  1184. info: fpc_info $(addsuffix _info,$(TARGET_DIRS))
  1185. .PHONY: all debug examples smart shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info
  1186. ifneq ($(wildcard fpcmake.loc),)
  1187. include fpcmake.loc
  1188. endif
  1189. ppu$(PPUEXT): ppu.pas
  1190. ppudump$(EXEEXT): ppudump.pp ppu$(PPUEXT)
  1191. ppumove$(EXEEXT): ppumove.pp ppu$(PPUEXT)
  1192. ptop$(EXEEXT): ptop.pp ptopu$(PPUEXT)
  1193. ptopu$(PPUEXT): ptopu.pp
  1194. ppdep$(EXEEXT): ppdep.pp
  1195. unexport PPUFILES PPUMOVE DATA2INC