Makefile 27 KB

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