Makefile 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116
  1. #
  2. # Don't edit, this file is generated by FPCMake Version 1.1 [2001/10/16]
  3. #
  4. default: all
  5. override PATH:=$(subst \,/,$(PATH))
  6. ifeq ($(findstring ;,$(PATH)),)
  7. inUnix=1
  8. SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
  9. else
  10. SEARCHPATH:=$(subst ;, ,$(PATH))
  11. endif
  12. PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
  13. ifeq ($(PWD),)
  14. PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
  15. ifeq ($(PWD),)
  16. nopwd:
  17. @echo You need the GNU utils package to use this Makefile!
  18. @echo Get ftp://ftp.freepascal.org/pub/fpc/dist/go32v2/utilgo32.zip
  19. @exit
  20. else
  21. PWD:=$(firstword $(PWD))
  22. SRCEXEEXT=
  23. endif
  24. else
  25. PWD:=$(firstword $(PWD))
  26. SRCEXEEXT=.exe
  27. endif
  28. ifndef inUnix
  29. ifeq ($(OS),Windows_NT)
  30. inWinNT=1
  31. else
  32. ifdef OS2_SHELL
  33. inOS2=1
  34. endif
  35. endif
  36. else
  37. ifneq ($(findstring cygwin,$(MACHTYPE)),)
  38. inCygWin=1
  39. endif
  40. endif
  41. ifdef inUnix
  42. BATCHEXT=.sh
  43. else
  44. ifdef inOS2
  45. BATCHEXT=.cmd
  46. else
  47. BATCHEXT=.bat
  48. endif
  49. endif
  50. ifdef inUnix
  51. PATHSEP=/
  52. else
  53. PATHSEP:=$(subst /,\,/)
  54. endif
  55. ifdef PWD
  56. BASEDIR:=$(subst \,/,$(shell $(PWD)))
  57. ifdef inCygWin
  58. ifneq ($(findstring /cygdrive/,$(BASEDIR)),)
  59. BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR))
  60. BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR)))
  61. BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR))
  62. endif
  63. endif
  64. else
  65. BASEDIR=.
  66. endif
  67. ifndef FPC
  68. ifdef PP
  69. FPC=$(PP)
  70. endif
  71. endif
  72. ifndef FPC
  73. FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
  74. ifneq ($(FPCPROG),)
  75. FPCPROG:=$(firstword $(FPCPROG))
  76. FPC:=$(shell $(FPCPROG) -PB)
  77. ifneq ($(findstring Error,$(FPC)),)
  78. override FPC=ppc386
  79. endif
  80. else
  81. override FPC=ppc386
  82. endif
  83. endif
  84. override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
  85. override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
  86. ifndef FPC_VERSION
  87. FPC_VERSION:=$(shell $(FPC) -iV)
  88. endif
  89. export FPC FPC_VERSION
  90. ifndef CPU_TARGET
  91. CPU_TARGET:=$(shell $(FPC) -iTP)
  92. endif
  93. ifndef CPU_SOURCE
  94. CPU_SOURCE:=$(shell $(FPC) -iSP)
  95. endif
  96. ifndef OS_TARGET
  97. OS_TARGET:=$(shell $(FPC) -iTO)
  98. endif
  99. ifndef OS_SOURCE
  100. OS_SOURCE:=$(shell $(FPC) -iSO)
  101. endif
  102. FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
  103. FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
  104. ifneq ($(FULL_TARGET),$(FULL_SOURCE))
  105. CROSSCOMPILE=1
  106. endif
  107. export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
  108. ifdef FPCDIR
  109. override FPCDIR:=$(subst \,/,$(FPCDIR))
  110. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  111. override FPCDIR=wrong
  112. endif
  113. else
  114. override FPCDIR=wrong
  115. endif
  116. ifeq ($(FPCDIR),wrong)
  117. override FPCDIR=../../..
  118. ifeq ($(wildcard $(FPCDIR)/rtl),)
  119. ifeq ($(wildcard $(FPCDIR)/units),)
  120. override FPCDIR=wrong
  121. endif
  122. endif
  123. endif
  124. ifeq ($(FPCDIR),wrong)
  125. ifdef inUnix
  126. override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
  127. ifeq ($(wildcard $(FPCDIR)/units),)
  128. override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
  129. endif
  130. else
  131. override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
  132. override FPCDIR:=$(FPCDIR)/..
  133. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  134. override FPCDIR:=$(FPCDIR)/..
  135. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  136. override FPCDIR=c:/pp
  137. endif
  138. endif
  139. endif
  140. endif
  141. ifdef CROSSCOMPILE
  142. UNITSDIR:=$(wildcard $(FPCDIR)/cross/$(FULL_TARGET)/units)
  143. ifeq ($(UNITSDIR),)
  144. UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
  145. endif
  146. else
  147. UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
  148. endif
  149. PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages)
  150. override TARGET_PROGRAMS+=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
  151. override INSTALL_FPCPACKAGE=y
  152. ifdef REQUIRE_UNITSDIR
  153. override UNITSDIR+=$(REQUIRE_UNITSDIR)
  154. endif
  155. ifdef REQUIRE_PACKAGESDIR
  156. override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
  157. endif
  158. ifdef ZIPINSTALL
  159. ifeq ($(OS_TARGET),linux)
  160. UNIXINSTALLDIR=1
  161. endif
  162. ifeq ($(OS_TARGET),freebsd)
  163. UNIXINSTALLDIR=1
  164. endif
  165. ifeq ($(OS_TARGET),netbsd)
  166. UNIXINSTALLDIR=1
  167. endif
  168. else
  169. ifeq ($(OS_SOURCE),linux)
  170. UNIXINSTALLDIR=1
  171. endif
  172. ifeq ($(OS_SOURCE),freebsd)
  173. UNIXINSTALLDIR=1
  174. endif
  175. ifeq ($(OS_SOURCE),netbsd)
  176. UNIXINSTALLDIR=1
  177. endif
  178. endif
  179. ifndef INSTALL_PREFIX
  180. ifdef UNIXINSTALLDIR
  181. INSTALL_PREFIX=/usr/local
  182. else
  183. ifdef INSTALL_FPCPACKAGE
  184. INSTALL_BASEDIR:=/pp
  185. else
  186. INSTALL_BASEDIR:=/$(PACKAGE_NAME)
  187. endif
  188. endif
  189. endif
  190. export INSTALL_PREFIX
  191. ifndef DIST_DESTDIR
  192. DIST_DESTDIR:=$(BASEDIR)
  193. endif
  194. export DIST_DESTDIR
  195. ifndef INSTALL_BASEDIR
  196. ifdef UNIXINSTALLDIR
  197. ifdef INSTALL_FPCPACKAGE
  198. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
  199. else
  200. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
  201. endif
  202. else
  203. INSTALL_BASEDIR:=$(INSTALL_PREFIX)
  204. endif
  205. endif
  206. ifndef INSTALL_BINDIR
  207. ifdef UNIXINSTALLDIR
  208. INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
  209. else
  210. INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
  211. ifdef INSTALL_FPCPACKAGE
  212. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(OS_TARGET)
  213. endif
  214. endif
  215. endif
  216. ifndef INSTALL_UNITDIR
  217. ifdef CROSSCOMPILE
  218. INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/units
  219. else
  220. INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(OS_TARGET)
  221. endif
  222. ifdef INSTALL_FPCPACKAGE
  223. ifdef PACKAGE_NAME
  224. INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
  225. endif
  226. endif
  227. endif
  228. ifndef INSTALL_LIBDIR
  229. ifdef UNIXINSTALLDIR
  230. INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
  231. else
  232. INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
  233. endif
  234. endif
  235. ifndef INSTALL_SOURCEDIR
  236. ifdef UNIXINSTALLDIR
  237. ifdef INSTALL_FPCPACKAGE
  238. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  239. else
  240. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/src/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  241. endif
  242. else
  243. ifdef INSTALL_FPCPACKAGE
  244. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
  245. else
  246. INSTALL_SOURCEDIRL:=$(INSTALL_BASEDIR)/source
  247. endif
  248. endif
  249. endif
  250. ifndef INSTALL_DOCDIR
  251. ifdef UNIXINSTALLDIR
  252. ifdef INSTALL_FPCPACKAGE
  253. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  254. else
  255. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  256. endif
  257. else
  258. ifdef INSTALL_FPCPACKAGE
  259. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
  260. else
  261. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
  262. endif
  263. endif
  264. endif
  265. ifndef INSTALL_EXAMPLEDIR
  266. ifdef UNIXINSTALLDIR
  267. ifdef INSTALL_FPCPACKAGE
  268. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
  269. else
  270. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  271. endif
  272. else
  273. ifdef INSTALL_FPCPACKAGE
  274. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
  275. else
  276. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
  277. endif
  278. endif
  279. endif
  280. ifndef INSTALL_DATADIR
  281. INSTALL_DATADIR=$(INSTALL_BASEDIR)
  282. endif
  283. ifdef CROSSCOMPILE
  284. ifndef CROSSBINDIR
  285. CROSSBINDIR:=$(wildcard $(FPCDIR)/cross/$(FULL_TARGET)/bin/$(FULL_SOURCE))
  286. ifeq ($(CROSSBINDIR),)
  287. CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin/$(FULL_SOURCE))
  288. endif
  289. endif
  290. else
  291. CROSSBINDIR=
  292. endif
  293. ifdef inUnix
  294. ifndef GCCLIBDIR
  295. GCCLIBDIR:=$(shell dirname `(gcc -v 2>&1)| head -n 1| awk '{ print $$4 } '`)
  296. endif
  297. ifeq ($(OS_TARGET),linux)
  298. ifndef OTHERLIBDIR
  299. OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
  300. endif
  301. endif
  302. ifeq ($(OS_TARGET),netbsd)
  303. OTHERLIBDIR+=/usr/pkg/lib
  304. endif
  305. export GCCLIBDIR OTHERLIB
  306. endif
  307. LOADEREXT=.as
  308. EXEEXT=.exe
  309. PPLEXT=.ppl
  310. PPUEXT=.ppu
  311. OEXT=.o
  312. ASMEXT=.s
  313. SMARTEXT=.sl
  314. STATICLIBEXT=.a
  315. SHAREDLIBEXT=.so
  316. STATICLIBPREFIX=libp
  317. RSTEXT=.rst
  318. FPCMADE=fpcmade
  319. ifeq ($(OS_TARGET),go32v1)
  320. PPUEXT=.pp1
  321. OEXT=.o1
  322. ASMEXT=.s1
  323. SMARTEXT=.sl1
  324. STATICLIBEXT=.a1
  325. SHAREDLIBEXT=.so1
  326. STATICLIBPREFIX=
  327. FPCMADE=fpcmade.v1
  328. PACKAGESUFFIX=v1
  329. endif
  330. ifeq ($(OS_TARGET),go32v2)
  331. STATICLIBPREFIX=
  332. FPCMADE=fpcmade.dos
  333. ZIPSUFFIX=go32
  334. endif
  335. ifeq ($(OS_TARGET),linux)
  336. EXEEXT=
  337. HASSHAREDLIB=1
  338. FPCMADE=fpcmade.lnx
  339. ZIPSUFFIX=linux
  340. endif
  341. ifeq ($(OS_TARGET),freebsd)
  342. EXEEXT=
  343. HASSHAREDLIB=1
  344. FPCMADE=fpcmade.freebsd
  345. ZIPSUFFIX=freebsd
  346. endif
  347. ifeq ($(OS_TARGET),netbsd)
  348. EXEEXT=
  349. HASSHAREDLIB=1
  350. FPCMADE=fpcmade.netbsd
  351. ZIPSUFFIX=netbsd
  352. endif
  353. ifeq ($(OS_TARGET),win32)
  354. PPUEXT=.ppw
  355. OEXT=.ow
  356. ASMEXT=.sw
  357. SMARTEXT=.slw
  358. STATICLIBEXT=.aw
  359. SHAREDLIBEXT=.dll
  360. FPCMADE=fpcmade.w32
  361. ZIPSUFFIX=w32
  362. endif
  363. ifeq ($(OS_TARGET),os2)
  364. PPUEXT=.ppo
  365. ASMEXT=.so2
  366. OEXT=.oo2
  367. AOUTEXT=.out
  368. SMARTEXT=.so
  369. STATICLIBEXT=.ao2
  370. SHAREDLIBEXT=.dll
  371. FPCMADE=fpcmade.os2
  372. ZIPSUFFIX=emx
  373. endif
  374. ifeq ($(OS_TARGET),amiga)
  375. EXEEXT=
  376. PPUEXT=.ppa
  377. ASMEXT=.asm
  378. OEXT=.o
  379. SMARTEXT=.sl
  380. STATICLIBEXT=.a
  381. SHAREDLIBEXT=.library
  382. FPCMADE=fpcmade.amg
  383. endif
  384. ifeq ($(OS_TARGET),atari)
  385. PPUEXT=.ppt
  386. ASMEXT=.s
  387. OEXT=.o
  388. SMARTEXT=.sl
  389. STATICLIBEXT=.a
  390. EXEEXT=.ttp
  391. FPCMADE=fpcmade.ata
  392. endif
  393. ifeq ($(OS_TARGET),beos)
  394. PPUEXT=.ppu
  395. ASMEXT=.s
  396. OEXT=.o
  397. SMARTEXT=.sl
  398. STATICLIBEXT=.a
  399. EXEEXT=
  400. FPCMADE=fpcmade.be
  401. ZIPSUFFIX=be
  402. endif
  403. ifeq ($(OS_TARGET),sunos)
  404. PPUEXT=.ppu
  405. ASMEXT=.s
  406. OEXT=.o
  407. SMARTEXT=.sl
  408. STATICLIBEXT=.a
  409. EXEEXT=
  410. FPCMADE=fpcmade.sun
  411. ZIPSUFFIX=sun
  412. endif
  413. ifeq ($(OS_TARGET),qnx)
  414. PPUEXT=.ppu
  415. ASMEXT=.s
  416. OEXT=.o
  417. SMARTEXT=.sl
  418. STATICLIBEXT=.a
  419. EXEEXT=
  420. FPCMADE=fpcmade.qnx
  421. ZIPSUFFIX=qnx
  422. endif
  423. ifndef ECHO
  424. ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
  425. ifeq ($(ECHO),)
  426. ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
  427. ifeq ($(ECHO),)
  428. ECHO=
  429. else
  430. ECHO:=$(firstword $(ECHO))
  431. endif
  432. else
  433. ECHO:=$(firstword $(ECHO))
  434. endif
  435. endif
  436. export ECHO
  437. ifndef DATE
  438. DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
  439. ifeq ($(DATE),)
  440. DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
  441. ifeq ($(DATE),)
  442. DATE=
  443. else
  444. DATE:=$(firstword $(DATE))
  445. endif
  446. else
  447. DATE:=$(firstword $(DATE))
  448. endif
  449. endif
  450. export DATE
  451. ifndef GINSTALL
  452. GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
  453. ifeq ($(GINSTALL),)
  454. GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
  455. ifeq ($(GINSTALL),)
  456. GINSTALL=
  457. else
  458. GINSTALL:=$(firstword $(GINSTALL))
  459. endif
  460. else
  461. GINSTALL:=$(firstword $(GINSTALL))
  462. endif
  463. endif
  464. export GINSTALL
  465. ifndef CPPROG
  466. CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
  467. ifeq ($(CPPROG),)
  468. CPPROG=
  469. else
  470. CPPROG:=$(firstword $(CPPROG))
  471. endif
  472. endif
  473. export CPPROG
  474. ifndef RMPROG
  475. RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
  476. ifeq ($(RMPROG),)
  477. RMPROG=
  478. else
  479. RMPROG:=$(firstword $(RMPROG))
  480. endif
  481. endif
  482. export RMPROG
  483. ifndef MVPROG
  484. MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
  485. ifeq ($(MVPROG),)
  486. MVPROG=
  487. else
  488. MVPROG:=$(firstword $(MVPROG))
  489. endif
  490. endif
  491. export MVPROG
  492. ifndef ECHOREDIR
  493. ECHOREDIR:=$(subst /,$(PATHSEP),$(ECHO))
  494. endif
  495. ifndef COPY
  496. COPY:=$(CPPROG) -fp
  497. endif
  498. ifndef COPYTREE
  499. COPYTREE:=$(CPPROG) -rfp
  500. endif
  501. ifndef MOVE
  502. MOVE:=$(MVPROG) -f
  503. endif
  504. ifndef DEL
  505. DEL:=$(RMPROG) -f
  506. endif
  507. ifndef DELTREE
  508. DELTREE:=$(RMPROG) -rf
  509. endif
  510. ifndef INSTALL
  511. ifdef inUnix
  512. INSTALL:=$(GINSTALL) -c -m 644
  513. else
  514. INSTALL:=$(COPY)
  515. endif
  516. endif
  517. ifndef INSTALLEXE
  518. ifdef inUnix
  519. INSTALLEXE:=$(GINSTALL) -c -m 755
  520. else
  521. INSTALLEXE:=$(COPY)
  522. endif
  523. endif
  524. ifndef MKDIR
  525. MKDIR:=$(GINSTALL) -m 755 -d
  526. endif
  527. export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
  528. ifndef PPUMOVE
  529. PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
  530. ifeq ($(PPUMOVE),)
  531. PPUMOVE=
  532. else
  533. PPUMOVE:=$(firstword $(PPUMOVE))
  534. endif
  535. endif
  536. export PPUMOVE
  537. ifndef FPCMAKE
  538. FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
  539. ifeq ($(FPCMAKE),)
  540. FPCMAKE=
  541. else
  542. FPCMAKE:=$(firstword $(FPCMAKE))
  543. endif
  544. endif
  545. export FPCMAKE
  546. ifndef ZIPPROG
  547. ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
  548. ifeq ($(ZIPPROG),)
  549. ZIPPROG=
  550. else
  551. ZIPPROG:=$(firstword $(ZIPPROG))
  552. endif
  553. endif
  554. export ZIPPROG
  555. ifndef TARPROG
  556. TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
  557. ifeq ($(TARPROG),)
  558. TARPROG=
  559. else
  560. TARPROG:=$(firstword $(TARPROG))
  561. endif
  562. endif
  563. export TARPROG
  564. ifndef ASPROG
  565. ifdef CROSSBINDIR
  566. ASPROG=$(CROSSBINDIR)/as$(SRCEXEEXT)
  567. else
  568. ASPROG=as
  569. endif
  570. endif
  571. ifndef LDPROG
  572. ifdef CROSSBINDIR
  573. LDPROG=$(CROSSBINDIR)/ld$(SRCEXEEXT)
  574. else
  575. LDPROG=ld
  576. endif
  577. endif
  578. ifndef RCPROG
  579. ifdef CROSSBINDIR
  580. RCPROG=$(CROSSBINDIR)/rc$(SRCEXEEXT)
  581. else
  582. RCPROG=rc
  583. endif
  584. endif
  585. AS=$(ASPROG)
  586. LD=$(LDPROG)
  587. RC=$(RCPROG)
  588. PPAS=ppas$(BATCHEXT)
  589. ifdef inUnix
  590. LDCONFIG=ldconfig
  591. else
  592. LDCONFIG=
  593. endif
  594. ifdef DATE
  595. DATESTR:=$(shell $(DATE) +%Y%m%d)
  596. else
  597. DATESTR=
  598. endif
  599. ifndef UPXPROG
  600. ifeq ($(OS_TARGET),go32v2)
  601. UPXPROG:=1
  602. endif
  603. ifeq ($(OS_TARGET),win32)
  604. UPXPROG:=1
  605. endif
  606. ifdef UPXPROG
  607. UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
  608. ifeq ($(UPXPROG),)
  609. UPXPROG=
  610. else
  611. UPXPROG:=$(firstword $(UPXPROG))
  612. endif
  613. else
  614. UPXPROG=
  615. endif
  616. endif
  617. export UPXPROG
  618. ZIPOPT=-9
  619. ZIPEXT=.zip
  620. ifeq ($(USETAR),bz2)
  621. TAROPT=vI
  622. TAREXT=.tar.bz2
  623. else
  624. TAROPT=vz
  625. TAREXT=.tar.gz
  626. endif
  627. ifeq ($(OS_TARGET),linux)
  628. REQUIRE_PACKAGES_RTL=1
  629. REQUIRE_PACKAGES_X11=1
  630. REQUIRE_PACKAGES_FORMS=1
  631. endif
  632. ifeq ($(OS_TARGET),go32v2)
  633. REQUIRE_PACKAGES_RTL=1
  634. REQUIRE_PACKAGES_X11=1
  635. REQUIRE_PACKAGES_FORMS=1
  636. endif
  637. ifeq ($(OS_TARGET),win32)
  638. REQUIRE_PACKAGES_RTL=1
  639. REQUIRE_PACKAGES_X11=1
  640. REQUIRE_PACKAGES_FORMS=1
  641. endif
  642. ifeq ($(OS_TARGET),os2)
  643. REQUIRE_PACKAGES_RTL=1
  644. REQUIRE_PACKAGES_X11=1
  645. REQUIRE_PACKAGES_FORMS=1
  646. endif
  647. ifeq ($(OS_TARGET),freebsd)
  648. REQUIRE_PACKAGES_RTL=1
  649. REQUIRE_PACKAGES_X11=1
  650. REQUIRE_PACKAGES_FORMS=1
  651. endif
  652. ifeq ($(OS_TARGET),beos)
  653. REQUIRE_PACKAGES_RTL=1
  654. REQUIRE_PACKAGES_X11=1
  655. REQUIRE_PACKAGES_FORMS=1
  656. endif
  657. ifeq ($(OS_TARGET),netbsd)
  658. REQUIRE_PACKAGES_RTL=1
  659. REQUIRE_PACKAGES_X11=1
  660. REQUIRE_PACKAGES_FORMS=1
  661. endif
  662. ifeq ($(OS_TARGET),amiga)
  663. REQUIRE_PACKAGES_RTL=1
  664. REQUIRE_PACKAGES_X11=1
  665. REQUIRE_PACKAGES_FORMS=1
  666. endif
  667. ifeq ($(OS_TARGET),atari)
  668. REQUIRE_PACKAGES_RTL=1
  669. REQUIRE_PACKAGES_X11=1
  670. REQUIRE_PACKAGES_FORMS=1
  671. endif
  672. ifdef REQUIRE_PACKAGES_RTL
  673. PACKAGEDIR_RTL:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR)))))
  674. ifneq ($(PACKAGEDIR_RTL),)
  675. PACKAGEDIR_RTL:=$(firstword $(PACKAGEDIR_RTL))
  676. ifeq ($(wildcard $(PACKAGEDIR_RTL)/$(FPCMADE)),)
  677. override COMPILEPACKAGES+=package_rtl
  678. package_rtl:
  679. $(MAKE) -C $(PACKAGEDIR_RTL) all
  680. endif
  681. ifneq ($(wildcard $(PACKAGEDIR_RTL)/$(OS_TARGET)),)
  682. UNITDIR_RTL=$(PACKAGEDIR_RTL)/$(OS_TARGET)
  683. else
  684. UNITDIR_RTL=$(PACKAGEDIR_RTL)
  685. endif
  686. else
  687. PACKAGEDIR_RTL=
  688. UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR)))))
  689. ifneq ($(UNITDIR_RTL),)
  690. UNITDIR_RTL:=$(firstword $(UNITDIR_RTL))
  691. else
  692. UNITDIR_RTL=
  693. endif
  694. endif
  695. ifdef UNITDIR_RTL
  696. override COMPILER_UNITDIR+=$(UNITDIR_RTL)
  697. endif
  698. endif
  699. ifdef REQUIRE_PACKAGES_X11
  700. PACKAGEDIR_X11:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /x11/Makefile.fpc,$(PACKAGESDIR)))))
  701. ifneq ($(PACKAGEDIR_X11),)
  702. PACKAGEDIR_X11:=$(firstword $(PACKAGEDIR_X11))
  703. ifeq ($(wildcard $(PACKAGEDIR_X11)/$(FPCMADE)),)
  704. override COMPILEPACKAGES+=package_x11
  705. package_x11:
  706. $(MAKE) -C $(PACKAGEDIR_X11) all
  707. endif
  708. ifneq ($(wildcard $(PACKAGEDIR_X11)/$(OS_TARGET)),)
  709. UNITDIR_X11=$(PACKAGEDIR_X11)/$(OS_TARGET)
  710. else
  711. UNITDIR_X11=$(PACKAGEDIR_X11)
  712. endif
  713. else
  714. PACKAGEDIR_X11=
  715. UNITDIR_X11:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /x11/Package.fpc,$(UNITSDIR)))))
  716. ifneq ($(UNITDIR_X11),)
  717. UNITDIR_X11:=$(firstword $(UNITDIR_X11))
  718. else
  719. UNITDIR_X11=
  720. endif
  721. endif
  722. ifdef UNITDIR_X11
  723. override COMPILER_UNITDIR+=$(UNITDIR_X11)
  724. endif
  725. endif
  726. ifdef REQUIRE_PACKAGES_FORMS
  727. PACKAGEDIR_FORMS:=$(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /forms/Makefile.fpc,$(PACKAGESDIR)))))
  728. ifneq ($(PACKAGEDIR_FORMS),)
  729. PACKAGEDIR_FORMS:=$(firstword $(PACKAGEDIR_FORMS))
  730. ifeq ($(wildcard $(PACKAGEDIR_FORMS)/$(FPCMADE)),)
  731. override COMPILEPACKAGES+=package_forms
  732. package_forms:
  733. $(MAKE) -C $(PACKAGEDIR_FORMS) all
  734. endif
  735. ifneq ($(wildcard $(PACKAGEDIR_FORMS)/$(OS_TARGET)),)
  736. UNITDIR_FORMS=$(PACKAGEDIR_FORMS)/$(OS_TARGET)
  737. else
  738. UNITDIR_FORMS=$(PACKAGEDIR_FORMS)
  739. endif
  740. else
  741. PACKAGEDIR_FORMS=
  742. UNITDIR_FORMS:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /forms/Package.fpc,$(UNITSDIR)))))
  743. ifneq ($(UNITDIR_FORMS),)
  744. UNITDIR_FORMS:=$(firstword $(UNITDIR_FORMS))
  745. else
  746. UNITDIR_FORMS=
  747. endif
  748. endif
  749. ifdef UNITDIR_FORMS
  750. override COMPILER_UNITDIR+=$(UNITDIR_FORMS)
  751. endif
  752. endif
  753. .PHONY: package_rtl package_x11 package_forms
  754. ifndef NOCPUDEF
  755. override FPCOPTDEF=$(CPU_TARGET)
  756. endif
  757. ifneq ($(OS_TARGET),$(OS_SOURCE))
  758. override FPCOPT+=-T$(OS_TARGET)
  759. endif
  760. ifdef UNITDIR
  761. override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
  762. endif
  763. ifdef LIBDIR
  764. override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
  765. endif
  766. ifdef OBJDIR
  767. override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
  768. endif
  769. ifdef INCDIR
  770. override FPCOPT+=$(addprefix -Fi,$(INCDIR))
  771. endif
  772. ifdef LINKSMART
  773. override FPCOPT+=-XX
  774. endif
  775. ifdef CREATESMART
  776. override FPCOPT+=-CX
  777. endif
  778. ifdef DEBUG
  779. override FPCOPT+=-gl
  780. override FPCOPTDEF+=DEBUG
  781. endif
  782. ifdef RELEASE
  783. ifeq ($(CPU_TARGET),i386)
  784. FPCCPUOPT:=-OG2p3
  785. else
  786. FPCCPUOPT:=
  787. endif
  788. override FPCOPT+=-Xs $(FPCCPUOPT) -n
  789. override FPCOPTDEF+=RELEASE
  790. endif
  791. ifdef STRIP
  792. override FPCOPT+=-Xs
  793. endif
  794. ifdef OPTIMIZE
  795. ifeq ($(CPU_TARGET),i386)
  796. override FPCOPT+=-OG2p3
  797. endif
  798. endif
  799. ifdef VERBOSE
  800. override FPCOPT+=-vwni
  801. endif
  802. ifdef COMPILER_OPTIONS
  803. override FPCOPT+=$(COMPILER_OPTIONS)
  804. endif
  805. ifdef COMPILER_UNITDIR
  806. override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
  807. endif
  808. ifdef COMPILER_LIBRARYDIR
  809. override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
  810. endif
  811. ifdef COMPILER_OBJECTDIR
  812. override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
  813. endif
  814. ifdef COMPILER_INCLUDEDIR
  815. override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
  816. endif
  817. ifdef CROSSBINDIR
  818. override FPCOPT+=-FD$(CROSSBINDIR)
  819. endif
  820. ifdef COMPILER_TARGETDIR
  821. override FPCOPT+=-FE$(COMPILER_TARGETDIR)
  822. ifeq ($(COMPILER_TARGETDIR),.)
  823. override TARGETDIRPREFIX=
  824. else
  825. override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
  826. endif
  827. endif
  828. ifdef COMPILER_UNITTARGETDIR
  829. override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
  830. ifeq ($(COMPILER_UNITTARGETDIR),.)
  831. override UNITTARGETDIRPREFIX=
  832. else
  833. override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
  834. endif
  835. else
  836. ifdef COMPILER_TARGETDIR
  837. override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
  838. override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
  839. endif
  840. endif
  841. ifdef GCCLIBDIR
  842. override FPCOPT+=-Fl$(GCCLIBDIR)
  843. endif
  844. ifdef OTHERLIBDIR
  845. override FPCOPT+=$(addprefix -Fl,$(OTHERLIBDIR))
  846. endif
  847. ifdef OPT
  848. override FPCOPT+=$(OPT)
  849. endif
  850. ifdef FPCOPTDEF
  851. override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
  852. endif
  853. ifdef CFGFILE
  854. override FPCOPT+=@$(CFGFILE)
  855. endif
  856. ifdef USEENV
  857. override FPCEXTCMD:=$(FPCOPT)
  858. override FPCOPT:=!FPCEXTCMD
  859. export FPCEXTCMD
  860. endif
  861. override COMPILER:=$(FPC) $(FPCOPT)
  862. ifeq (,$(findstring -s ,$(COMPILER)))
  863. EXECPPAS=
  864. else
  865. ifeq ($(OS_SOURCE),$(OS_TARGET))
  866. EXECPPAS:=@$(PPAS)
  867. endif
  868. endif
  869. .PHONY: fpc_exes
  870. ifdef TARGET_PROGRAMS
  871. override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS))
  872. override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS)))
  873. override ALLTARGET+=fpc_exes
  874. override INSTALLEXEFILES+=$(EXEFILES)
  875. override CLEANEXEFILES+=$(EXEFILES) $(EXEOFILES)
  876. ifeq ($(OS_TARGET),os2)
  877. override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
  878. endif
  879. endif
  880. fpc_exes: $(EXEFILES)
  881. ifdef TARGET_RSTS
  882. override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
  883. override CLEANRSTFILES+=$(RSTFILES)
  884. endif
  885. .PHONY: fpc_packages fpc_all fpc_smart fpc_debug
  886. $(FPCMADE): $(ALLTARGET)
  887. @$(ECHOREDIR) Compiled > $(FPCMADE)
  888. fpc_packages: $(COMPILEPACKAGES)
  889. fpc_all: fpc_packages $(FPCMADE)
  890. fpc_smart:
  891. $(MAKE) all LINKSMART=1 CREATESMART=1
  892. fpc_debug:
  893. $(MAKE) all DEBUG=1
  894. .SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp
  895. %$(PPUEXT): %.pp
  896. $(COMPILER) $<
  897. $(EXECPPAS)
  898. %$(PPUEXT): %.pas
  899. $(COMPILER) $<
  900. $(EXECPPAS)
  901. %$(EXEEXT): %.pp
  902. $(COMPILER) $<
  903. $(EXECPPAS)
  904. %$(EXEEXT): %.pas
  905. $(COMPILER) $<
  906. $(EXECPPAS)
  907. vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  908. vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  909. vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
  910. .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
  911. ifdef INSTALL_UNITS
  912. override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
  913. endif
  914. ifdef INSTALLPPUFILES
  915. override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
  916. override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILES))
  917. override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPULINKFILES)))
  918. override INSTALL_CREATEPACKAGEFPC=1
  919. endif
  920. ifdef INSTALLEXEFILES
  921. override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(INSTALLEXEFILES))
  922. endif
  923. fpc_install: all $(INSTALLTARGET)
  924. ifdef INSTALLEXEFILES
  925. $(MKDIR) $(INSTALL_BINDIR)
  926. ifdef UPXPROG
  927. -$(UPXPROG) $(INSTALLEXEFILES)
  928. endif
  929. $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
  930. endif
  931. ifdef INSTALL_CREATEPACKAGEFPC
  932. ifdef FPCMAKE
  933. ifdef PACKAGE_VERSION
  934. ifneq ($(wildcard Makefile.fpc),)
  935. $(FPCMAKE) -p -T$(OS_TARGET) Makefile.fpc
  936. $(MKDIR) $(INSTALL_UNITDIR)
  937. $(INSTALL) Package.fpc $(INSTALL_UNITDIR)
  938. endif
  939. endif
  940. endif
  941. endif
  942. ifdef INSTALLPPUFILES
  943. $(MKDIR) $(INSTALL_UNITDIR)
  944. $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
  945. ifneq ($(INSTALLPPULINKFILES),)
  946. $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
  947. endif
  948. ifneq ($(wildcard $(LIB_FULLNAME)),)
  949. $(MKDIR) $(INSTALL_LIBDIR)
  950. $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
  951. ifdef inUnix
  952. ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
  953. endif
  954. endif
  955. endif
  956. ifdef INSTALL_FILES
  957. $(MKDIR) $(INSTALL_DATADIR)
  958. $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
  959. endif
  960. fpc_sourceinstall: distclean
  961. $(MKDIR) $(INSTALL_SOURCEDIR)
  962. $(COPYTREE) $(BASEDIR) $(INSTALL_SOURCEDIR)
  963. fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
  964. ifdef HASEXAMPLES
  965. $(MKDIR) $(INSTALL_EXAMPLEDIR)
  966. endif
  967. ifdef EXAMPLESOURCEFILES
  968. $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
  969. endif
  970. ifdef TARGET_EXAMPLEDIRS
  971. $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
  972. endif
  973. .PHONY: fpc_clean fpc_cleanall fpc_distclean
  974. ifdef EXEFILES
  975. override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
  976. endif
  977. ifdef CLEAN_UNITS
  978. override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
  979. endif
  980. ifdef CLEANPPUFILES
  981. override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
  982. override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
  983. override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
  984. endif
  985. fpc_clean: $(CLEANTARGET)
  986. ifdef CLEANEXEFILES
  987. -$(DEL) $(CLEANEXEFILES)
  988. endif
  989. ifdef CLEANPPUFILES
  990. -$(DEL) $(CLEANPPUFILES)
  991. endif
  992. ifneq ($(CLEANPPULINKFILES),)
  993. -$(DEL) $(CLEANPPULINKFILES)
  994. endif
  995. ifdef CLEANRSTFILES
  996. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  997. endif
  998. ifdef CLEAN_FILES
  999. -$(DEL) $(CLEAN_FILES)
  1000. endif
  1001. ifdef LIB_NAME
  1002. -$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
  1003. endif
  1004. -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
  1005. fpc_distclean: clean
  1006. ifdef COMPILER_UNITTARGETDIR
  1007. TARGETDIRCLEAN=fpc_clean
  1008. endif
  1009. fpc_cleanall: $(CLEANTARGET) $(TARGETDIRCLEAN)
  1010. ifdef CLEANEXEFILES
  1011. -$(DEL) $(CLEANEXEFILES)
  1012. endif
  1013. -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
  1014. -$(DELTREE) *$(SMARTEXT)
  1015. -$(DEL) $(FPCMADE) $(PPAS) link.res $(FPCEXTFILE) $(REDIRFILE)
  1016. ifdef AOUTEXT
  1017. -$(DEL) *$(AOUTEXT)
  1018. endif
  1019. .PHONY: fpc_info
  1020. fpc_info:
  1021. @$(ECHO)
  1022. @$(ECHO) == Package info ==
  1023. @$(ECHO) Package Name..... $(PACKAGE_NAME)
  1024. @$(ECHO) Package Version.. $(PACKAGE_VERSION)
  1025. @$(ECHO)
  1026. @$(ECHO) == Configuration info ==
  1027. @$(ECHO)
  1028. @$(ECHO) FPC.......... $(FPC)
  1029. @$(ECHO) FPC Version.. $(FPC_VERSION)
  1030. @$(ECHO) Source CPU... $(CPU_SOURCE)
  1031. @$(ECHO) Target CPU... $(CPU_TARGET)
  1032. @$(ECHO) Source OS.... $(OS_SOURCE)
  1033. @$(ECHO) Target OS.... $(OS_TARGET)
  1034. @$(ECHO) Full Target.. $(FULL_SOURCE)
  1035. @$(ECHO) Full Source.. $(FULL_TARGET)
  1036. @$(ECHO)
  1037. @$(ECHO) == Directory info ==
  1038. @$(ECHO)
  1039. @$(ECHO) Basedir......... $(BASEDIR)
  1040. @$(ECHO) FPCDir.......... $(FPCDIR)
  1041. @$(ECHO) CrossBinDir..... $(CROSSBINDIR)
  1042. @$(ECHO) UnitsDir........ $(UNITSDIR)
  1043. @$(ECHO) PackagesDir..... $(PACKAGESDIR)
  1044. @$(ECHO)
  1045. @$(ECHO) GCC library..... $(GCCLIBDIR)
  1046. @$(ECHO) Other library... $(OTHERLIBDIR)
  1047. @$(ECHO)
  1048. @$(ECHO) == Tools info ==
  1049. @$(ECHO)
  1050. @$(ECHO) Pwd....... $(PWD)
  1051. @$(ECHO) Mv........ $(MVPROG)
  1052. @$(ECHO) Cp........ $(CPPROG)
  1053. @$(ECHO) Rm........ $(RMPROG)
  1054. @$(ECHO) GInstall.. $(GINSTALL)
  1055. @$(ECHO) Echo...... $(ECHO)
  1056. @$(ECHO) Date...... $(DATE)
  1057. @$(ECHO) FPCMake... $(FPCMAKE)
  1058. @$(ECHO) PPUMove... $(PPUMOVE)
  1059. @$(ECHO) Upx....... $(UPXPROG)
  1060. @$(ECHO) Zip....... $(ZIPPROG)
  1061. @$(ECHO)
  1062. @$(ECHO) == Object info ==
  1063. @$(ECHO)
  1064. @$(ECHO) Target Loaders...... $(TARGET_LOADERS)
  1065. @$(ECHO) Target Units........ $(TARGET_UNITS)
  1066. @$(ECHO) Target Programs..... $(TARGET_PROGRAMS)
  1067. @$(ECHO) Target Dirs......... $(TARGET_DIRS)
  1068. @$(ECHO) Target Examples..... $(TARGET_EXAMPLES)
  1069. @$(ECHO) Target ExampleDirs.. $(TARGET_EXAMPLEDIRS)
  1070. @$(ECHO)
  1071. @$(ECHO) Clean Units......... $(CLEAN_UNITS)
  1072. @$(ECHO) Clean Files......... $(CLEAN_FILES)
  1073. @$(ECHO)
  1074. @$(ECHO) Install Units....... $(INSTALL_UNITS)
  1075. @$(ECHO) Install Files....... $(INSTALL_FILES)
  1076. @$(ECHO)
  1077. @$(ECHO) == Install info ==
  1078. @$(ECHO)
  1079. @$(ECHO) DateStr.............. $(DATESTR)
  1080. @$(ECHO) ZipPrefix............ $(ZIPPREFIX)
  1081. @$(ECHO) ZipSuffix............ $(ZIPSUFFIX)
  1082. @$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE)
  1083. @$(ECHO)
  1084. @$(ECHO) Install base dir..... $(INSTALL_BASEDIR)
  1085. @$(ECHO) Install binary dir... $(INSTALL_BINDIR)
  1086. @$(ECHO) Install library dir.. $(INSTALL_LIBDIR)
  1087. @$(ECHO) Install units dir.... $(INSTALL_UNITDIR)
  1088. @$(ECHO) Install source dir... $(INSTALL_SOURCEDIR)
  1089. @$(ECHO) Install doc dir...... $(INSTALL_DOCDIR)
  1090. @$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR)
  1091. @$(ECHO) Install data dir..... $(INSTALL_DATADIR)
  1092. @$(ECHO)
  1093. @$(ECHO) Dist destination dir. $(DIST_DESTDIR)
  1094. @$(ECHO) Dist zip name........ $(DIST_ZIPNAME)
  1095. @$(ECHO)
  1096. all: fpc_all
  1097. debug: fpc_debug
  1098. smart: fpc_smart
  1099. examples:
  1100. shared:
  1101. install: fpc_install
  1102. sourceinstall: fpc_sourceinstall
  1103. exampleinstall: fpc_exampleinstall
  1104. distinstall:
  1105. zipinstall:
  1106. zipsourceinstall:
  1107. zipexampleinstall:
  1108. zipdistinstall:
  1109. clean: fpc_clean
  1110. distclean: fpc_distclean
  1111. cleanall: fpc_cleanall
  1112. info: fpc_info
  1113. .PHONY: all debug smart examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info
  1114. ifneq ($(wildcard fpcmake.loc),)
  1115. include fpcmake.loc
  1116. endif