Makefile 27 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309
  1. #
  2. # Makefile generated by fpcmake v1.00 [2000/10/27]
  3. #
  4. defaultrule: all
  5. #####################################################################
  6. # Autodetect OS (Linux or Dos or Windows NT)
  7. # define inUnix when running under Unix (Linux,FreeBSD)
  8. # define inWinNT when running under WinNT
  9. #####################################################################
  10. # We need only / in the path
  11. override PATH:=$(subst \,/,$(PATH))
  12. # Search for PWD and determine also if we are under linux
  13. PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(subst ;, ,$(PATH)))))
  14. ifeq ($(PWD),)
  15. PWD:=$(strip $(wildcard $(addsuffix /pwd,$(subst :, ,$(PATH)))))
  16. ifeq ($(PWD),)
  17. nopwd:
  18. @echo You need the GNU utils package to use this Makefile!
  19. @echo Get ftp://ftp.freepascal.org/pub/fpc/dist/go32v2/utilgo32.zip
  20. @exit
  21. else
  22. inUnix=1
  23. endif
  24. else
  25. PWD:=$(firstword $(PWD))
  26. endif
  27. # Detect NT - NT sets OS to Windows_NT
  28. # Detect OS/2 - OS/2 has OS2_SHELL defined
  29. ifndef inUnix
  30. ifeq ($(OS),Windows_NT)
  31. inWinNT=1
  32. else
  33. ifdef OS2_SHELL
  34. inOS2=1
  35. endif
  36. endif
  37. endif
  38. # The extension of executables
  39. ifdef inUnix
  40. SRCEXEEXT=
  41. else
  42. SRCEXEEXT=.exe
  43. endif
  44. # The path which is searched separated by spaces
  45. ifdef inUnix
  46. SEARCHPATH=$(subst :, ,$(PATH))
  47. else
  48. SEARCHPATH=$(subst ;, ,$(PATH))
  49. endif
  50. # Base dir
  51. ifdef PWD
  52. BASEDIR:=$(shell $(PWD))
  53. else
  54. BASEDIR=.
  55. endif
  56. #####################################################################
  57. # FPC version/target Detection
  58. #####################################################################
  59. # What compiler to use ?
  60. ifndef FPC
  61. # Compatibility with old makefiles
  62. ifdef PP
  63. FPC=$(PP)
  64. else
  65. FPC=ppc386
  66. endif
  67. endif
  68. override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
  69. override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
  70. # Target OS
  71. ifndef OS_TARGET
  72. OS_TARGET:=$(shell $(FPC) -iTO)
  73. endif
  74. # Source OS
  75. ifndef OS_SOURCE
  76. OS_SOURCE:=$(shell $(FPC) -iSO)
  77. endif
  78. # Target CPU
  79. ifndef CPU_TARGET
  80. CPU_TARGET:=$(shell $(FPC) -iTP)
  81. endif
  82. # Source CPU
  83. ifndef CPU_SOURCE
  84. CPU_SOURCE:=$(shell $(FPC) -iSP)
  85. endif
  86. # FPC version
  87. ifndef FPC_VERSION
  88. FPC_VERSION:=$(shell $(FPC) -iV)
  89. endif
  90. export FPC OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FPC_VERSION
  91. #####################################################################
  92. # FPCDIR Setting
  93. #####################################################################
  94. # Test FPCDIR to look if the RTL dir exists
  95. ifdef FPCDIR
  96. override FPCDIR:=$(subst \,/,$(FPCDIR))
  97. ifeq ($(wildcard $(FPCDIR)/rtl),)
  98. ifeq ($(wildcard $(FPCDIR)/units),)
  99. override FPCDIR=wrong
  100. endif
  101. endif
  102. else
  103. override FPCDIR=wrong
  104. endif
  105. # Default FPCDIR
  106. ifeq ($(FPCDIR),wrong)
  107. override FPCDIR=../../..
  108. ifeq ($(wildcard $(FPCDIR)/rtl),)
  109. ifeq ($(wildcard $(FPCDIR)/units),)
  110. override FPCDIR=wrong
  111. endif
  112. endif
  113. endif
  114. # Detect FPCDIR
  115. ifeq ($(FPCDIR),wrong)
  116. ifdef inUnix
  117. override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
  118. ifeq ($(wildcard $(FPCDIR)/units),)
  119. override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
  120. endif
  121. else
  122. override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
  123. override FPCDIR:=$(FPCDIR)/..
  124. ifeq ($(wildcard $(FPCDIR)/rtl),)
  125. ifeq ($(wildcard $(FPCDIR)/units),)
  126. override FPCDIR:=$(FPCDIR)/..
  127. ifeq ($(wildcard $(FPCDIR)/rtl),)
  128. ifeq ($(wildcard $(FPCDIR)/units),)
  129. override FPCDIR=c:/pp
  130. endif
  131. endif
  132. endif
  133. endif
  134. endif
  135. endif
  136. ifndef PACKAGESDIR
  137. PACKAGESDIR=$(FPCDIR)/packages
  138. endif
  139. ifndef TOOLKITSDIR
  140. TOOLKITSDIR=
  141. endif
  142. ifndef COMPONENTSDIR
  143. COMPONENTSDIR=
  144. endif
  145. # Create units dir
  146. ifneq ($(FPCDIR),.)
  147. UNITSDIR=$(FPCDIR)/units/$(OS_TARGET)
  148. endif
  149. #####################################################################
  150. # User Settings
  151. #####################################################################
  152. # Targets
  153. override EXEOBJECTS+=pushme yesno pushbutton touchbutton minput inputall choice butttypes colsel colsel1 buttonall chartall positioner secretinput cursor fdial ldial ndial invslider sliderall borderwidth boxtype xyplotover arrowbutton browserop browserall chartstrip colbrowser counter fbrowse1 fbrowse flclock fonts goodies lalign ll longlabel menu objinactive objpos newbutton multilabel objreturn
  154. # Clean
  155. # Install
  156. ZIPTARGET=install
  157. # Defaults
  158. # Directories
  159. # Packages
  160. override PACKAGES+=rtl forms x11
  161. # Libraries
  162. override NEEDOTHERLIB=1
  163. # Info
  164. INFOTARGET=fpc_infocfg fpc_infoobjects fpc_infoinstall
  165. #####################################################################
  166. # Shell tools
  167. #####################################################################
  168. # echo
  169. ifndef ECHO
  170. ECHO:=$(strip $(wildcard $(addsuffix /gecho$(EXEEXT),$(SEARCHPATH))))
  171. ifeq ($(ECHO),)
  172. ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
  173. ifeq ($(ECHO),)
  174. ECHO:=echo
  175. ECHOE:=echo
  176. else
  177. ECHO:=$(firstword $(ECHO))
  178. ECHOE=$(ECHO) -E
  179. endif
  180. else
  181. ECHO:=$(firstword $(ECHO))
  182. ECHOE=$(ECHO) -E
  183. endif
  184. endif
  185. # To copy pograms
  186. ifndef COPY
  187. COPY:=cp -fp
  188. endif
  189. # Copy a whole tree
  190. ifndef COPYTREE
  191. COPYTREE:=cp -rfp
  192. endif
  193. # To move pograms
  194. ifndef MOVE
  195. MOVE:=mv -f
  196. endif
  197. # Check delete program
  198. ifndef DEL
  199. DEL:=rm -f
  200. endif
  201. # Check deltree program
  202. ifndef DELTREE
  203. DELTREE:=rm -rf
  204. endif
  205. # To install files
  206. ifndef INSTALL
  207. ifdef inUnix
  208. INSTALL:=install -c -m 644
  209. else
  210. INSTALL:=$(COPY)
  211. endif
  212. endif
  213. # To install programs
  214. ifndef INSTALLEXE
  215. ifdef inUnix
  216. INSTALLEXE:=install -c -m 755
  217. else
  218. INSTALLEXE:=$(COPY)
  219. endif
  220. endif
  221. # To make a directory.
  222. ifndef MKDIR
  223. ifdef inUnix
  224. MKDIR:=install -m 755 -d
  225. else
  226. MKDIR:=ginstall -m 755 -d
  227. endif
  228. endif
  229. export ECHO ECHOE COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
  230. #####################################################################
  231. # Default Tools
  232. #####################################################################
  233. # assembler, redefine it if cross compiling
  234. ifndef AS
  235. AS=as
  236. endif
  237. # linker, but probably not used
  238. ifndef LD
  239. LD=ld
  240. endif
  241. # ppas.bat / ppas.sh
  242. ifdef inUnix
  243. PPAS=ppas.sh
  244. else
  245. ifdef inOS2
  246. PPAS=ppas.cmd
  247. else
  248. PPAS=ppas.bat
  249. endif
  250. endif
  251. # ldconfig to rebuild .so cache
  252. ifdef inUnix
  253. LDCONFIG=ldconfig
  254. else
  255. LDCONFIG=
  256. endif
  257. # ppumove
  258. ifndef PPUMOVE
  259. PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
  260. ifeq ($(PPUMOVE),)
  261. PPUMOVE=
  262. else
  263. PPUMOVE:=$(firstword $(PPUMOVE))
  264. endif
  265. endif
  266. export PPUMOVE
  267. # ppufiles
  268. ifndef PPUFILES
  269. PPUFILES:=$(strip $(wildcard $(addsuffix /ppufiles$(SRCEXEEXT),$(SEARCHPATH))))
  270. ifeq ($(PPUFILES),)
  271. PPUFILES=
  272. else
  273. PPUFILES:=$(firstword $(PPUFILES))
  274. endif
  275. endif
  276. export PPUFILES
  277. # Look if UPX is found for go32v2 and win32. We can't use $UPX becuase
  278. # upx uses that one itself (PFV)
  279. ifndef UPXPROG
  280. ifeq ($(OS_TARGET),go32v2)
  281. UPXPROG:=1
  282. endif
  283. ifeq ($(OS_TARGET),win32)
  284. UPXPROG:=1
  285. endif
  286. ifdef UPXPROG
  287. UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
  288. ifeq ($(UPXPROG),)
  289. UPXPROG=
  290. else
  291. UPXPROG:=$(firstword $(UPXPROG))
  292. endif
  293. else
  294. UPXPROG=
  295. endif
  296. endif
  297. export UPXPROG
  298. # ZipProg, you can't use Zip as the var name (PFV)
  299. ifndef ZIPPROG
  300. ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
  301. ifeq ($(ZIPPROG),)
  302. ZIPPROG=
  303. else
  304. ZIPPROG:=$(firstword $(ZIPPROG))
  305. endif
  306. endif
  307. export ZIPPROG
  308. ZIPOPT=-9
  309. ZIPEXT=.zip
  310. # Tar
  311. ifndef TARPROG
  312. TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
  313. ifeq ($(TARPROG),)
  314. TARPROG=
  315. else
  316. TARPROG:=$(firstword $(TARPROG))
  317. endif
  318. endif
  319. export TARPROG
  320. ifeq ($(USETAR),bz2)
  321. TAROPT=vI
  322. TAREXT=.tar.bz2
  323. else
  324. TAROPT=vz
  325. TAREXT=.tar.gz
  326. endif
  327. #####################################################################
  328. # Default extensions
  329. #####################################################################
  330. # Default needed extensions (Go32v2,Linux)
  331. LOADEREXT=.as
  332. EXEEXT=.exe
  333. PPLEXT=.ppl
  334. PPUEXT=.ppu
  335. OEXT=.o
  336. ASMEXT=.s
  337. SMARTEXT=.sl
  338. STATICLIBEXT=.a
  339. SHAREDLIBEXT=.so
  340. RSTEXT=.rst
  341. FPCMADE=fpcmade
  342. # Go32v1
  343. ifeq ($(OS_TARGET),go32v1)
  344. PPUEXT=.pp1
  345. OEXT=.o1
  346. ASMEXT=.s1
  347. SMARTEXT=.sl1
  348. STATICLIBEXT=.a1
  349. SHAREDLIBEXT=.so1
  350. FPCMADE=fpcmade.v1
  351. endif
  352. # Go32v2
  353. ifeq ($(OS_TARGET),go32v2)
  354. FPCMADE=fpcmade.dos
  355. endif
  356. # Linux
  357. ifeq ($(OS_TARGET),linux)
  358. EXEEXT=
  359. HASSHAREDLIB=1
  360. FPCMADE=fpcmade.lnx
  361. endif
  362. # Linux
  363. ifeq ($(OS_TARGET),freebsd)
  364. EXEEXT=
  365. HASSHAREDLIB=1
  366. FPCMADE=fpcmade.freebsd
  367. endif
  368. # Win32
  369. ifeq ($(OS_TARGET),win32)
  370. PPUEXT=.ppw
  371. OEXT=.ow
  372. ASMEXT=.sw
  373. SMARTEXT=.slw
  374. STATICLIBEXT=.aw
  375. SHAREDLIBEXT=.dll
  376. FPCMADE=fpcmade.w32
  377. endif
  378. # OS/2
  379. ifeq ($(OS_TARGET),os2)
  380. PPUEXT=.ppo
  381. ASMEXT=.so2
  382. OEXT=.oo2
  383. SMARTEXT=.so
  384. STATICLIBEXT=.ao2
  385. SHAREDLIBEXT=.dll
  386. FPCMADE=fpcmade.os2
  387. endif
  388. # library prefix
  389. LIBPREFIX=lib
  390. ifeq ($(OS_TARGET),go32v2)
  391. LIBPREFIX=
  392. endif
  393. ifeq ($(OS_TARGET),go32v1)
  394. LIBPREFIX=
  395. endif
  396. # determine which .pas extension is used
  397. ifndef PASEXT
  398. ifdef EXEOBJECTS
  399. override TESTPAS:=$(strip $(wildcard $(addsuffix .pas,$(firstword $(EXEOBJECTS)))))
  400. else
  401. override TESTPAS:=$(strip $(wildcard $(addsuffix .pas,$(firstword $(UNITOBJECTS)))))
  402. endif
  403. ifeq ($(TESTPAS),)
  404. PASEXT=.pp
  405. else
  406. PASEXT=.pas
  407. endif
  408. endif
  409. # Check if the dirs really exists, else turn it off
  410. ifeq ($(wildcard $(UNITSDIR)),)
  411. UNITSDIR=
  412. endif
  413. ifeq ($(wildcard $(TOOLKITSDIR)),)
  414. TOOLKITSDIR=
  415. endif
  416. ifeq ($(wildcard $(PACKAGESDIR)),)
  417. PACKAGESDIR=
  418. endif
  419. ifeq ($(wildcard $(COMPONENTSDIR)),)
  420. COMPONENTSDIR=
  421. endif
  422. # PACKAGESDIR packages
  423. PACKAGERTL=1
  424. PACKAGEFORMS=1
  425. PACKAGEX11=1
  426. ifdef PACKAGERTL
  427. ifneq ($(wildcard $(FPCDIR)/rtl),)
  428. ifneq ($(wildcard $(FPCDIR)/rtl/$(OS_TARGET)),)
  429. PACKAGEDIR_RTL=$(FPCDIR)/rtl/$(OS_TARGET)
  430. else
  431. PACKAGEDIR_RTL=$(FPCDIR)/rtl
  432. endif
  433. ifeq ($(wildcard $(PACKAGEDIR_RTL)/$(FPCMADE)),)
  434. override COMPILEPACKAGES+=package_rtl
  435. package_rtl:
  436. $(MAKE) -C $(PACKAGEDIR_RTL) all
  437. endif
  438. UNITDIR_RTL=$(PACKAGEDIR_RTL)
  439. else
  440. PACKAGEDIR_RTL=
  441. ifneq ($(wildcard $(UNITSDIR)/rtl),)
  442. ifneq ($(wildcard $(UNITSDIR)/rtl/$(OS_TARGET)),)
  443. UNITDIR_RTL=$(UNITSDIR)/rtl/$(OS_TARGET)
  444. else
  445. UNITDIR_RTL=$(UNITSDIR)/rtl
  446. endif
  447. else
  448. UNITDIR_RTL=
  449. endif
  450. endif
  451. ifdef UNITDIR_RTL
  452. override NEEDUNITDIR+=$(UNITDIR_RTL)
  453. endif
  454. endif
  455. ifdef PACKAGEFORMS
  456. ifneq ($(wildcard $(PACKAGESDIR)/forms),)
  457. ifneq ($(wildcard $(PACKAGESDIR)/forms/$(OS_TARGET)),)
  458. PACKAGEDIR_FORMS=$(PACKAGESDIR)/forms/$(OS_TARGET)
  459. else
  460. PACKAGEDIR_FORMS=$(PACKAGESDIR)/forms
  461. endif
  462. ifeq ($(wildcard $(PACKAGEDIR_FORMS)/$(FPCMADE)),)
  463. override COMPILEPACKAGES+=package_forms
  464. package_forms:
  465. $(MAKE) -C $(PACKAGEDIR_FORMS) all
  466. endif
  467. UNITDIR_FORMS=$(PACKAGEDIR_FORMS)
  468. else
  469. PACKAGEDIR_FORMS=
  470. ifneq ($(wildcard $(UNITSDIR)/forms),)
  471. ifneq ($(wildcard $(UNITSDIR)/forms/$(OS_TARGET)),)
  472. UNITDIR_FORMS=$(UNITSDIR)/forms/$(OS_TARGET)
  473. else
  474. UNITDIR_FORMS=$(UNITSDIR)/forms
  475. endif
  476. else
  477. UNITDIR_FORMS=
  478. endif
  479. endif
  480. ifdef UNITDIR_FORMS
  481. override NEEDUNITDIR+=$(UNITDIR_FORMS)
  482. endif
  483. endif
  484. ifdef PACKAGEX11
  485. ifneq ($(wildcard $(PACKAGESDIR)/x11),)
  486. ifneq ($(wildcard $(PACKAGESDIR)/x11/$(OS_TARGET)),)
  487. PACKAGEDIR_X11=$(PACKAGESDIR)/x11/$(OS_TARGET)
  488. else
  489. PACKAGEDIR_X11=$(PACKAGESDIR)/x11
  490. endif
  491. ifeq ($(wildcard $(PACKAGEDIR_X11)/$(FPCMADE)),)
  492. override COMPILEPACKAGES+=package_x11
  493. package_x11:
  494. $(MAKE) -C $(PACKAGEDIR_X11) all
  495. endif
  496. UNITDIR_X11=$(PACKAGEDIR_X11)
  497. else
  498. PACKAGEDIR_X11=
  499. ifneq ($(wildcard $(UNITSDIR)/x11),)
  500. ifneq ($(wildcard $(UNITSDIR)/x11/$(OS_TARGET)),)
  501. UNITDIR_X11=$(UNITSDIR)/x11/$(OS_TARGET)
  502. else
  503. UNITDIR_X11=$(UNITSDIR)/x11
  504. endif
  505. else
  506. UNITDIR_X11=
  507. endif
  508. endif
  509. ifdef UNITDIR_X11
  510. override NEEDUNITDIR+=$(UNITDIR_X11)
  511. endif
  512. endif
  513. #####################################################################
  514. # Default Directories
  515. #####################################################################
  516. # Linux and freebsd use unix dirs with /usr/bin, /usr/lib
  517. # When zipping use the target as default, when normal install then
  518. # use the source os as default
  519. ifdef ZIPNAME
  520. # Zipinstall
  521. ifeq ($(OS_TARGET),linux)
  522. UNIXINSTALLDIR=1
  523. endif
  524. ifeq ($(OS_TARGET),freebsd)
  525. UNIXINSTALLDIR=1
  526. endif
  527. else
  528. # Normal install
  529. ifeq ($(OS_SOURCE),linux)
  530. UNIXINSTALLDIR=1
  531. endif
  532. ifeq ($(OS_SOURCE),freebsd)
  533. UNIXINSTALLDIR=1
  534. endif
  535. endif
  536. # set the prefix directory where to install everything
  537. ifndef PREFIXINSTALLDIR
  538. ifdef UNIXINSTALLDIR
  539. PREFIXINSTALLDIR=/usr
  540. else
  541. PREFIXINSTALLDIR=/pp
  542. endif
  543. endif
  544. export PREFIXINSTALLDIR
  545. # Where to place the resulting zip files
  546. ifndef DESTZIPDIR
  547. DESTZIPDIR:=$(BASEDIR)
  548. endif
  549. export DESTZIPDIR
  550. # Where to find other libraries
  551. ifdef inUnix
  552. ifndef OTHERLIBDIR
  553. OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
  554. endif
  555. endif
  556. export OTHERLIBDIR
  557. #####################################################################
  558. # Install Directories
  559. #####################################################################
  560. # set the base directory where to install everything
  561. ifndef BASEINSTALLDIR
  562. ifdef UNIXINSTALLDIR
  563. BASEINSTALLDIR=$(PREFIXINSTALLDIR)/lib/fpc/$(FPC_VERSION)
  564. else
  565. BASEINSTALLDIR=$(PREFIXINSTALLDIR)
  566. endif
  567. endif
  568. # set the directory where to install the binaries
  569. ifndef BININSTALLDIR
  570. ifdef UNIXINSTALLDIR
  571. BININSTALLDIR=$(PREFIXINSTALLDIR)/bin
  572. else
  573. BININSTALLDIR=$(BASEINSTALLDIR)/bin/$(OS_TARGET)
  574. endif
  575. endif
  576. # set the directory where to install the units.
  577. ifndef UNITINSTALLDIR
  578. UNITINSTALLDIR=$(BASEINSTALLDIR)/units/$(OS_TARGET)
  579. ifdef UNITSUBDIR
  580. UNITINSTALLDIR:=$(UNITINSTALLDIR)/$(UNITSUBDIR)
  581. endif
  582. endif
  583. # Where to install shared libraries
  584. ifndef LIBINSTALLDIR
  585. ifdef UNIXINSTALLDIR
  586. LIBINSTALLDIR=$(PREFIXINSTALLDIR)/lib
  587. else
  588. LIBINSTALLDIR=$(UNITINSTALLDIR)
  589. endif
  590. endif
  591. # Where the source files will be stored
  592. ifndef SOURCEINSTALLDIR
  593. ifdef UNIXINSTALLDIR
  594. SOURCEINSTALLDIR=$(PREFIXINSTALLDIR)/src/fpc-$(FPC_VERSION)
  595. else
  596. SOURCEINSTALLDIR=$(BASEINSTALLDIR)/source
  597. endif
  598. ifdef SOURCESUBDIR
  599. SOURCEINSTALLDIR:=$(SOURCEINSTALLDIR)/$(SOURCESUBDIR)
  600. endif
  601. endif
  602. # Where the doc files will be stored
  603. ifndef DOCINSTALLDIR
  604. ifdef UNIXINSTALLDIR
  605. DOCINSTALLDIR=$(PREFIXINSTALLDIR)/doc/fpc-$(FPC_VERSION)
  606. else
  607. DOCINSTALLDIR=$(BASEINSTALLDIR)/doc
  608. endif
  609. endif
  610. # Where to install the examples, under linux we use the doc dir
  611. # because the copytree command will create a subdir itself
  612. ifndef EXAMPLEINSTALLDIR
  613. ifdef UNIXINSTALLDIR
  614. EXAMPLEINSTALLDIR=$(DOCINSTALLDIR)/examples
  615. else
  616. EXAMPLEINSTALLDIR=$(BASEINSTALLDIR)/examples
  617. endif
  618. ifdef EXAMPLESUBDIR
  619. EXAMPLEINSTALLDIR:=$(EXAMPLEINSTALLDIR)/$(EXAMPLESUBDIR)
  620. endif
  621. endif
  622. # Where the some extra (data)files will be stored
  623. ifndef DATAINSTALLDIR
  624. DATAINSTALLDIR=$(BASEINSTALLDIR)
  625. endif
  626. #####################################################################
  627. # Redirection
  628. #####################################################################
  629. ifndef REDIRFILE
  630. REDIRFILE=log
  631. endif
  632. ifdef REDIR
  633. ifndef inUnix
  634. override FPC=redir -eo $(FPC)
  635. endif
  636. # set the verbosity to max
  637. override FPCOPT+=-va
  638. override REDIR:= >> $(REDIRFILE)
  639. endif
  640. #####################################################################
  641. # Compiler Command Line
  642. #####################################################################
  643. # Load commandline OPTDEF and add FPC_CPU define
  644. override FPCOPTDEF:=-d$(CPU_TARGET)
  645. # Load commandline OPT and add target and unit dir to be sure
  646. ifneq ($(OS_TARGET),$(OS_SOURCE))
  647. override FPCOPT+=-T$(OS_TARGET)
  648. endif
  649. # User dirs should be first, so they are looked at first
  650. ifdef UNITDIR
  651. override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
  652. endif
  653. ifdef LIBDIR
  654. override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
  655. endif
  656. ifdef OBJDIR
  657. override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
  658. endif
  659. ifdef INCDIR
  660. override FPCOPT+=$(addprefix -Fi,$(INCDIR))
  661. endif
  662. # Smartlinking
  663. ifdef LINKSMART
  664. override FPCOPT+=-XX
  665. endif
  666. # Smartlinking creation
  667. ifdef CREATESMART
  668. override FPCOPT+=-CX
  669. endif
  670. # Debug
  671. ifdef DEBUG
  672. override FPCOPT+=-gl -dDEBUG
  673. endif
  674. # Release mode (strip, optimize and don't load ppc386.cfg)
  675. # 0.99.12b has a bug in the optimizer so don't use it by default
  676. ifdef RELEASE
  677. ifeq ($(FPC_VERSION),0.99.12)
  678. override FPCOPT+=-Xs -OGp3 -n
  679. else
  680. override FPCOPT+=-Xs -OG2p3 -n
  681. endif
  682. endif
  683. # Strip
  684. ifdef STRIP
  685. override FPCOPT+=-Xs
  686. endif
  687. # Optimizer
  688. ifdef OPTIMIZE
  689. override FPCOPT+=-OG2p3
  690. endif
  691. # Verbose settings (warning,note,info)
  692. ifdef VERBOSE
  693. override FPCOPT+=-vwni
  694. endif
  695. ifdef NEEDUNITDIR
  696. override FPCOPT+=$(addprefix -Fu,$(NEEDUNITDIR))
  697. endif
  698. ifdef UNITSDIR
  699. override FPCOPT+=-Fu$(UNITSDIR)
  700. endif
  701. # Add Other dirs path if asked
  702. ifdef OTHERLIBDIR
  703. override FPCOPT+=$(addprefix -Fl,$(OTHERLIBDIR))
  704. endif
  705. # Target dirs and the prefix to use for clean/install
  706. ifdef TARGETDIR
  707. override FPCOPT+=-FE$(TARGETDIR)
  708. ifeq ($(TARGETDIR),.)
  709. override TARGETDIRPREFIX=
  710. else
  711. override TARGETDIRPREFIX=$(TARGETDIR)/
  712. endif
  713. endif
  714. ifdef UNITTARGETDIR
  715. override FPCOPT+=-FU$(UNITTARGETDIR)
  716. ifeq ($(UNITTARGETDIR),.)
  717. override UNITTARGETDIRPREFIX=
  718. else
  719. override UNITTARGETDIRPREFIX=$(TARGETDIR)/
  720. endif
  721. else
  722. ifdef TARGETDIR
  723. override UNITTARGETDIR=$(TARGETDIR)
  724. override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
  725. endif
  726. endif
  727. # Add commandline options last so they can override
  728. ifdef OPT
  729. override FPCOPT+=$(OPT)
  730. endif
  731. # Add defines from FPCOPTDEF to FPCOPT
  732. ifdef FPCOPTDEF
  733. override FPCOPT+=$(FPCOPTDEF)
  734. endif
  735. # Error file ?
  736. ifdef ERRORFILE
  737. override FPCOPT+=-Fr$(ERRORFILE)
  738. endif
  739. # Was a config file specified ?
  740. ifdef CFGFILE
  741. override FPCOPT+=@$(CFGFILE)
  742. endif
  743. # For win32 the options are passed using the environment FPCEXTCMD
  744. ifeq ($(OS_SOURCE),win32)
  745. override FPCEXTCMD:=$(FPCOPT)
  746. override FPCOPT:=!FPCEXTCMD
  747. export FPCEXTCMD
  748. endif
  749. # Compiler commandline
  750. override COMPILER:=$(FPC) $(FPCOPT)
  751. # also call ppas if with command option -s
  752. # but only if the OS_SOURCE and OS_TARGE are equal
  753. ifeq (,$(findstring -s ,$(COMPILER)))
  754. EXECPPAS=
  755. else
  756. ifeq ($(OS_SOURCE),$(OS_TARGET))
  757. EXECPPAS:=@$(PPAS)
  758. endif
  759. endif
  760. #####################################################################
  761. # Standard rules
  762. #####################################################################
  763. all: fpc_all
  764. debug: fpc_debug
  765. smart: fpc_smart
  766. shared: fpc_shared
  767. showinstall: fpc_showinstall
  768. install: fpc_install
  769. sourceinstall: fpc_sourceinstall
  770. exampleinstall: fpc_exampleinstall
  771. zipinstall: fpc_zipinstall
  772. zipsourceinstall: fpc_zipsourceinstall
  773. zipexampleinstall: fpc_zipexampleinstall
  774. clean: fpc_clean
  775. distclean: fpc_distclean
  776. cleanall: fpc_cleanall
  777. info: fpc_info
  778. .PHONY: all debug smart shared showinstall install sourceinstall exampleinstall zipinstall zipsourceinstall zipexampleinstall clean distclean cleanall info
  779. #####################################################################
  780. # Exes
  781. #####################################################################
  782. .PHONY: fpc_exes
  783. ifdef EXEOBJECTS
  784. override EXEFILES=$(addsuffix $(EXEEXT),$(EXEOBJECTS))
  785. override EXEOFILES:=$(addsuffix $(OEXT),$(EXEOBJECTS)) $(addprefix $(LIBPREFIX),$(addsuffix $(STATICLIBEXT),$(EXEOBJECTS)))
  786. override ALLTARGET+=fpc_exes
  787. override INSTALLEXEFILES+=$(EXEFILES)
  788. override CLEANEXEFILES+=$(EXEFILES) $(EXEOFILES)
  789. endif
  790. fpc_exes: $(EXEFILES)
  791. #####################################################################
  792. # General compile rules
  793. #####################################################################
  794. .PHONY: fpc_packages fpc_all fpc_debug
  795. $(FPCMADE): $(ALLTARGET)
  796. @$(ECHO) Compiled > $(FPCMADE)
  797. fpc_packages: $(COMPILEPACKAGES)
  798. fpc_all: fpc_packages $(FPCMADE)
  799. fpc_debug:
  800. $(MAKE) all DEBUG=1
  801. # Search paths for .ppu if targetdir is set
  802. ifdef UNITTARGETDIR
  803. vpath %$(PPUEXT) $(UNITTARGETDIR)
  804. endif
  805. # General compile rules, available for both possible PASEXT
  806. .SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp
  807. %$(PPUEXT): %.pp
  808. $(COMPILER) $< $(REDIR)
  809. $(EXECPPAS)
  810. %$(PPUEXT): %.pas
  811. $(COMPILER) $< $(REDIR)
  812. $(EXECPPAS)
  813. %$(EXEEXT): %.pp
  814. $(COMPILER) $< $(REDIR)
  815. $(EXECPPAS)
  816. %$(EXEEXT): %.pas
  817. $(COMPILER) $< $(REDIR)
  818. $(EXECPPAS)
  819. #####################################################################
  820. # Library
  821. #####################################################################
  822. .PHONY: fpc_smart fpc_shared
  823. ifdef LIBVERSION
  824. LIBFULLNAME=$(LIBNAME).$(LIBVERSION)
  825. else
  826. LIBFULLNAME=$(LIBNAME)
  827. endif
  828. # Default sharedlib units are all unit objects
  829. ifndef SHAREDLIBUNITOBJECTS
  830. SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS)
  831. endif
  832. fpc_smart:
  833. $(MAKE) all LINKSMART=1 CREATESMART=1
  834. fpc_shared: all
  835. ifdef HASSHAREDLIB
  836. ifndef LIBNAME
  837. @$(ECHO) "LIBNAME not set"
  838. else
  839. $(PPUMOVE) $(SHAREDLIBUNITOBJECTS) -o$(LIBFULLNAME)
  840. endif
  841. else
  842. @$(ECHO) "Shared Libraries not supported"
  843. endif
  844. #####################################################################
  845. # Install rules
  846. #####################################################################
  847. .PHONY: fpc_showinstall fpc_install
  848. ifdef EXTRAINSTALLUNITS
  849. override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(EXTRAINSTALLUNITS))
  850. endif
  851. ifdef INSTALLPPUFILES
  852. override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILES))
  853. ifdef PPUFILES
  854. INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES))
  855. else
  856. INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(LIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))))
  857. endif
  858. override INSTALLPPULINKFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPULINKFILES))
  859. endif
  860. ifdef INSTALLEXEFILES
  861. override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(INSTALLEXEFILES))
  862. endif
  863. fpc_showinstall: $(SHOWINSTALLTARGET)
  864. ifdef INSTALLEXEFILES
  865. @$(ECHO) -e $(addprefix "\n"$(BININSTALLDIR)/,$(INSTALLEXEFILES))
  866. endif
  867. ifdef INSTALLPPUFILES
  868. @$(ECHO) -e $(addprefix "\n"$(UNITINSTALLDIR)/,$(INSTALLPPUFILES))
  869. ifneq ($(INSTALLPPULINKFILES),)
  870. @$(ECHO) -e $(addprefix "\n"$(UNITINSTALLDIR)/,$(INSTALLPPULINKFILES))
  871. endif
  872. ifneq ($(wildcard $(LIBFULLNAME)),)
  873. @$(ECHO) $(LIBINSTALLDIR)/$(LIBFULLNAME)
  874. ifdef HASSHAREDLIB
  875. @$(ECHO) $(LIBINSTALLDIR)/$(LIBNAME)
  876. endif
  877. endif
  878. endif
  879. ifdef EXTRAINSTALLFILES
  880. @$(ECHO) -e $(addprefix "\n"$(DATAINSTALLDIR)/,$(EXTRAINSTALLFILES))
  881. endif
  882. fpc_install: $(INSTALLTARGET)
  883. # Create UnitInstallFiles
  884. ifdef INSTALLEXEFILES
  885. $(MKDIR) $(BININSTALLDIR)
  886. # Compress the exes if upx is defined
  887. ifdef UPXPROG
  888. -$(UPXPROG) $(INSTALLEXEFILES)
  889. endif
  890. $(INSTALLEXE) $(INSTALLEXEFILES) $(BININSTALLDIR)
  891. endif
  892. ifdef INSTALLPPUFILES
  893. $(MKDIR) $(UNITINSTALLDIR)
  894. $(INSTALL) $(INSTALLPPUFILES) $(UNITINSTALLDIR)
  895. ifneq ($(INSTALLPPULINKFILES),)
  896. $(INSTALL) $(INSTALLPPULINKFILES) $(UNITINSTALLDIR)
  897. endif
  898. ifneq ($(wildcard $(LIBFULLNAME)),)
  899. $(MKDIR) $(LIBINSTALLDIR)
  900. $(INSTALL) $(LIBFULLNAME) $(LIBINSTALLDIR)
  901. ifdef inUnix
  902. ln -sf $(LIBFULLNAME) $(LIBINSTALLDIR)/$(LIBNAME)
  903. endif
  904. endif
  905. endif
  906. ifdef EXTRAINSTALLFILES
  907. $(MKDIR) $(DATAINSTALLDIR)
  908. $(INSTALL) $(EXTRAINSTALLFILES) $(DATAINSTALLDIR)
  909. endif
  910. #####################################################################
  911. # SourceInstall rules
  912. #####################################################################
  913. .PHONY: fpc_sourceinstall
  914. ifndef SOURCETOPDIR
  915. SOURCETOPDIR=$(BASEDIR)
  916. endif
  917. fpc_sourceinstall: clean
  918. $(MKDIR) $(SOURCEINSTALLDIR)
  919. $(COPYTREE) $(SOURCETOPDIR) $(SOURCEINSTALLDIR)
  920. #####################################################################
  921. # exampleinstall rules
  922. #####################################################################
  923. .PHONY: fpc_exampleinstall
  924. fpc_exampleinstall: $(addsuffix _clean,$(EXAMPLEDIROBJECTS))
  925. ifdef EXAMPLESOURCEFILES
  926. $(MKDIR) $(EXAMPLEINSTALLDIR)
  927. $(COPY) $(EXAMPLESOURCEFILES) $(EXAMPLEINSTALLDIR)
  928. endif
  929. ifdef EXAMPLEDIROBJECTS
  930. ifndef EXAMPLESOURCEFILES
  931. $(MKDIR) $(EXAMPLEINSTALLDIR)
  932. endif
  933. $(COPYTREE) $(addsuffix /*,$(EXAMPLEDIROBJECTS)) $(EXAMPLEINSTALLDIR)
  934. endif
  935. #####################################################################
  936. # Zip
  937. #####################################################################
  938. .PHONY: fpc_zipinstall
  939. # Create suffix to add
  940. ifndef PACKAGESUFFIX
  941. PACKAGESUFFIX=$(OS_TARGET)
  942. ifeq ($(OS_TARGET),go32v2)
  943. PACKAGESUFFIX=go32
  944. endif
  945. ifeq ($(OS_TARGET),win32)
  946. PACKAGESUFFIX=w32
  947. endif
  948. endif
  949. # Temporary path to pack a file
  950. ifndef PACKDIR
  951. ifndef inUnix
  952. PACKDIR=$(BASEDIR)/pack_tmp
  953. else
  954. PACKDIR=/tmp/fpc-pack
  955. endif
  956. endif
  957. # Maybe create default zipname from packagename
  958. ifndef ZIPNAME
  959. ifdef PACKAGENAME
  960. ZIPNAME=$(PACKAGEPREFIX)$(PACKAGENAME)$(PACKAGESUFFIX)
  961. endif
  962. endif
  963. # Use tar by default under linux
  964. ifndef USEZIP
  965. ifdef inUnix
  966. USETAR=1
  967. endif
  968. endif
  969. fpc_zipinstall:
  970. ifndef ZIPNAME
  971. @$(ECHO) "Please specify ZIPNAME!"
  972. @exit 1
  973. else
  974. $(MAKE) $(ZIPTARGET) PREFIXINSTALLDIR=$(PACKDIR)
  975. ifdef USETAR
  976. $(DEL) $(DESTZIPDIR)/$(ZIPNAME)$(TAREXT)
  977. cd $(PACKDIR) ; $(TARPROG) cf$(TAROPT) $(DESTZIPDIR)/$(ZIPNAME)$(TAREXT) * ; cd $(BASEDIR)
  978. else
  979. $(DEL) $(DESTZIPDIR)/$(ZIPNAME)$(ZIPEXT)
  980. cd $(PACKDIR) ; $(ZIPPROG) -Dr $(ZIPOPT) $(DESTZIPDIR)/$(ZIPNAME)$(ZIPEXT) * ; cd $(BASEDIR)
  981. endif
  982. $(DELTREE) $(PACKDIR)
  983. endif
  984. .PHONY: fpc_zipsourceinstall
  985. fpc_zipsourceinstall:
  986. $(MAKE) fpc_zipinstall ZIPTARGET=sourceinstall PACKAGESUFFIX=src
  987. .PHONY: fpc_zipexampleinstall
  988. fpc_zipexampleinstall:
  989. $(MAKE) fpc_zipinstall ZIPTARGET=exampleinstall PACKAGESUFFIX=exm
  990. #####################################################################
  991. # Clean rules
  992. #####################################################################
  993. .PHONY: fpc_clean fpc_cleanall fpc_distclean
  994. ifdef EXEFILES
  995. override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
  996. endif
  997. ifdef EXTRACLEANUNITS
  998. override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(EXTRACLEANUNITS))
  999. endif
  1000. ifdef CLEANPPUFILES
  1001. override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
  1002. # Get the .o and .a files created for the units
  1003. ifdef PPUFILES
  1004. CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
  1005. else
  1006. CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(LIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))))
  1007. endif
  1008. override CLEANPPULINKFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES))
  1009. endif
  1010. fpc_clean: $(CLEANTARGET)
  1011. ifdef CLEANEXEFILES
  1012. -$(DEL) $(CLEANEXEFILES)
  1013. endif
  1014. ifdef CLEANPPUFILES
  1015. -$(DEL) $(CLEANPPUFILES)
  1016. endif
  1017. ifneq ($(CLEANPPULINKFILES),)
  1018. -$(DEL) $(CLEANPPULINKFILES)
  1019. endif
  1020. ifdef CLEANRSTFILES
  1021. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  1022. endif
  1023. ifdef EXTRACLEANFILES
  1024. -$(DEL) $(EXTRACLEANFILES)
  1025. endif
  1026. ifdef LIBNAME
  1027. -$(DEL) $(LIBNAME) $(LIBFULLNAME)
  1028. endif
  1029. -$(DEL) $(FPCMADE) $(PPAS) link.res $(FPCEXTFILE) $(REDIRFILE)
  1030. fpc_distclean: fpc_clean
  1031. # Also run clean first if targetdir is set. Unittargetdir is always
  1032. # set if targetdir or unittargetdir is specified
  1033. ifdef UNITTARGETDIR
  1034. TARGETDIRCLEAN=fpc_clean
  1035. endif
  1036. fpc_cleanall: $(CLEANTARGET) $(TARGETDIRCLEAN)
  1037. ifdef CLEANEXEFILES
  1038. -$(DEL) $(CLEANEXEFILES)
  1039. endif
  1040. -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
  1041. -$(DELTREE) *$(SMARTEXT)
  1042. -$(DEL) $(FPCMADE) $(PPAS) link.res $(FPCEXTFILE) $(REDIRFILE)
  1043. #####################################################################
  1044. # Info rules
  1045. #####################################################################
  1046. .PHONY: fpc_info fpc_cfginfo fpc_objectinfo fpc_toolsinfo fpc_installinfo \
  1047. fpc_dirinfo
  1048. fpc_info: $(INFOTARGET)
  1049. fpc_infocfg:
  1050. @$(ECHO)
  1051. @$(ECHO) == Configuration info ==
  1052. @$(ECHO)
  1053. @$(ECHO) FPC....... $(FPC)
  1054. @$(ECHO) Version... $(FPC_VERSION)
  1055. @$(ECHO) CPU....... $(CPU_TARGET)
  1056. @$(ECHO) Source.... $(OS_SOURCE)
  1057. @$(ECHO) Target.... $(OS_TARGET)
  1058. @$(ECHO)
  1059. fpc_infoobjects:
  1060. @$(ECHO)
  1061. @$(ECHO) == Object info ==
  1062. @$(ECHO)
  1063. @$(ECHO) LoaderObjects..... $(LOADEROBJECTS)
  1064. @$(ECHO) UnitObjects....... $(UNITOBJECTS)
  1065. @$(ECHO) ExeObjects........ $(EXEOBJECTS)
  1066. @$(ECHO)
  1067. @$(ECHO) ExtraCleanUnits... $(EXTRACLEANUNITS)
  1068. @$(ECHO) ExtraCleanFiles... $(EXTRACLEANFILES)
  1069. @$(ECHO)
  1070. @$(ECHO) ExtraInstallUnits. $(EXTRAINSTALLUNITS)
  1071. @$(ECHO) ExtraInstallFiles. $(EXTRAINSTALLFILES)
  1072. @$(ECHO)
  1073. fpc_infoinstall:
  1074. @$(ECHO)
  1075. @$(ECHO) == Install info ==
  1076. @$(ECHO)
  1077. ifdef DATE
  1078. @$(ECHO) DateStr.............. $(DATESTR)
  1079. endif
  1080. ifdef PACKAGEPREFIX
  1081. @$(ECHO) PackagePrefix........ $(PACKAGEPREFIX)
  1082. endif
  1083. ifdef PACKAGENAME
  1084. @$(ECHO) PackageName.......... $(PACKAGENAME)
  1085. endif
  1086. @$(ECHO) PackageSuffix........ $(PACKAGESUFFIX)
  1087. @$(ECHO)
  1088. @$(ECHO) BaseInstallDir....... $(BASEINSTALLDIR)
  1089. @$(ECHO) BinInstallDir........ $(BININSTALLDIR)
  1090. @$(ECHO) LibInstallDir........ $(LIBINSTALLDIR)
  1091. @$(ECHO) UnitInstallDir....... $(UNITINSTALLDIR)
  1092. @$(ECHO) SourceInstallDir..... $(SOURCEINSTALLDIR)
  1093. @$(ECHO) DocInstallDir........ $(DOCINSTALLDIR)
  1094. @$(ECHO) DataInstallDir....... $(DATAINSTALLDIR)
  1095. @$(ECHO)
  1096. @$(ECHO) DestZipDir........... $(DESTZIPDIR)
  1097. @$(ECHO) ZipName.............. $(ZIPNAME)
  1098. @$(ECHO)
  1099. #####################################################################
  1100. # Local Makefile
  1101. #####################################################################
  1102. ifneq ($(wildcard fpcmake.loc),)
  1103. include fpcmake.loc
  1104. endif