fpcmake.ini 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257
  1. ;
  2. ; Templates used by fpcmake to create a Makefile from Makefile.fpc
  3. ;
  4. [osdetect]
  5. #####################################################################
  6. # Autodetect OS (Linux or Dos or Windows NT or OS/2)
  7. # define inUnix when running under Unix environment
  8. # (Linux,FreeBSD,Cygwin)
  9. # define inWinNT when running under WinNT
  10. # define inOS2 when running under OS/2
  11. # define inCygwin when running under Cygwin32
  12. #####################################################################
  13. # We need only / in the path
  14. override PATH:=$(subst \,/,$(PATH))
  15. # Determine if we've a unix searchpath using : by looking for a ;
  16. # that normally doesn't exists in path names.
  17. ifeq ($(findstring ;,$(PATH)),)
  18. inUnix=1
  19. SEARCHPATH=$(subst :, ,$(PATH))
  20. else
  21. SEARCHPATH=$(subst ;, ,$(PATH))
  22. endif
  23. # Search for PWD and determine also if we are under linux
  24. PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
  25. ifeq ($(PWD),)
  26. PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
  27. ifeq ($(PWD),)
  28. nopwd:
  29. @echo You need the GNU utils package to use this Makefile!
  30. @echo Get ftp://ftp.freepascal.org/pub/fpc/dist/go32v2/utilgo32.zip
  31. @exit
  32. else
  33. PWD:=$(firstword $(PWD))
  34. SRCEXEEXT=
  35. endif
  36. else
  37. PWD:=$(firstword $(PWD))
  38. SRCEXEEXT=.exe
  39. endif
  40. # Detect NT - NT sets OS to Windows_NT
  41. # Detect OS/2 - OS/2 has OS2_SHELL defined
  42. ifndef inUnix
  43. ifeq ($(OS),Windows_NT)
  44. inWinNT=1
  45. else
  46. ifdef OS2_SHELL
  47. inOS2=1
  48. endif
  49. endif
  50. else
  51. ifneq ($(findstring cygwin,$(MACH_TYPE)),)
  52. inCygWin=1
  53. endif
  54. endif
  55. # The extension of batch files / scripts
  56. ifdef inUnix
  57. BATCHEXT=.sh
  58. else
  59. ifdef inOS2
  60. BATCHEXT=.cmd
  61. else
  62. BATCHEXT=.bat
  63. endif
  64. endif
  65. # Path Separator, the subst trick is necessary for the \ that can't exists
  66. # at the end of a line
  67. ifdef inUnix
  68. PATHSEP=/
  69. else
  70. PATHSEP=$(subst /,\,/)
  71. endif
  72. # Base dir
  73. ifdef PWD
  74. BASEDIR:=$(shell $(PWD))
  75. else
  76. BASEDIR=.
  77. endif
  78. [fpcdetect]
  79. #####################################################################
  80. # FPC version/target Detection
  81. #####################################################################
  82. # What compiler to use ?
  83. ifndef FPC
  84. # Compatibility with old makefiles
  85. ifdef PP
  86. FPC=$(PP)
  87. else
  88. FPC=ppc386
  89. endif
  90. endif
  91. override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
  92. override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
  93. # Target OS
  94. ifndef OS_TARGET
  95. OS_TARGET:=$(shell $(FPC) -iTO)
  96. endif
  97. # Source OS
  98. ifndef OS_SOURCE
  99. OS_SOURCE:=$(shell $(FPC) -iSO)
  100. endif
  101. # Target CPU
  102. ifndef CPU_TARGET
  103. CPU_TARGET:=$(shell $(FPC) -iTP)
  104. endif
  105. # Source CPU
  106. ifndef CPU_SOURCE
  107. CPU_SOURCE:=$(shell $(FPC) -iSP)
  108. endif
  109. # FPC version
  110. ifndef FPC_VERSION
  111. FPC_VERSION:=$(shell $(FPC) -iV)
  112. endif
  113. export FPC OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FPC_VERSION
  114. [fpcdircheckenv]
  115. #####################################################################
  116. # FPCDIR Setting
  117. #####################################################################
  118. # Test FPCDIR to look if the RTL dir exists
  119. ifdef FPCDIR
  120. override FPCDIR:=$(subst \,/,$(FPCDIR))
  121. ifeq ($(wildcard $(FPCDIR)/rtl),)
  122. ifeq ($(wildcard $(FPCDIR)/units),)
  123. override FPCDIR=wrong
  124. endif
  125. endif
  126. else
  127. override FPCDIR=wrong
  128. endif
  129. [fpcdirdetect]
  130. # Detect FPCDIR
  131. ifeq ($(FPCDIR),wrong)
  132. ifdef inUnix
  133. override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
  134. ifeq ($(wildcard $(FPCDIR)/units),)
  135. override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
  136. endif
  137. else
  138. override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
  139. override FPCDIR:=$(FPCDIR)/..
  140. ifeq ($(wildcard $(FPCDIR)/rtl),)
  141. ifeq ($(wildcard $(FPCDIR)/units),)
  142. override FPCDIR:=$(FPCDIR)/..
  143. ifeq ($(wildcard $(FPCDIR)/rtl),)
  144. ifeq ($(wildcard $(FPCDIR)/units),)
  145. override FPCDIR=c:/pp
  146. endif
  147. endif
  148. endif
  149. endif
  150. endif
  151. endif
  152. # Units dir
  153. UNITSDIR=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
  154. # Packages dir
  155. PACKAGESDIR=$(wildcard $(FPCDIR) $(FPCDIR)/packages)
  156. [shelltools]
  157. #####################################################################
  158. # Shell tools
  159. #####################################################################
  160. # echo
  161. ifndef ECHO
  162. ECHO:=$(strip $(wildcard $(addsuffix /gecho$(EXEEXT),$(SEARCHPATH))))
  163. ifeq ($(ECHO),)
  164. ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
  165. ifeq ($(ECHO),)
  166. ECHO:=echo
  167. else
  168. ECHO:=$(firstword $(ECHO))
  169. endif
  170. else
  171. ECHO:=$(firstword $(ECHO))
  172. endif
  173. endif
  174. # To copy pograms
  175. ifndef COPY
  176. COPY:=cp -fp
  177. endif
  178. # Copy a whole tree
  179. ifndef COPYTREE
  180. COPYTREE:=cp -rfp
  181. endif
  182. # To move pograms
  183. ifndef MOVE
  184. MOVE:=mv -f
  185. endif
  186. # Check delete program
  187. ifndef DEL
  188. DEL:=rm -f
  189. endif
  190. # Check deltree program
  191. ifndef DELTREE
  192. DELTREE:=rm -rf
  193. endif
  194. # To install files
  195. ifndef INSTALL
  196. ifdef inUnix
  197. INSTALL:=install -c -m 644
  198. else
  199. INSTALL:=$(COPY)
  200. endif
  201. endif
  202. # To install programs
  203. ifndef INSTALLEXE
  204. ifdef inUnix
  205. INSTALLEXE:=install -c -m 755
  206. else
  207. INSTALLEXE:=$(COPY)
  208. endif
  209. endif
  210. # To make a directory.
  211. ifndef MKDIR
  212. ifdef inUnix
  213. MKDIR:=install -m 755 -d
  214. else
  215. MKDIR:=ginstall -m 755 -d
  216. endif
  217. endif
  218. export ECHO COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
  219. [defaulttools]
  220. #####################################################################
  221. # Default Tools
  222. #####################################################################
  223. # assembler, redefine it if cross compiling
  224. ifndef AS
  225. AS=as
  226. endif
  227. # linker, but probably not used
  228. ifndef LD
  229. LD=ld
  230. endif
  231. # ppas.bat / ppas.sh
  232. PPAS=ppas$(BATCHEXT)
  233. # ldconfig to rebuild .so cache
  234. ifdef inUnix
  235. LDCONFIG=ldconfig
  236. else
  237. LDCONFIG=
  238. endif
  239. # ppumove
  240. ifndef PPUMOVE
  241. PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
  242. ifeq ($(PPUMOVE),)
  243. PPUMOVE=
  244. else
  245. PPUMOVE:=$(firstword $(PPUMOVE))
  246. endif
  247. endif
  248. export PPUMOVE
  249. # ppufiles
  250. ifndef PPUFILES
  251. PPUFILES:=$(strip $(wildcard $(addsuffix /ppufiles$(SRCEXEEXT),$(SEARCHPATH))))
  252. ifeq ($(PPUFILES),)
  253. PPUFILES=
  254. else
  255. PPUFILES:=$(firstword $(PPUFILES))
  256. endif
  257. endif
  258. export PPUFILES
  259. # gdate/date
  260. ifndef DATE
  261. DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
  262. ifeq ($(DATE),)
  263. DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEACHPATH))))
  264. ifeq ($(DATE),)
  265. DATE=
  266. else
  267. DATE:=$(firstword $(DATE))
  268. endif
  269. else
  270. DATE:=$(firstword $(DATE))
  271. endif
  272. endif
  273. export DATE
  274. ifdef DATE
  275. DATESTR:=$(shell $(DATE) +%Y%m%d)
  276. else
  277. DATESTR=
  278. endif
  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. [extensions]
  330. #####################################################################
  331. # Default extensions
  332. #####################################################################
  333. # Default needed extensions (Go32v2,Linux)
  334. LOADEREXT=.as
  335. EXEEXT=.exe
  336. PPLEXT=.ppl
  337. PPUEXT=.ppu
  338. OEXT=.o
  339. ASMEXT=.s
  340. SMARTEXT=.sl
  341. STATICLIBEXT=.a
  342. SHAREDLIBEXT=.so
  343. LIBPREFIX=lib
  344. RSTEXT=.rst
  345. FPCMADE=fpcmade
  346. # Go32v1
  347. ifeq ($(OS_TARGET),go32v1)
  348. PPUEXT=.pp1
  349. OEXT=.o1
  350. ASMEXT=.s1
  351. SMARTEXT=.sl1
  352. STATICLIBEXT=.a1
  353. SHAREDLIBEXT=.so1
  354. LIBPREFIX=
  355. FPCMADE=fpcmade.v1
  356. PACKAGESUFFIX=v1
  357. endif
  358. # Go32v2
  359. ifeq ($(OS_TARGET),go32v2)
  360. LIBPREFIX=
  361. FPCMADE=fpcmade.dos
  362. ZIPSUFFIX=go32
  363. endif
  364. # Linux
  365. ifeq ($(OS_TARGET),linux)
  366. EXEEXT=
  367. HASSHAREDLIB=1
  368. FPCMADE=fpcmade.lnx
  369. ZIPSUFFIX=linux
  370. endif
  371. # Linux
  372. ifeq ($(OS_TARGET),freebsd)
  373. EXEEXT=
  374. HASSHAREDLIB=1
  375. FPCMADE=fpcmade.freebsd
  376. ZIPSUFFIX=freebsd
  377. endif
  378. # Win32
  379. ifeq ($(OS_TARGET),win32)
  380. PPUEXT=.ppw
  381. OEXT=.ow
  382. ASMEXT=.sw
  383. SMARTEXT=.slw
  384. STATICLIBEXT=.aw
  385. SHAREDLIBEXT=.dll
  386. FPCMADE=fpcmade.w32
  387. ZIPSUFFIX=w32
  388. endif
  389. # OS/2
  390. ifeq ($(OS_TARGET),os2)
  391. PPUEXT=.ppo
  392. ASMEXT=.so2
  393. OEXT=.oo2
  394. AOUTEXT=.out
  395. SMARTEXT=.so
  396. STATICLIBEXT=.ao2
  397. SHAREDLIBEXT=.dll
  398. FPCMADE=fpcmade.os2
  399. ZIPSUFFIX=emx
  400. endif
  401. [defaultdirs]
  402. #####################################################################
  403. # Default Directories
  404. #####################################################################
  405. # Units dir
  406. ifdef REQUIRE_UNITSDIR
  407. override UNITSDIR+=$(REQUIRE_UNITSDIR)
  408. endif
  409. # Units dir
  410. ifdef REQUIRE_PACKAGESDIR
  411. override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
  412. endif
  413. # Linux and freebsd use unix dirs with /usr/bin, /usr/lib
  414. # When zipping use the target as default, when normal install then
  415. # use the source os as default
  416. ifdef ZIPINSTALL
  417. # Zipinstall
  418. ifeq ($(OS_TARGET),linux)
  419. UNIXINSTALLDIR=1
  420. endif
  421. ifeq ($(OS_TARGET),freebsd)
  422. UNIXINSTALLDIR=1
  423. endif
  424. else
  425. # Normal install
  426. ifeq ($(OS_SOURCE),linux)
  427. UNIXINSTALLDIR=1
  428. endif
  429. ifeq ($(OS_SOURCE),freebsd)
  430. UNIXINSTALLDIR=1
  431. endif
  432. endif
  433. # set the prefix directory where to install everything
  434. ifndef INSTALL_PREFIX
  435. ifdef UNIXINSTALLDIR
  436. INSTALL_PREFIX=/usr/local
  437. else
  438. INSTALL_PREFIX=/pp
  439. endif
  440. endif
  441. export INSTALL_PREFIX
  442. # Where to place the resulting zip files
  443. ifndef DIST_DESTDIR
  444. DIST_DESTDIR:=$(BASEDIR)
  445. endif
  446. export DIST_DESTDIR
  447. #####################################################################
  448. # Install Directories
  449. #####################################################################
  450. # set the base directory where to install everything
  451. ifndef INSTALL_BASEDIR
  452. ifdef UNIXINSTALLDIR
  453. INSTALL_BASEDIR=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
  454. else
  455. INSTALL_BASEDIR=$(INSTALL_PREFIX)
  456. endif
  457. endif
  458. # set the directory where to install the binaries
  459. ifndef INSTALL_BINDIR
  460. ifdef UNIXINSTALLDIR
  461. INSTALL_BINDIR=$(INSTALL_PREFIX)/bin
  462. else
  463. INSTALL_BINDIR=$(INSTALL_BASEDIR)/bin/$(OS_TARGET)
  464. endif
  465. endif
  466. # set the directory where to install the units.
  467. ifndef INSTALL_UNITDIR
  468. INSTALL_UNITDIR=$(INSTALL_BASEDIR)/units/$(OS_TARGET)
  469. ifdef PACKAGE_NAME
  470. INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
  471. endif
  472. endif
  473. # Where to install shared libraries
  474. ifndef INSTALL_LIBDIR
  475. ifdef UNIXINSTALLDIR
  476. INSTALL_LIBDIR=$(INSTALL_PREFIX)/lib
  477. else
  478. INSTALL_LIBDIR=$(INSTALL_UNITDIR)
  479. endif
  480. endif
  481. # Where the source files will be stored
  482. ifndef INSTALL_SOURCEDIR
  483. ifdef UNIXINSTALLDIR
  484. INSTALL_SOURCEDIR=$(INSTALL_PREFIX)/src/fpc-$(FPC_VERSION)
  485. else
  486. INSTALL_SOURCEDIR=$(INSTALL_BASEDIR)/source
  487. endif
  488. ifdef PACKAGE_NAME
  489. INSTALL_SOURCEDIR:=$(INSTALL_SOURCEDIR)/$(PACKAGE_NAME)
  490. endif
  491. endif
  492. # Where the doc files will be stored
  493. ifndef INSTALL_DOCDIR
  494. ifdef UNIXINSTALLDIR
  495. INSTALL_DOCDIR=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)
  496. else
  497. INSTALL_DOCDIR=$(INSTALL_BASEDIR)/doc
  498. endif
  499. endif
  500. # Where to install the examples, under linux we use the doc dir
  501. # because the copytree command will create a subdir itself
  502. ifndef INSTALL_EXAMPLEDIR
  503. ifdef UNIXINSTALLDIR
  504. INSTALL_EXAMPLEDIR=$(INSTALL_DOCDIR)/examples
  505. else
  506. INSTALL_EXAMPLEDIR=$(INSTALL_BASEDIR)/examples
  507. endif
  508. ifdef EXAMPLESUBDIR
  509. INSTALL_EXAMPLEDIR:=$(INSTALL_EXAMPLEDIR)/$(EXAMPLESUBDIR)
  510. endif
  511. endif
  512. # Where the some extra (data)files will be stored
  513. ifndef INSTALL_DATADIR
  514. INSTALL_DATADIR=$(INSTALL_BASEDIR)
  515. endif
  516. [dirlibc]
  517. # On linux, try to find where libgcc.a is.
  518. ifdef inUnix
  519. ifndef GCCLIBDIR
  520. GCCLIBDIR:=$(shell dirname `(gcc -v 2>&1)| head -n 1| awk '{ print $$4 } '`)
  521. endif
  522. ifndef OTHERLIBDIR
  523. OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
  524. endif
  525. export GCCLIBDIR OTHERLIB
  526. endif
  527. [command_begin]
  528. #####################################################################
  529. # Compiler Command Line
  530. #####################################################################
  531. # Load commandline OPTDEF and add FPC_CPU define
  532. override FPCOPTDEF=$(CPU_TARGET)
  533. # Load commandline OPT and add target and unit dir to be sure
  534. ifneq ($(OS_TARGET),$(OS_SOURCE))
  535. override FPCOPT+=-T$(OS_TARGET)
  536. endif
  537. # User dirs should be first, so they are looked at first
  538. ifdef UNITDIR
  539. override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
  540. endif
  541. ifdef LIBDIR
  542. override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
  543. endif
  544. ifdef OBJDIR
  545. override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
  546. endif
  547. ifdef INCDIR
  548. override FPCOPT+=$(addprefix -Fi,$(INCDIR))
  549. endif
  550. # Smartlinking
  551. ifdef LINKSMART
  552. override FPCOPT+=-XX
  553. endif
  554. # Smartlinking creation
  555. ifdef CREATESMART
  556. override FPCOPT+=-CX
  557. endif
  558. # Debug
  559. ifdef DEBUG
  560. override FPCOPT+=-gl
  561. override FPCOPTDEF+=DEBUG
  562. endif
  563. # Release mode (strip, optimize and don't load ppc386.cfg)
  564. ifdef RELEASE
  565. override FPCOPT+=-Xs -OG2p3 -n
  566. override FPCOPTDEF+=RELEASE
  567. endif
  568. # Strip
  569. ifdef STRIP
  570. override FPCOPT+=-Xs
  571. endif
  572. # Optimizer
  573. ifdef OPTIMIZE
  574. override FPCOPT+=-OG2p3
  575. endif
  576. # Verbose settings (warning,note,info)
  577. ifdef VERBOSE
  578. override FPCOPT+=-vwni
  579. endif
  580. # Needed compiler options
  581. ifdef COMPILER_OPTIONS
  582. override FPCOPT+=$(COMPILER_OPTIONS)
  583. endif
  584. ifdef COMPILER_UNITDIR
  585. override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
  586. endif
  587. ifdef COMPILER_LIBRARYDIR
  588. override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
  589. endif
  590. ifdef COMPILER_OBJECTDIR
  591. override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
  592. endif
  593. ifdef COMPILER_INCLUDEDIR
  594. override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
  595. endif
  596. # Target dirs and the prefix to use for clean/install
  597. ifdef COMPILER_TARGETDIR
  598. override FPCOPT+=-FE$(COMPILER_TARGETDIR)
  599. ifeq ($(COMPILER_TARGETDIR),.)
  600. override TARGETDIRPREFIX=
  601. else
  602. override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
  603. endif
  604. endif
  605. # Unit target dir
  606. ifdef COMPILER_UNITTARGETDIR
  607. override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
  608. ifeq ($(COMPILER_UNITTARGETDIR),.)
  609. override UNITTARGETDIRPREFIX=
  610. else
  611. override UNITTARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
  612. endif
  613. else
  614. ifdef COMPILER_TARGETDIR
  615. override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
  616. override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
  617. endif
  618. endif
  619. [command_libc]
  620. # Add GCC lib path if asked
  621. ifdef GCCLIBDIR
  622. override FPCOPT+=-Fl$(GCCLIBDIR)
  623. endif
  624. ifdef OTHERLIBDIR
  625. override FPCOPT+=$(addprefix -Fl,$(OTHERLIBDIR))
  626. endif
  627. [command_end]
  628. # Add commandline options last so they can override
  629. ifdef OPT
  630. override FPCOPT+=$(OPT)
  631. endif
  632. # Add defines from FPCOPTDEF to FPCOPT
  633. ifdef FPCOPTDEF
  634. override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
  635. endif
  636. # Was a config file specified ?
  637. ifdef CFGFILE
  638. override FPCOPT+=@$(CFGFILE)
  639. endif
  640. # For win32 the options are passed using the environment FPCEXTCMD
  641. ifeq ($(OS_SOURCE),win32)
  642. override FPCEXTCMD:=$(FPCOPT)
  643. override FPCOPT:=!FPCEXTCMD
  644. export FPCEXTCMD
  645. endif
  646. # Compiler commandline
  647. override COMPILER:=$(FPC) $(FPCOPT)
  648. # also call ppas if with command option -s
  649. # but only if the OS_SOURCE and OS_TARGET are equal
  650. ifeq (,$(findstring -s ,$(COMPILER)))
  651. EXECPPAS=
  652. else
  653. ifeq ($(OS_SOURCE),$(OS_TARGET))
  654. EXECPPAS:=@$(PPAS)
  655. endif
  656. endif
  657. [loaderrules]
  658. #####################################################################
  659. # Loaders
  660. #####################################################################
  661. .PHONY: fpc_loaders
  662. ifdef TARGET_LOADERS
  663. override ALLTARGET+=fpc_loaders
  664. override CLEANTARGET+=fpc_loaders_clean
  665. override INSTALLTARGET+=fpc_loaders_install
  666. override LOADEROFILES:=$(addsuffix $(OEXT),$(TARGET_LOADERS))
  667. endif
  668. %$(OEXT): %$(LOADEREXT)
  669. $(AS) -o $*$(OEXT) $<
  670. fpc_loaders: $(LOADEROFILES)
  671. fpc_loaders_clean:
  672. -$(DEL) $(LOADEROFILES)
  673. fpc_loaders_install:
  674. $(MKDIR) $(INSTALL_UNITDIR)
  675. $(INSTALL) $(LOADEROFILES) $(INSTALL_UNITDIR)
  676. [unitrules]
  677. #####################################################################
  678. # Units
  679. #####################################################################
  680. .PHONY: fpc_units
  681. ifdef TARGET_UNITS
  682. override ALLTARGET+=fpc_units
  683. override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS))
  684. override INSTALLPPUFILES+=$(UNITPPUFILES)
  685. override CLEANPPUFILES+=$(UNITPPUFILES)
  686. endif
  687. fpc_units: $(UNITPPUFILES)
  688. [exerules]
  689. #####################################################################
  690. # Exes
  691. #####################################################################
  692. .PHONY: fpc_exes
  693. ifdef TARGET_PROGRAMS
  694. override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS))
  695. override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addprefix $(LIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS)))
  696. override ALLTARGET+=fpc_exes
  697. override INSTALLEXEFILES+=$(EXEFILES)
  698. override CLEANEXEFILES+=$(EXEFILES) $(EXEOFILES)
  699. ifeq ($(OS_TARGET),os2)
  700. override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
  701. endif
  702. endif
  703. fpc_exes: $(EXEFILES)
  704. [rstrules]
  705. #####################################################################
  706. # Resource strings
  707. #####################################################################
  708. ifdef TARGET_RSTS
  709. override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
  710. override CLEANRSTFILES+=$(RSTFILES)
  711. endif
  712. [examplerules]
  713. #####################################################################
  714. # Examples
  715. #####################################################################
  716. .PHONY: fpc_examples fpc_test
  717. ifdef TARGET_EXAMPLES
  718. override EXAMPLESOURCEFILES:=$(wildcard $(addsuffix .pp,$(TARGET_EXAMPLES)) $(addsuffix .pas,$(TARGET_EXAMPLES)))
  719. override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(TARGET_EXAMPLES))
  720. override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(TARGET_EXAMPLES)) $(addprefix $(LIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES)))
  721. override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
  722. ifeq ($(OS_TARGET),os2)
  723. override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_EXAMPLES))
  724. endif
  725. endif
  726. fpc_examples: all $(EXAMPLEFILES) $(addsuffix _all,$(TARGET_EXAMPLEDIRS))
  727. [compilerules]
  728. #####################################################################
  729. # General compile rules
  730. #####################################################################
  731. .PHONY: fpc_packages fpc_all fpc_smart fpc_debug
  732. $(FPCMADE): $(ALLTARGET)
  733. @$(ECHO) Compiled > $(FPCMADE)
  734. fpc_packages: $(COMPILEPACKAGES)
  735. fpc_all: fpc_packages $(FPCMADE)
  736. fpc_smart:
  737. $(MAKE) all LINKSMART=1 CREATESMART=1
  738. fpc_debug:
  739. $(MAKE) all DEBUG=1
  740. # General compile rules, available for both possible .pp and .pas extensions
  741. .SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp
  742. %$(PPUEXT): %.pp
  743. $(COMPILER) $<
  744. $(EXECPPAS)
  745. %$(PPUEXT): %.pas
  746. $(COMPILER) $<
  747. $(EXECPPAS)
  748. %$(EXEEXT): %.pp
  749. $(COMPILER) $<
  750. $(EXECPPAS)
  751. %$(EXEEXT): %.pas
  752. $(COMPILER) $<
  753. $(EXECPPAS)
  754. # Search paths for .ppu and .pp and .pas
  755. vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  756. vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  757. vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
  758. [libraryrules]
  759. #####################################################################
  760. # Library
  761. #####################################################################
  762. .PHONY: fpc_shared
  763. ifndef LIB_FULLNAME
  764. ifdef LIB_VERSION
  765. LIB_FULLNAME=$(LIB_NAME).$(LIB_VERSION)
  766. else
  767. LIB_FULLNAME=$(LIB_NAME)
  768. endif
  769. endif
  770. # Default sharedlib units are all unit objects
  771. ifndef LIB_SHAREDUNITS
  772. LIB_SHAREDUNITS:=$(TARGET_UNITS)
  773. endif
  774. fpc_shared: all
  775. ifdef HASSHAREDLIB
  776. $(PPUMOVE) $(LIB_SHAREDUNITS) -o$(LIB_FULLNAME)
  777. else
  778. @$(ECHO) Shared Libraries not supported
  779. endif
  780. [installrules]
  781. #####################################################################
  782. # Install rules
  783. #####################################################################
  784. .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
  785. ifdef INSTALL_UNITS
  786. override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
  787. endif
  788. ifdef INSTALLPPUFILES
  789. ifdef PPUFILES
  790. override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILES))
  791. override INSTALLPPULINKFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES)))
  792. else
  793. override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(LIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
  794. override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILES))
  795. override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPULINKFILES)))
  796. endif
  797. endif
  798. ifdef INSTALLEXEFILES
  799. override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(INSTALLEXEFILES))
  800. endif
  801. fpc_install: $(INSTALLTARGET)
  802. # Create UnitInstallFiles
  803. ifdef INSTALLEXEFILES
  804. $(MKDIR) $(INSTALL_BINDIR)
  805. # Compress the exes if upx is defined
  806. ifdef UPXPROG
  807. -$(UPXPROG) $(INSTALLEXEFILES)
  808. endif
  809. $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
  810. endif
  811. ifdef INSTALLPPUFILES
  812. $(MKDIR) $(INSTALL_UNITDIR)
  813. $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
  814. ifneq ($(INSTALLPPULINKFILES),)
  815. $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
  816. endif
  817. ifneq ($(wildcard $(LIB_FULLNAME)),)
  818. $(MKDIR) $(INSTALL_LIBDIR)
  819. $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
  820. ifdef inUnix
  821. ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
  822. endif
  823. endif
  824. endif
  825. ifdef INSTALL_FILES
  826. $(MKDIR) $(INSTALL_DATADIR)
  827. $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
  828. endif
  829. fpc_sourceinstall: distclean
  830. $(MKDIR) $(INSTALL_SOURCEDIR)
  831. $(COPYTREE) $(BASEDIR) $(INSTALL_SOURCEDIR)
  832. fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
  833. ifdef EXAMPLESOURCEFILES
  834. $(MKDIR) $(INSTALL_EXAMPLEDIR)
  835. $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
  836. endif
  837. ifdef TARGET_EXAMPLEDIRS
  838. ifndef EXAMPLESOURCEFILES
  839. $(MKDIR) $(INSTALL_EXAMPLEDIR)
  840. endif
  841. $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
  842. endif
  843. fpc_distinstall: fpc_install fpc_exampleinstall
  844. [zipinstallrules]
  845. #####################################################################
  846. # Zip
  847. #####################################################################
  848. .PHONY: fpc_zipinstall fpc_zipsourceinstall fpc_zipexampleinstall
  849. # Temporary path to pack a file
  850. ifndef PACKDIR
  851. ifndef inUnix
  852. PACKDIR=$(BASEDIR)/../pack_tmp/$(PACKAGE_NAME)
  853. else
  854. PACKDIR=/tmp/fpc-pack/$(PACKAGE_NAME)
  855. endif
  856. endif
  857. # Maybe create default zipname from packagename
  858. ifndef ZIPNAME
  859. ifdef DIST_ZIPNAME
  860. ZIPNAME=$(DIST_ZIPNAME)
  861. else
  862. ZIPNAME=$(ZIPPREFIX)$(PACKAGE_NAME)$(ZIPSUFFIX)
  863. endif
  864. endif
  865. # ZipTarget
  866. ifndef ZIPTARGET
  867. ifdef DIST_ZIPTARGET
  868. ZIPTARGET=DIST_ZIPTARGET
  869. else
  870. ZIPTARGET=install
  871. endif
  872. endif
  873. # Use tar by default under linux
  874. ifndef USEZIP
  875. ifdef inUnix
  876. USETAR=1
  877. endif
  878. endif
  879. # Use a wrapper script by default for Os/2
  880. ifdef inOS2
  881. USEZIPWRAPPER=1
  882. endif
  883. # Create commands to create the zip/tar file
  884. ZIPWRAPPER=$(DIST_DESTDIR)/fpczip$(BATCHEXT)
  885. ZIPCMD_CDPACK:=cd $(subst /,$(PATHSEP),$(PACKDIR))
  886. ZIPCMD_CDBASE:=cd $(subst /,$(PATHSEP),$(BASEDIR))
  887. ifdef USETAR
  888. ZIPDESTFILE:=$(DIST_DESTDIR)/$(ZIPNAME)$(TAREXT)
  889. ZIPCMD_ZIP:=$(TARPROG) cf$(TAROPT) $(ZIPDESTFILE) *
  890. else
  891. ZIPDESTFILE:=$(DIST_DESTDIR)/$(ZIPNAME)$(ZIPEXT)
  892. ZIPCMD_ZIP:=$(subst /,$(PATHSEP),$(ZIPPROG)) -Dr $(ZIPOPT) $(ZIPDESTFILE) *
  893. endif
  894. fpc_zipinstall:
  895. $(MAKE) $(ZIPTARGET) INSTALL_PREFIX=$(PACKDIR) ZIPINSTALL=1
  896. $(DEL) $(ZIPDESTFILE)
  897. ifdef USEZIPWRAPPER
  898. ifneq ($(ECHO),echo)
  899. $(ECHO) "$(ZIPCMD_CDPACK)" > $(ZIPWRAPPER)
  900. $(ECHO) "$(ZIPCMD_ZIP)" >> $(ZIPWRAPPER)
  901. $(ECHO) "$(ZIPCMD_CDBASE)" >> $(ZIPWRAPPER)
  902. else
  903. $(ECHO) $(ZIPCMD_CDPACK) > $(ZIPWRAPPER)
  904. $(ECHO) $(ZIPCMD_ZIP) >> $(ZIPWRAPPER)
  905. $(ECHO) $(ZIPCMD_CDBASE) >> $(ZIPWRAPPER)
  906. endif
  907. ifdef inUnix
  908. /bin/sh $(ZIPWRAPPER)
  909. else
  910. $(ZIPWRAPPER)
  911. endif
  912. $(DEL) $(ZIPWRAPPER)
  913. else
  914. $(ZIPCMD_CDPACK) ; $(ZIPCMD_ZIP) ; $(ZIPCMD_CDBASE)
  915. endif
  916. $(DELTREE) $(PACKDIR)
  917. fpc_zipsourceinstall:
  918. $(MAKE) fpc_zipinstall ZIPTARGET=sourceinstall ZIPSUFFIX=src
  919. fpc_zipexampleinstall:
  920. $(MAKE) fpc_zipinstall ZIPTARGET=exampleinstall ZIPSUFFIX=exm
  921. fpc_zipdistinstall:
  922. $(MAKE) fpc_zipinstall ZIPTARGET=distinstall
  923. [cleanrules]
  924. #####################################################################
  925. # Clean rules
  926. #####################################################################
  927. .PHONY: fpc_clean fpc_cleanall fpc_distclean
  928. ifdef EXEFILES
  929. override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
  930. endif
  931. ifdef CLEAN_UNITS
  932. override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
  933. endif
  934. ifdef CLEANPPUFILES
  935. override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
  936. # Get the .o and .a files created for the units
  937. ifdef PPUFILES
  938. CLEANPPULINKFILES:=$(shell $(PPUFILES) $(CLEANPPUFILES))
  939. else
  940. CLEANPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(LIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))))
  941. endif
  942. override CLEANPPULINKFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES))
  943. endif
  944. fpc_clean: $(CLEANTARGET)
  945. ifdef CLEANEXEFILES
  946. -$(DEL) $(CLEANEXEFILES)
  947. endif
  948. ifdef CLEANPPUFILES
  949. -$(DEL) $(CLEANPPUFILES)
  950. endif
  951. ifneq ($(CLEANPPULINKFILES),)
  952. -$(DEL) $(CLEANPPULINKFILES)
  953. endif
  954. ifdef CLEANRSTFILES
  955. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  956. endif
  957. ifdef CLEAN_FILES
  958. -$(DEL) $(CLEAN_FILES)
  959. endif
  960. ifdef LIB_NAME
  961. -$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
  962. endif
  963. -$(DEL) $(FPCMADE) $(PPAS) link.res $(FPCEXTFILE) $(REDIRFILE)
  964. fpc_distclean: fpc_clean
  965. # Also run clean first if targetdir is set. Unittargetdir is always
  966. # set if targetdir or unittargetdir is specified
  967. ifdef COMPILER_UNITTARGETDIR
  968. TARGETDIRCLEAN=fpc_clean
  969. endif
  970. fpc_cleanall: $(CLEANTARGET) $(TARGETDIRCLEAN)
  971. ifdef CLEANEXEFILES
  972. -$(DEL) $(CLEANEXEFILES)
  973. endif
  974. -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
  975. -$(DELTREE) *$(SMARTEXT)
  976. -$(DEL) $(FPCMADE) $(PPAS) link.res $(FPCEXTFILE) $(REDIRFILE)
  977. ifdef AOUTEXT
  978. -$(DEL) *$(AOUTEXT)
  979. endif
  980. [inforules]
  981. #####################################################################
  982. # Info rules
  983. #####################################################################
  984. .PHONY: fpc_info
  985. fpc_info:
  986. @$(ECHO)
  987. @$(ECHO) == Package info ==
  988. @$(ECHO) Package Name..... $(PACKAGE_NAME)
  989. @$(ECHO) Package Version.. $(PACKAGE_VERSION)
  990. @$(ECHO)
  991. @$(ECHO) == Configuration info ==
  992. @$(ECHO)
  993. @$(ECHO) FPC.......... $(FPC)
  994. @$(ECHO) FPC Version.. $(FPC_VERSION)
  995. @$(ECHO) Source CPU... $(CPU_SOURCE)
  996. @$(ECHO) Target CPU... $(CPU_TARGET)
  997. @$(ECHO) Source OS.... $(OS_SOURCE)
  998. @$(ECHO) Target OS.... $(OS_TARGET)
  999. @$(ECHO)
  1000. @$(ECHO) == Directory info ==
  1001. @$(ECHO)
  1002. @$(ECHO) Basedir......... $(BASEDIR)
  1003. @$(ECHO) FPCDir.......... $(FPCDIR)
  1004. @$(ECHO) UnitsDir........ $(UNITSDIR)
  1005. @$(ECHO) PackagesDir..... $(PACKAGESDIR)
  1006. @$(ECHO)
  1007. @$(ECHO) GCC library..... $(GCCLIBDIR)
  1008. @$(ECHO) Other library... $(OTHERLIBDIR)
  1009. @$(ECHO)
  1010. @$(ECHO) == Tools info ==
  1011. @$(ECHO)
  1012. @$(ECHO) Pwd....... $(PWD)
  1013. @$(ECHO) Echo...... $(ECHO)
  1014. @$(ECHO) PPUMove... $(PPUMOVE)
  1015. @$(ECHO) PPUFiles.. $(PPUFILES)
  1016. @$(ECHO) Date...... $(DATE)
  1017. @$(ECHO) Upx....... $(UPXPROG)
  1018. @$(ECHO) Zip....... $(ZIPPROG)
  1019. @$(ECHO)
  1020. @$(ECHO) == Object info ==
  1021. @$(ECHO)
  1022. @$(ECHO) Target Loaders...... $(TARGET_LOADERS)
  1023. @$(ECHO) Target Units........ $(TARGET_UNITS)
  1024. @$(ECHO) Target Programs..... $(TARGET_PROGRAMS)
  1025. @$(ECHO) Target Dirs......... $(TARGET_DIRS)
  1026. @$(ECHO) Target Examples..... $(TARGET_EXAMPLES)
  1027. @$(ECHO) Target ExampleDirs.. $(TARGET_EXAMPLEDIRS)
  1028. @$(ECHO)
  1029. @$(ECHO) Clean Units......... $(CLEAN_UNITS)
  1030. @$(ECHO) Clean Files......... $(CLEAN_FILES)
  1031. @$(ECHO)
  1032. @$(ECHO) Install Units....... $(INSTALL_UNITS)
  1033. @$(ECHO) Install Files....... $(INSTALL_FILES)
  1034. @$(ECHO)
  1035. @$(ECHO) == Install info ==
  1036. @$(ECHO)
  1037. @$(ECHO) DateStr.............. $(DATESTR)
  1038. @$(ECHO) ZipPrefix............ $(ZIPPREFIX)
  1039. @$(ECHO) ZipSuffix............ $(ZIPSUFFIX)
  1040. @$(ECHO)
  1041. @$(ECHO) INSTALL_BASEDIR...... $(INSTALL_BASEDIR)
  1042. @$(ECHO) INSTALL_BINDIR....... $(INSTALL_BINDIR)
  1043. @$(ECHO) INSTALL_LIBDIR....... $(INSTALL_LIBDIR)
  1044. @$(ECHO) INSTALL_UNITDIR...... $(INSTALL_UNITDIR)
  1045. @$(ECHO) INSTALL_SOURCEDIR.... $(INSTALL_SOURCEDIR)
  1046. @$(ECHO) INSTALL_DOCDIR....... $(INSTALL_DOCDIR)
  1047. @$(ECHO) INSTALL_DATADIR...... $(INSTALL_DATADIR)
  1048. @$(ECHO)
  1049. @$(ECHO) DIST_DESTDIR......... $(DIST_DESTDIR)
  1050. @$(ECHO) DIST_ZIPNAME......... $(DIST_ZIPNAME)
  1051. @$(ECHO)
  1052. [localmakefile]
  1053. #####################################################################
  1054. # Local Makefile
  1055. #####################################################################
  1056. ifneq ($(wildcard fpcmake.loc),)
  1057. include fpcmake.loc
  1058. endif
  1059. [userrules]
  1060. #####################################################################
  1061. # Users rules
  1062. #####################################################################