Makefile 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593
  1. #
  2. # Don't edit, this file is generated by FPCMake Version 1.1 [2003/10/28]
  3. #
  4. default: all
  5. MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom
  6. override PATH:=$(subst \,/,$(PATH))
  7. ifeq ($(findstring ;,$(PATH)),)
  8. inUnix=1
  9. SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
  10. else
  11. SEARCHPATH:=$(subst ;, ,$(PATH))
  12. endif
  13. SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
  14. PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
  15. ifeq ($(PWD),)
  16. PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
  17. ifeq ($(PWD),)
  18. $(error You need the GNU utils package to use this Makefile)
  19. else
  20. PWD:=$(firstword $(PWD))
  21. SRCEXEEXT=
  22. endif
  23. else
  24. PWD:=$(firstword $(PWD))
  25. SRCEXEEXT=.exe
  26. endif
  27. ifndef inUnix
  28. ifeq ($(OS),Windows_NT)
  29. inWinNT=1
  30. else
  31. ifdef OS2_SHELL
  32. inOS2=1
  33. endif
  34. endif
  35. else
  36. ifneq ($(findstring cygdrive,$(PATH)),)
  37. inCygWin=1
  38. endif
  39. endif
  40. ifeq ($(OS_TARGET),freebsd)
  41. BSDhier=1
  42. endif
  43. ifeq ($(OS_TARGET),netbsd)
  44. BSDhier=1
  45. endif
  46. ifeq ($(OS_TARGET),openbsd)
  47. BSDhier=1
  48. endif
  49. ifdef inUnix
  50. BATCHEXT=.sh
  51. else
  52. ifdef inOS2
  53. BATCHEXT=.cmd
  54. else
  55. BATCHEXT=.bat
  56. endif
  57. endif
  58. ifdef inUnix
  59. PATHSEP=/
  60. else
  61. PATHSEP:=$(subst /,\,/)
  62. ifdef inCygWin
  63. PATHSEP=/
  64. endif
  65. endif
  66. ifdef PWD
  67. BASEDIR:=$(subst \,/,$(shell $(PWD)))
  68. ifdef inCygWin
  69. ifneq ($(findstring /cygdrive/,$(BASEDIR)),)
  70. BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR))
  71. BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR)))
  72. BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR))
  73. endif
  74. endif
  75. else
  76. BASEDIR=.
  77. endif
  78. ifdef inOS2
  79. ifndef ECHO
  80. ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
  81. ifeq ($(ECHO),)
  82. ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
  83. ifeq ($(ECHO),)
  84. ECHO=echo
  85. else
  86. ECHO:=$(firstword $(ECHO))
  87. endif
  88. else
  89. ECHO:=$(firstword $(ECHO))
  90. endif
  91. endif
  92. export ECHO
  93. endif
  94. override DEFAULT_FPCDIR=../../../..
  95. ifndef FPC
  96. ifdef PP
  97. FPC=$(PP)
  98. endif
  99. endif
  100. ifndef FPC
  101. FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
  102. ifneq ($(FPCPROG),)
  103. FPCPROG:=$(firstword $(FPCPROG))
  104. FPC:=$(shell $(FPCPROG) -PB)
  105. ifneq ($(findstring Error,$(FPC)),)
  106. override FPC=ppc386
  107. endif
  108. else
  109. override FPC=ppc386
  110. endif
  111. endif
  112. override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
  113. override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
  114. ifndef FPC_VERSION
  115. FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO)
  116. FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
  117. endif
  118. export FPC FPC_VERSION FPC_COMPILERINFO
  119. unexport CHECKDEPEND ALLDEPENDENCIES
  120. ifndef CPU_TARGET
  121. ifdef CPU_TARGET_DEFAULT
  122. CPU_TARGET=$(CPU_TARGET_DEFAULT)
  123. endif
  124. endif
  125. ifndef OS_TARGET
  126. ifdef OS_TARGET_DEFAULT
  127. OS_TARGET=$(OS_TARGET_DEFAULT)
  128. endif
  129. endif
  130. ifneq ($(words $(FPC_COMPILERINFO)),5)
  131. FPC_COMPILERINFO+=$(shell $(FPC) -iSP)
  132. FPC_COMPILERINFO+=$(shell $(FPC) -iTP)
  133. FPC_COMPILERINFO+=$(shell $(FPC) -iSO)
  134. FPC_COMPILERINFO+=$(shell $(FPC) -iTO)
  135. endif
  136. ifndef CPU_SOURCE
  137. CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO))
  138. endif
  139. ifndef CPU_TARGET
  140. CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO))
  141. endif
  142. ifndef OS_SOURCE
  143. OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO))
  144. endif
  145. ifndef OS_TARGET
  146. OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
  147. endif
  148. FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
  149. FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
  150. ifneq ($(FULL_TARGET),$(FULL_SOURCE))
  151. CROSSCOMPILE=1
  152. endif
  153. ifeq ($(findstring makefile,$(MAKECMDGOALS)),)
  154. ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
  155. $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
  156. endif
  157. endif
  158. export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
  159. ifdef FPCDIR
  160. override FPCDIR:=$(subst \,/,$(FPCDIR))
  161. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  162. override FPCDIR=wrong
  163. endif
  164. else
  165. override FPCDIR=wrong
  166. endif
  167. ifdef DEFAULT_FPCDIR
  168. ifeq ($(FPCDIR),wrong)
  169. override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR))
  170. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  171. override FPCDIR=wrong
  172. endif
  173. endif
  174. endif
  175. ifeq ($(FPCDIR),wrong)
  176. ifdef inUnix
  177. override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
  178. ifeq ($(wildcard $(FPCDIR)/units),)
  179. override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
  180. endif
  181. else
  182. override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
  183. override FPCDIR:=$(FPCDIR)/..
  184. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  185. override FPCDIR:=$(FPCDIR)/..
  186. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  187. override FPCDIR=c:/pp
  188. endif
  189. endif
  190. endif
  191. endif
  192. ifndef CROSSDIR
  193. CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET)
  194. endif
  195. ifndef CROSSTARGETDIR
  196. CROSSTARGETDIR=$(CROSSDIR)/$(FULL_TARGET)
  197. endif
  198. ifdef CROSSCOMPILE
  199. UNITSDIR:=$(wildcard $(CROSSTARGETDIR)/units)
  200. ifeq ($(UNITSDIR),)
  201. UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
  202. endif
  203. else
  204. UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
  205. endif
  206. PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
  207. 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
  208. override INSTALL_FPCPACKAGE=y
  209. ifdef REQUIRE_UNITSDIR
  210. override UNITSDIR+=$(REQUIRE_UNITSDIR)
  211. endif
  212. ifdef REQUIRE_PACKAGESDIR
  213. override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
  214. endif
  215. ifdef ZIPINSTALL
  216. ifeq ($(OS_TARGET),linux)
  217. UNIXINSTALLDIR=1
  218. endif
  219. ifeq ($(OS_TARGET),freebsd)
  220. UNIXINSTALLDIR=1
  221. endif
  222. ifeq ($(OS_TARGET),netbsd)
  223. UNIXINSTALLDIR=1
  224. endif
  225. ifeq ($(OS_TARGET),openbsd)
  226. UNIXINSTALLDIR=1
  227. endif
  228. ifeq ($(OS_TARGET),sunos)
  229. UNIXINSTALLDIR=1
  230. endif
  231. ifeq ($(OS_TARGET),qnx)
  232. UNIXINSTALLDIR=1
  233. endif
  234. else
  235. ifeq ($(OS_SOURCE),linux)
  236. UNIXINSTALLDIR=1
  237. endif
  238. ifeq ($(OS_SOURCE),freebsd)
  239. UNIXINSTALLDIR=1
  240. endif
  241. ifeq ($(OS_SOURCE),netbsd)
  242. UNIXINSTALLDIR=1
  243. endif
  244. ifeq ($(OS_SOURCE),openbsd)
  245. UNIXINSTALLDIR=1
  246. endif
  247. ifeq ($(OS_TARGET),sunos)
  248. UNIXINSTALLDIR=1
  249. endif
  250. ifeq ($(OS_TARGET),qnx)
  251. UNIXINSTALLDIR=1
  252. endif
  253. endif
  254. ifndef INSTALL_PREFIX
  255. ifdef PREFIX
  256. INSTALL_PREFIX=$(PREFIX)
  257. endif
  258. endif
  259. ifndef INSTALL_PREFIX
  260. ifdef UNIXINSTALLDIR
  261. INSTALL_PREFIX=/usr/local
  262. else
  263. ifdef INSTALL_FPCPACKAGE
  264. INSTALL_BASEDIR:=/pp
  265. else
  266. INSTALL_BASEDIR:=/$(PACKAGE_NAME)
  267. endif
  268. endif
  269. endif
  270. export INSTALL_PREFIX
  271. ifdef INSTALL_FPCSUBDIR
  272. export INSTALL_FPCSUBDIR
  273. endif
  274. ifndef DIST_DESTDIR
  275. DIST_DESTDIR:=$(BASEDIR)
  276. endif
  277. export DIST_DESTDIR
  278. ifndef INSTALL_BASEDIR
  279. ifdef UNIXINSTALLDIR
  280. ifdef INSTALL_FPCPACKAGE
  281. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
  282. else
  283. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
  284. endif
  285. else
  286. INSTALL_BASEDIR:=$(INSTALL_PREFIX)
  287. endif
  288. endif
  289. ifndef INSTALL_BINDIR
  290. ifdef UNIXINSTALLDIR
  291. ifdef CROSSCOMPILE
  292. INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
  293. else
  294. INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
  295. endif
  296. else
  297. ifdef CROSSCOMPILE
  298. INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
  299. else
  300. INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
  301. endif
  302. ifdef INSTALL_FPCPACKAGE
  303. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(OS_TARGET)
  304. endif
  305. endif
  306. endif
  307. ifndef INSTALL_UNITDIR
  308. ifdef CROSSCOMPILE
  309. INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/units
  310. else
  311. INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(OS_TARGET)
  312. endif
  313. ifdef INSTALL_FPCPACKAGE
  314. ifdef PACKAGE_NAME
  315. INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
  316. endif
  317. endif
  318. endif
  319. ifndef INSTALL_LIBDIR
  320. ifdef UNIXINSTALLDIR
  321. INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
  322. else
  323. INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
  324. endif
  325. endif
  326. ifndef INSTALL_SOURCEDIR
  327. ifdef UNIXINSTALLDIR
  328. ifdef BSDhier
  329. SRCPREFIXDIR=share/src
  330. else
  331. SRCPREFIXDIR=src
  332. endif
  333. ifdef INSTALL_FPCPACKAGE
  334. ifdef INSTALL_FPCSUBDIR
  335. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
  336. else
  337. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  338. endif
  339. else
  340. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  341. endif
  342. else
  343. ifdef INSTALL_FPCPACKAGE
  344. ifdef INSTALL_FPCSUBDIR
  345. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
  346. else
  347. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
  348. endif
  349. else
  350. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
  351. endif
  352. endif
  353. endif
  354. ifndef INSTALL_DOCDIR
  355. ifdef UNIXINSTALLDIR
  356. ifdef BSDhier
  357. DOCPREFIXDIR=share/doc
  358. else
  359. DOCPREFIXDIR=doc
  360. endif
  361. ifdef INSTALL_FPCPACKAGE
  362. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  363. else
  364. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  365. endif
  366. else
  367. ifdef INSTALL_FPCPACKAGE
  368. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
  369. else
  370. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
  371. endif
  372. endif
  373. endif
  374. ifndef INSTALL_EXAMPLEDIR
  375. ifdef UNIXINSTALLDIR
  376. ifdef INSTALL_FPCPACKAGE
  377. ifdef BSDhier
  378. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  379. else
  380. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
  381. endif
  382. else
  383. ifdef BSDhier
  384. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  385. else
  386. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  387. endif
  388. endif
  389. else
  390. ifdef INSTALL_FPCPACKAGE
  391. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
  392. else
  393. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
  394. endif
  395. endif
  396. endif
  397. ifndef INSTALL_DATADIR
  398. INSTALL_DATADIR=$(INSTALL_BASEDIR)
  399. endif
  400. ifdef CROSSCOMPILE
  401. ifndef CROSSBINDIR
  402. CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(FULL_SOURCE))
  403. ifeq ($(CROSSBINDIR),)
  404. CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin/$(FULL_SOURCE))
  405. endif
  406. endif
  407. else
  408. CROSSBINDIR=
  409. endif
  410. ifeq ($(OS_SOURCE),linux)
  411. ifndef GCCLIBDIR
  412. GCCLIBDIR:=$(shell dirname `(gcc -v 2>&1)| head -n 1| awk '{ print $$4 } '`)
  413. endif
  414. ifndef OTHERLIBDIR
  415. OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
  416. endif
  417. endif
  418. ifdef inUnix
  419. ifeq ($(OS_SOURCE),netbsd)
  420. OTHERLIBDIR+=/usr/pkg/lib
  421. endif
  422. export GCCLIBDIR OTHERLIB
  423. endif
  424. LOADEREXT=.as
  425. EXEEXT=.exe
  426. PPLEXT=.ppl
  427. PPUEXT=.ppu
  428. OEXT=.o
  429. ASMEXT=.s
  430. SMARTEXT=.sl
  431. STATICLIBEXT=.a
  432. SHAREDLIBEXT=.so
  433. STATICLIBPREFIX=libp
  434. RSTEXT=.rst
  435. FPCMADE=fpcmade
  436. ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
  437. ifeq ($(OS_TARGET),go32v1)
  438. STATICLIBPREFIX=
  439. FPCMADE=fpcmade.v1
  440. PACKAGESUFFIX=v1
  441. endif
  442. ifeq ($(OS_TARGET),go32v2)
  443. STATICLIBPREFIX=
  444. FPCMADE=fpcmade.dos
  445. ZIPSUFFIX=go32
  446. endif
  447. ifeq ($(OS_TARGET),watcom)
  448. STATICLIBPREFIX=
  449. FPCMADE=fpcmade.wat
  450. ZIPSUFFIX=watc
  451. OEXT=.obj
  452. ASMEXT=.asm
  453. SHAREDLIBEXT=.dll
  454. endif
  455. ifeq ($(OS_TARGET),linux)
  456. EXEEXT=
  457. HASSHAREDLIB=1
  458. FPCMADE=fpcmade.lnx
  459. ZIPSUFFIX=linux
  460. endif
  461. ifeq ($(OS_TARGET),freebsd)
  462. EXEEXT=
  463. HASSHAREDLIB=1
  464. FPCMADE=fpcmade.freebsd
  465. ZIPSUFFIX=freebsd
  466. endif
  467. ifeq ($(OS_TARGET),netbsd)
  468. EXEEXT=
  469. HASSHAREDLIB=1
  470. FPCMADE=fpcmade.netbsd
  471. ZIPSUFFIX=netbsd
  472. endif
  473. ifeq ($(OS_TARGET),openbsd)
  474. EXEEXT=
  475. HASSHAREDLIB=1
  476. FPCMADE=fpcmade.openbsd
  477. ZIPSUFFIX=openbsd
  478. endif
  479. ifeq ($(OS_TARGET),win32)
  480. SHAREDLIBEXT=.dll
  481. FPCMADE=fpcmade.w32
  482. ZIPSUFFIX=w32
  483. endif
  484. ifeq ($(OS_TARGET),os2)
  485. AOUTEXT=.out
  486. STATICLIBPREFIX=
  487. SHAREDLIBEXT=.dll
  488. FPCMADE=fpcmade.os2
  489. ZIPSUFFIX=os2
  490. ECHO=echo
  491. endif
  492. ifeq ($(OS_TARGET),emx)
  493. AOUTEXT=.out
  494. STATICLIBPREFIX=
  495. SHAREDLIBEXT=.dll
  496. FPCMADE=fpcmade.emx
  497. ZIPSUFFIX=emx
  498. ECHO=echo
  499. endif
  500. ifeq ($(OS_TARGET),amiga)
  501. EXEEXT=
  502. SHAREDLIBEXT=.library
  503. FPCMADE=fpcmade.amg
  504. endif
  505. ifeq ($(OS_TARGET),atari)
  506. EXEEXT=.ttp
  507. FPCMADE=fpcmade.ata
  508. endif
  509. ifeq ($(OS_TARGET),beos)
  510. EXEEXT=
  511. FPCMADE=fpcmade.be
  512. ZIPSUFFIX=be
  513. endif
  514. ifeq ($(OS_TARGET),sunos)
  515. EXEEXT=
  516. FPCMADE=fpcmade.sun
  517. ZIPSUFFIX=sun
  518. endif
  519. ifeq ($(OS_TARGET),qnx)
  520. EXEEXT=
  521. FPCMADE=fpcmade.qnx
  522. ZIPSUFFIX=qnx
  523. endif
  524. ifeq ($(OS_TARGET),netware)
  525. EXEEXT=.nlm
  526. STATICLIBPREFIX=
  527. FPCMADE=fpcmade.nw
  528. ZIPSUFFIX=nw
  529. endif
  530. ifeq ($(OS_TARGET),macos)
  531. EXEEXT=
  532. FPCMADE=fpcmade.mcc
  533. endif
  534. ifeq ($(OS_TARGET),darwin)
  535. EXEEXT=
  536. HASSHAREDLIB=1
  537. FPCMADE=fpcmade.darwin
  538. ZIPSUFFIX=darwin
  539. endif
  540. else
  541. ifeq ($(OS_TARGET),go32v1)
  542. PPUEXT=.pp1
  543. OEXT=.o1
  544. ASMEXT=.s1
  545. SMARTEXT=.sl1
  546. STATICLIBEXT=.a1
  547. SHAREDLIBEXT=.so1
  548. STATICLIBPREFIX=
  549. FPCMADE=fpcmade.v1
  550. PACKAGESUFFIX=v1
  551. endif
  552. ifeq ($(OS_TARGET),go32v2)
  553. STATICLIBPREFIX=
  554. FPCMADE=fpcmade.dos
  555. ZIPSUFFIX=go32
  556. endif
  557. ifeq ($(OS_TARGET),watcom)
  558. STATICLIBPREFIX=
  559. FPCMADE=fpcmade.dos
  560. ZIPSUFFIX=watcom
  561. endif
  562. ifeq ($(OS_TARGET),linux)
  563. EXEEXT=
  564. HASSHAREDLIB=1
  565. FPCMADE=fpcmade.lnx
  566. ZIPSUFFIX=linux
  567. endif
  568. ifeq ($(OS_TARGET),freebsd)
  569. EXEEXT=
  570. HASSHAREDLIB=1
  571. FPCMADE=fpcmade.freebsd
  572. ZIPSUFFIX=freebsd
  573. endif
  574. ifeq ($(OS_TARGET),netbsd)
  575. EXEEXT=
  576. HASSHAREDLIB=1
  577. FPCMADE=fpcmade.netbsd
  578. ZIPSUFFIX=netbsd
  579. endif
  580. ifeq ($(OS_TARGET),openbsd)
  581. EXEEXT=
  582. HASSHAREDLIB=1
  583. FPCMADE=fpcmade.openbsd
  584. ZIPSUFFIX=openbsd
  585. endif
  586. ifeq ($(OS_TARGET),win32)
  587. PPUEXT=.ppw
  588. OEXT=.ow
  589. ASMEXT=.sw
  590. SMARTEXT=.slw
  591. STATICLIBEXT=.aw
  592. SHAREDLIBEXT=.dll
  593. FPCMADE=fpcmade.w32
  594. ZIPSUFFIX=w32
  595. endif
  596. ifeq ($(OS_TARGET),os2)
  597. PPUEXT=.ppo
  598. ASMEXT=.so2
  599. OEXT=.oo2
  600. AOUTEXT=.out
  601. SMARTEXT=.sl2
  602. STATICLIBPREFIX=
  603. STATICLIBEXT=.ao2
  604. SHAREDLIBEXT=.dll
  605. FPCMADE=fpcmade.os2
  606. ZIPSUFFIX=emx
  607. ECHO=echo
  608. endif
  609. ifeq ($(OS_TARGET),amiga)
  610. EXEEXT=
  611. PPUEXT=.ppu
  612. ASMEXT=.asm
  613. OEXT=.o
  614. SMARTEXT=.sl
  615. STATICLIBEXT=.a
  616. SHAREDLIBEXT=.library
  617. FPCMADE=fpcmade.amg
  618. endif
  619. ifeq ($(OS_TARGET),atari)
  620. PPUEXT=.ppu
  621. ASMEXT=.s
  622. OEXT=.o
  623. SMARTEXT=.sl
  624. STATICLIBEXT=.a
  625. EXEEXT=.ttp
  626. FPCMADE=fpcmade.ata
  627. endif
  628. ifeq ($(OS_TARGET),beos)
  629. PPUEXT=.ppu
  630. ASMEXT=.s
  631. OEXT=.o
  632. SMARTEXT=.sl
  633. STATICLIBEXT=.a
  634. EXEEXT=
  635. FPCMADE=fpcmade.be
  636. ZIPSUFFIX=be
  637. endif
  638. ifeq ($(OS_TARGET),sunos)
  639. PPUEXT=.ppu
  640. ASMEXT=.s
  641. OEXT=.o
  642. SMARTEXT=.sl
  643. STATICLIBEXT=.a
  644. EXEEXT=
  645. FPCMADE=fpcmade.sun
  646. ZIPSUFFIX=sun
  647. endif
  648. ifeq ($(OS_TARGET),qnx)
  649. PPUEXT=.ppu
  650. ASMEXT=.s
  651. OEXT=.o
  652. SMARTEXT=.sl
  653. STATICLIBEXT=.a
  654. EXEEXT=
  655. FPCMADE=fpcmade.qnx
  656. ZIPSUFFIX=qnx
  657. endif
  658. ifeq ($(OS_TARGET),netware)
  659. STATICLIBPREFIX=
  660. PPUEXT=.ppu
  661. OEXT=.o
  662. ASMEXT=.s
  663. SMARTEXT=.sl
  664. STATICLIBEXT=.a
  665. SHAREDLIBEXT=.nlm
  666. FPCMADE=fpcmade.nw
  667. ZIPSUFFIX=nw
  668. EXEEXT=.nlm
  669. endif
  670. ifeq ($(OS_TARGET),macos)
  671. PPUEXT=.ppu
  672. ASMEXT=.s
  673. OEXT=.o
  674. SMARTEXT=.sl
  675. STATICLIBEXT=.a
  676. EXEEXT=
  677. FPCMADE=fpcmade.mcc
  678. endif
  679. endif
  680. ifndef ECHO
  681. ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
  682. ifeq ($(ECHO),)
  683. ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
  684. ifeq ($(ECHO),)
  685. ECHO=
  686. else
  687. ECHO:=$(firstword $(ECHO))
  688. endif
  689. else
  690. ECHO:=$(firstword $(ECHO))
  691. endif
  692. endif
  693. export ECHO
  694. ifndef DATE
  695. DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
  696. ifeq ($(DATE),)
  697. DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
  698. ifeq ($(DATE),)
  699. DATE=
  700. else
  701. DATE:=$(firstword $(DATE))
  702. endif
  703. else
  704. DATE:=$(firstword $(DATE))
  705. endif
  706. endif
  707. export DATE
  708. ifndef GINSTALL
  709. GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
  710. ifeq ($(GINSTALL),)
  711. GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
  712. ifeq ($(GINSTALL),)
  713. GINSTALL=
  714. else
  715. GINSTALL:=$(firstword $(GINSTALL))
  716. endif
  717. else
  718. GINSTALL:=$(firstword $(GINSTALL))
  719. endif
  720. endif
  721. export GINSTALL
  722. ifndef CPPROG
  723. CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
  724. ifeq ($(CPPROG),)
  725. CPPROG=
  726. else
  727. CPPROG:=$(firstword $(CPPROG))
  728. endif
  729. endif
  730. export CPPROG
  731. ifndef RMPROG
  732. RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
  733. ifeq ($(RMPROG),)
  734. RMPROG=
  735. else
  736. RMPROG:=$(firstword $(RMPROG))
  737. endif
  738. endif
  739. export RMPROG
  740. ifndef MVPROG
  741. MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
  742. ifeq ($(MVPROG),)
  743. MVPROG=
  744. else
  745. MVPROG:=$(firstword $(MVPROG))
  746. endif
  747. endif
  748. export MVPROG
  749. ifndef ECHOREDIR
  750. ifndef inUnix
  751. ECHOREDIR=echo
  752. else
  753. ECHOREDIR=$(ECHO)
  754. endif
  755. endif
  756. ifndef COPY
  757. COPY:=$(CPPROG) -fp
  758. endif
  759. ifndef COPYTREE
  760. COPYTREE:=$(CPPROG) -rfp
  761. endif
  762. ifndef MOVE
  763. MOVE:=$(MVPROG) -f
  764. endif
  765. ifndef DEL
  766. DEL:=$(RMPROG) -f
  767. endif
  768. ifndef DELTREE
  769. DELTREE:=$(RMPROG) -rf
  770. endif
  771. ifndef INSTALL
  772. ifdef inUnix
  773. INSTALL:=$(GINSTALL) -c -m 644
  774. else
  775. INSTALL:=$(COPY)
  776. endif
  777. endif
  778. ifndef INSTALLEXE
  779. ifdef inUnix
  780. INSTALLEXE:=$(GINSTALL) -c -m 755
  781. else
  782. INSTALLEXE:=$(COPY)
  783. endif
  784. endif
  785. ifndef MKDIR
  786. MKDIR:=$(GINSTALL) -m 755 -d
  787. endif
  788. export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
  789. ifndef PPUMOVE
  790. PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
  791. ifeq ($(PPUMOVE),)
  792. PPUMOVE=
  793. else
  794. PPUMOVE:=$(firstword $(PPUMOVE))
  795. endif
  796. endif
  797. export PPUMOVE
  798. ifndef FPCMAKE
  799. FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
  800. ifeq ($(FPCMAKE),)
  801. FPCMAKE=
  802. else
  803. FPCMAKE:=$(firstword $(FPCMAKE))
  804. endif
  805. endif
  806. export FPCMAKE
  807. ifndef ZIPPROG
  808. ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
  809. ifeq ($(ZIPPROG),)
  810. ZIPPROG=
  811. else
  812. ZIPPROG:=$(firstword $(ZIPPROG))
  813. endif
  814. endif
  815. export ZIPPROG
  816. ifndef TARPROG
  817. TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
  818. ifeq ($(TARPROG),)
  819. TARPROG=
  820. else
  821. TARPROG:=$(firstword $(TARPROG))
  822. endif
  823. endif
  824. export TARPROG
  825. ASNAME=$(BINUTILSPREFIX)as
  826. LDNAME=$(BINUTILSPREFIX)ld
  827. ARNAME=$(BINUTILSPREFIX)ar
  828. RCNAME=$(BINUTILSPREFIX)rc
  829. ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
  830. ifeq ($(OS_TARGET),win32)
  831. ASNAME=as
  832. LDNAME=ld
  833. ARNAME=ar
  834. endif
  835. endif
  836. ifndef ASPROG
  837. ifdef CROSSBINDIR
  838. ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
  839. else
  840. ASPROG=$(ASNAME)
  841. endif
  842. endif
  843. ifndef LDPROG
  844. ifdef CROSSBINDIR
  845. LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
  846. else
  847. LDPROG=$(LDNAME)
  848. endif
  849. endif
  850. ifndef RCPROG
  851. ifdef CROSSBINDIR
  852. RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
  853. else
  854. RCPROG=$(RCNAME)
  855. endif
  856. endif
  857. ifndef ARPROG
  858. ifdef CROSSBINDIR
  859. ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
  860. else
  861. ARPROG=$(ARNAME)
  862. endif
  863. endif
  864. AS=$(ASPROG)
  865. LD=$(LDPROG)
  866. RC=$(RCPROG)
  867. AR=$(ARPROG)
  868. PPAS=ppas$(BATCHEXT)
  869. ifdef inUnix
  870. LDCONFIG=ldconfig
  871. else
  872. LDCONFIG=
  873. endif
  874. ifdef DATE
  875. DATESTR:=$(shell $(DATE) +%Y%m%d)
  876. else
  877. DATESTR=
  878. endif
  879. ifndef UPXPROG
  880. ifeq ($(OS_TARGET),go32v2)
  881. UPXPROG:=1
  882. endif
  883. ifeq ($(OS_TARGET),win32)
  884. UPXPROG:=1
  885. endif
  886. ifdef UPXPROG
  887. UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
  888. ifeq ($(UPXPROG),)
  889. UPXPROG=
  890. else
  891. UPXPROG:=$(firstword $(UPXPROG))
  892. endif
  893. else
  894. UPXPROG=
  895. endif
  896. endif
  897. export UPXPROG
  898. ZIPOPT=-9
  899. ZIPEXT=.zip
  900. ifeq ($(USETAR),bz2)
  901. TAROPT=vI
  902. TAREXT=.tar.bz2
  903. else
  904. TAROPT=vz
  905. TAREXT=.tar.gz
  906. endif
  907. override REQUIRE_PACKAGES=rtl forms
  908. ifeq ($(OS_TARGET),linux)
  909. ifeq ($(CPU_TARGET),i386)
  910. REQUIRE_PACKAGES_RTL=1
  911. REQUIRE_PACKAGES_X11=1
  912. REQUIRE_PACKAGES_FORMS=1
  913. endif
  914. endif
  915. ifeq ($(OS_TARGET),linux)
  916. ifeq ($(CPU_TARGET),m68k)
  917. REQUIRE_PACKAGES_RTL=1
  918. REQUIRE_PACKAGES_X11=1
  919. REQUIRE_PACKAGES_FORMS=1
  920. endif
  921. endif
  922. ifeq ($(OS_TARGET),linux)
  923. ifeq ($(CPU_TARGET),powerpc)
  924. REQUIRE_PACKAGES_RTL=1
  925. REQUIRE_PACKAGES_X11=1
  926. REQUIRE_PACKAGES_FORMS=1
  927. endif
  928. endif
  929. ifeq ($(OS_TARGET),linux)
  930. ifeq ($(CPU_TARGET),sparc)
  931. REQUIRE_PACKAGES_RTL=1
  932. REQUIRE_PACKAGES_X11=1
  933. REQUIRE_PACKAGES_FORMS=1
  934. endif
  935. endif
  936. ifeq ($(OS_TARGET),linux)
  937. ifeq ($(CPU_TARGET),x86_64)
  938. REQUIRE_PACKAGES_RTL=1
  939. REQUIRE_PACKAGES_X11=1
  940. REQUIRE_PACKAGES_FORMS=1
  941. endif
  942. endif
  943. ifeq ($(OS_TARGET),go32v2)
  944. ifeq ($(CPU_TARGET),i386)
  945. REQUIRE_PACKAGES_RTL=1
  946. REQUIRE_PACKAGES_X11=1
  947. REQUIRE_PACKAGES_FORMS=1
  948. endif
  949. endif
  950. ifeq ($(OS_TARGET),win32)
  951. ifeq ($(CPU_TARGET),i386)
  952. REQUIRE_PACKAGES_RTL=1
  953. REQUIRE_PACKAGES_X11=1
  954. REQUIRE_PACKAGES_FORMS=1
  955. endif
  956. endif
  957. ifeq ($(OS_TARGET),os2)
  958. ifeq ($(CPU_TARGET),i386)
  959. REQUIRE_PACKAGES_RTL=1
  960. REQUIRE_PACKAGES_X11=1
  961. REQUIRE_PACKAGES_FORMS=1
  962. endif
  963. endif
  964. ifeq ($(OS_TARGET),freebsd)
  965. ifeq ($(CPU_TARGET),i386)
  966. REQUIRE_PACKAGES_RTL=1
  967. REQUIRE_PACKAGES_X11=1
  968. REQUIRE_PACKAGES_FORMS=1
  969. endif
  970. endif
  971. ifeq ($(OS_TARGET),freebsd)
  972. ifeq ($(CPU_TARGET),m68k)
  973. REQUIRE_PACKAGES_RTL=1
  974. REQUIRE_PACKAGES_X11=1
  975. REQUIRE_PACKAGES_FORMS=1
  976. endif
  977. endif
  978. ifeq ($(OS_TARGET),beos)
  979. ifeq ($(CPU_TARGET),i386)
  980. REQUIRE_PACKAGES_RTL=1
  981. REQUIRE_PACKAGES_X11=1
  982. REQUIRE_PACKAGES_FORMS=1
  983. endif
  984. endif
  985. ifeq ($(OS_TARGET),netbsd)
  986. ifeq ($(CPU_TARGET),i386)
  987. REQUIRE_PACKAGES_RTL=1
  988. REQUIRE_PACKAGES_X11=1
  989. REQUIRE_PACKAGES_FORMS=1
  990. endif
  991. endif
  992. ifeq ($(OS_TARGET),netbsd)
  993. ifeq ($(CPU_TARGET),m68k)
  994. REQUIRE_PACKAGES_RTL=1
  995. REQUIRE_PACKAGES_X11=1
  996. REQUIRE_PACKAGES_FORMS=1
  997. endif
  998. endif
  999. ifeq ($(OS_TARGET),amiga)
  1000. ifeq ($(CPU_TARGET),m68k)
  1001. REQUIRE_PACKAGES_RTL=1
  1002. REQUIRE_PACKAGES_X11=1
  1003. REQUIRE_PACKAGES_FORMS=1
  1004. endif
  1005. endif
  1006. ifeq ($(OS_TARGET),atari)
  1007. ifeq ($(CPU_TARGET),m68k)
  1008. REQUIRE_PACKAGES_RTL=1
  1009. REQUIRE_PACKAGES_X11=1
  1010. REQUIRE_PACKAGES_FORMS=1
  1011. endif
  1012. endif
  1013. ifeq ($(OS_TARGET),sunos)
  1014. ifeq ($(CPU_TARGET),i386)
  1015. REQUIRE_PACKAGES_RTL=1
  1016. REQUIRE_PACKAGES_X11=1
  1017. REQUIRE_PACKAGES_FORMS=1
  1018. endif
  1019. endif
  1020. ifeq ($(OS_TARGET),sunos)
  1021. ifeq ($(CPU_TARGET),sparc)
  1022. REQUIRE_PACKAGES_RTL=1
  1023. REQUIRE_PACKAGES_X11=1
  1024. REQUIRE_PACKAGES_FORMS=1
  1025. endif
  1026. endif
  1027. ifeq ($(OS_TARGET),qnx)
  1028. ifeq ($(CPU_TARGET),i386)
  1029. REQUIRE_PACKAGES_RTL=1
  1030. REQUIRE_PACKAGES_X11=1
  1031. REQUIRE_PACKAGES_FORMS=1
  1032. endif
  1033. endif
  1034. ifeq ($(OS_TARGET),netware)
  1035. ifeq ($(CPU_TARGET),i386)
  1036. REQUIRE_PACKAGES_RTL=1
  1037. REQUIRE_PACKAGES_X11=1
  1038. REQUIRE_PACKAGES_FORMS=1
  1039. endif
  1040. endif
  1041. ifeq ($(OS_TARGET),openbsd)
  1042. ifeq ($(CPU_TARGET),i386)
  1043. REQUIRE_PACKAGES_RTL=1
  1044. REQUIRE_PACKAGES_X11=1
  1045. REQUIRE_PACKAGES_FORMS=1
  1046. endif
  1047. endif
  1048. ifeq ($(OS_TARGET),openbsd)
  1049. ifeq ($(CPU_TARGET),m68k)
  1050. REQUIRE_PACKAGES_RTL=1
  1051. REQUIRE_PACKAGES_X11=1
  1052. REQUIRE_PACKAGES_FORMS=1
  1053. endif
  1054. endif
  1055. ifeq ($(OS_TARGET),wdosx)
  1056. ifeq ($(CPU_TARGET),i386)
  1057. REQUIRE_PACKAGES_RTL=1
  1058. REQUIRE_PACKAGES_X11=1
  1059. REQUIRE_PACKAGES_FORMS=1
  1060. endif
  1061. endif
  1062. ifeq ($(OS_TARGET),palmos)
  1063. ifeq ($(CPU_TARGET),m68k)
  1064. REQUIRE_PACKAGES_RTL=1
  1065. REQUIRE_PACKAGES_X11=1
  1066. REQUIRE_PACKAGES_FORMS=1
  1067. endif
  1068. endif
  1069. ifeq ($(OS_TARGET),macos)
  1070. ifeq ($(CPU_TARGET),powerpc)
  1071. REQUIRE_PACKAGES_RTL=1
  1072. REQUIRE_PACKAGES_X11=1
  1073. REQUIRE_PACKAGES_FORMS=1
  1074. endif
  1075. endif
  1076. ifeq ($(OS_TARGET),darwin)
  1077. ifeq ($(CPU_TARGET),powerpc)
  1078. REQUIRE_PACKAGES_RTL=1
  1079. REQUIRE_PACKAGES_X11=1
  1080. REQUIRE_PACKAGES_FORMS=1
  1081. endif
  1082. endif
  1083. ifeq ($(OS_TARGET),emx)
  1084. ifeq ($(CPU_TARGET),i386)
  1085. REQUIRE_PACKAGES_RTL=1
  1086. REQUIRE_PACKAGES_X11=1
  1087. REQUIRE_PACKAGES_FORMS=1
  1088. endif
  1089. endif
  1090. ifeq ($(OS_TARGET),watcom)
  1091. ifeq ($(CPU_TARGET),i386)
  1092. REQUIRE_PACKAGES_RTL=1
  1093. REQUIRE_PACKAGES_X11=1
  1094. REQUIRE_PACKAGES_FORMS=1
  1095. endif
  1096. endif
  1097. ifdef REQUIRE_PACKAGES_RTL
  1098. PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/$(OS_TARGET)/Makefile.fpc,$(PACKAGESDIR))))))
  1099. ifneq ($(PACKAGEDIR_RTL),)
  1100. ifneq ($(wildcard $(PACKAGEDIR_RTL)/$(OS_TARGET)),)
  1101. UNITDIR_RTL=$(PACKAGEDIR_RTL)/$(OS_TARGET)
  1102. else
  1103. UNITDIR_RTL=$(PACKAGEDIR_RTL)
  1104. endif
  1105. ifdef CHECKDEPEND
  1106. $(PACKAGEDIR_RTL)/$(FPCMADE):
  1107. $(MAKE) -C $(PACKAGEDIR_RTL) $(FPCMADE)
  1108. override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(FPCMADE)
  1109. endif
  1110. else
  1111. PACKAGEDIR_RTL=
  1112. UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR)))))
  1113. ifneq ($(UNITDIR_RTL),)
  1114. UNITDIR_RTL:=$(firstword $(UNITDIR_RTL))
  1115. else
  1116. UNITDIR_RTL=
  1117. endif
  1118. endif
  1119. ifdef UNITDIR_RTL
  1120. override COMPILER_UNITDIR+=$(UNITDIR_RTL)
  1121. endif
  1122. endif
  1123. ifdef REQUIRE_PACKAGES_X11
  1124. PACKAGEDIR_X11:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /x11/Makefile.fpc,$(PACKAGESDIR))))))
  1125. ifneq ($(PACKAGEDIR_X11),)
  1126. ifneq ($(wildcard $(PACKAGEDIR_X11)/$(OS_TARGET)),)
  1127. UNITDIR_X11=$(PACKAGEDIR_X11)/$(OS_TARGET)
  1128. else
  1129. UNITDIR_X11=$(PACKAGEDIR_X11)
  1130. endif
  1131. ifdef CHECKDEPEND
  1132. $(PACKAGEDIR_X11)/$(FPCMADE):
  1133. $(MAKE) -C $(PACKAGEDIR_X11) $(FPCMADE)
  1134. override ALLDEPENDENCIES+=$(PACKAGEDIR_X11)/$(FPCMADE)
  1135. endif
  1136. else
  1137. PACKAGEDIR_X11=
  1138. UNITDIR_X11:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /x11/Package.fpc,$(UNITSDIR)))))
  1139. ifneq ($(UNITDIR_X11),)
  1140. UNITDIR_X11:=$(firstword $(UNITDIR_X11))
  1141. else
  1142. UNITDIR_X11=
  1143. endif
  1144. endif
  1145. ifdef UNITDIR_X11
  1146. override COMPILER_UNITDIR+=$(UNITDIR_X11)
  1147. endif
  1148. endif
  1149. ifdef REQUIRE_PACKAGES_FORMS
  1150. PACKAGEDIR_FORMS:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /forms/Makefile.fpc,$(PACKAGESDIR))))))
  1151. ifneq ($(PACKAGEDIR_FORMS),)
  1152. ifneq ($(wildcard $(PACKAGEDIR_FORMS)/$(OS_TARGET)),)
  1153. UNITDIR_FORMS=$(PACKAGEDIR_FORMS)/$(OS_TARGET)
  1154. else
  1155. UNITDIR_FORMS=$(PACKAGEDIR_FORMS)
  1156. endif
  1157. ifdef CHECKDEPEND
  1158. $(PACKAGEDIR_FORMS)/$(FPCMADE):
  1159. $(MAKE) -C $(PACKAGEDIR_FORMS) $(FPCMADE)
  1160. override ALLDEPENDENCIES+=$(PACKAGEDIR_FORMS)/$(FPCMADE)
  1161. endif
  1162. else
  1163. PACKAGEDIR_FORMS=
  1164. UNITDIR_FORMS:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /forms/Package.fpc,$(UNITSDIR)))))
  1165. ifneq ($(UNITDIR_FORMS),)
  1166. UNITDIR_FORMS:=$(firstword $(UNITDIR_FORMS))
  1167. else
  1168. UNITDIR_FORMS=
  1169. endif
  1170. endif
  1171. ifdef UNITDIR_FORMS
  1172. override COMPILER_UNITDIR+=$(UNITDIR_FORMS)
  1173. endif
  1174. endif
  1175. ifndef NOCPUDEF
  1176. override FPCOPTDEF=$(CPU_TARGET)
  1177. endif
  1178. ifneq ($(OS_TARGET),$(OS_SOURCE))
  1179. override FPCOPT+=-T$(OS_TARGET)
  1180. endif
  1181. ifeq ($(OS_SOURCE),openbsd)
  1182. override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
  1183. endif
  1184. ifndef CROSSBOOTSTRAP
  1185. ifneq ($(BINUTILSPREFIX),)
  1186. override FPCOPT+=-XP$(BINUTILSPREFIX) -Xc
  1187. endif
  1188. ifneq ($(BINUTILSPREFIX),)
  1189. override FPCOPT+=-Xr$(RLINKPATH)
  1190. endif
  1191. endif
  1192. ifdef UNITDIR
  1193. override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
  1194. endif
  1195. ifdef LIBDIR
  1196. override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
  1197. endif
  1198. ifdef OBJDIR
  1199. override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
  1200. endif
  1201. ifdef INCDIR
  1202. override FPCOPT+=$(addprefix -Fi,$(INCDIR))
  1203. endif
  1204. ifdef LINKSMART
  1205. override FPCOPT+=-XX
  1206. endif
  1207. ifdef CREATESMART
  1208. override FPCOPT+=-CX
  1209. endif
  1210. ifdef DEBUG
  1211. override FPCOPT+=-gl
  1212. override FPCOPTDEF+=DEBUG
  1213. endif
  1214. ifdef RELEASE
  1215. ifeq ($(CPU_TARGET),i386)
  1216. FPCCPUOPT:=-OG2p3
  1217. else
  1218. FPCCPUOPT:=
  1219. endif
  1220. override FPCOPT+=-Xs $(FPCCPUOPT) -n
  1221. override FPCOPTDEF+=RELEASE
  1222. endif
  1223. ifdef STRIP
  1224. override FPCOPT+=-Xs
  1225. endif
  1226. ifdef OPTIMIZE
  1227. ifeq ($(CPU_TARGET),i386)
  1228. override FPCOPT+=-OG2p3
  1229. endif
  1230. endif
  1231. ifdef VERBOSE
  1232. override FPCOPT+=-vwni
  1233. endif
  1234. ifdef COMPILER_OPTIONS
  1235. override FPCOPT+=$(COMPILER_OPTIONS)
  1236. endif
  1237. ifdef COMPILER_UNITDIR
  1238. override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
  1239. endif
  1240. ifdef COMPILER_LIBRARYDIR
  1241. override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
  1242. endif
  1243. ifdef COMPILER_OBJECTDIR
  1244. override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
  1245. endif
  1246. ifdef COMPILER_INCLUDEDIR
  1247. override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
  1248. endif
  1249. ifdef CROSSBINDIR
  1250. override FPCOPT+=-FD$(CROSSBINDIR)
  1251. endif
  1252. ifdef COMPILER_TARGETDIR
  1253. override FPCOPT+=-FE$(COMPILER_TARGETDIR)
  1254. ifeq ($(COMPILER_TARGETDIR),.)
  1255. override TARGETDIRPREFIX=
  1256. else
  1257. override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
  1258. endif
  1259. endif
  1260. ifdef COMPILER_UNITTARGETDIR
  1261. override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
  1262. ifeq ($(COMPILER_UNITTARGETDIR),.)
  1263. override UNITTARGETDIRPREFIX=
  1264. else
  1265. override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
  1266. endif
  1267. else
  1268. ifdef COMPILER_TARGETDIR
  1269. override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
  1270. override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
  1271. endif
  1272. endif
  1273. ifeq ($(OS_TARGET),linux)
  1274. ifeq ($(FPC_VERSION),1.0.6)
  1275. override FPCOPTDEF+=HASUNIX
  1276. endif
  1277. endif
  1278. ifdef GCCLIBDIR
  1279. override FPCOPT+=-Fl$(GCCLIBDIR)
  1280. endif
  1281. ifdef OTHERLIBDIR
  1282. override FPCOPT+=$(addprefix -Fl,$(OTHERLIBDIR))
  1283. endif
  1284. ifdef OPT
  1285. override FPCOPT+=$(OPT)
  1286. endif
  1287. ifdef FPCOPTDEF
  1288. override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
  1289. endif
  1290. ifdef CFGFILE
  1291. override FPCOPT+=@$(CFGFILE)
  1292. endif
  1293. ifdef USEENV
  1294. override FPCEXTCMD:=$(FPCOPT)
  1295. override FPCOPT:=!FPCEXTCMD
  1296. export FPCEXTCMD
  1297. endif
  1298. override COMPILER:=$(FPC) $(FPCOPT)
  1299. ifeq (,$(findstring -s ,$(COMPILER)))
  1300. EXECPPAS=
  1301. else
  1302. ifeq ($(FULL_SOURCE),$(FULL_TARGET))
  1303. EXECPPAS:=@$(PPAS)
  1304. endif
  1305. endif
  1306. .PHONY: fpc_exes
  1307. ifdef TARGET_PROGRAMS
  1308. override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS))
  1309. override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS)))
  1310. override ALLTARGET+=fpc_exes
  1311. override INSTALLEXEFILES+=$(EXEFILES)
  1312. override CLEANEXEFILES+=$(EXEFILES) $(EXEOFILES)
  1313. ifeq ($(OS_TARGET),os2)
  1314. override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
  1315. endif
  1316. ifeq ($(OS_TARGET),emx)
  1317. override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
  1318. endif
  1319. endif
  1320. fpc_exes: $(EXEFILES)
  1321. ifdef TARGET_RSTS
  1322. override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
  1323. override CLEANRSTFILES+=$(RSTFILES)
  1324. endif
  1325. .PHONY: fpc_all fpc_smart fpc_debug fpc_release
  1326. $(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
  1327. @$(ECHOREDIR) Compiled > $(FPCMADE)
  1328. fpc_all: $(FPCMADE)
  1329. fpc_smart:
  1330. $(MAKE) all LINKSMART=1 CREATESMART=1
  1331. fpc_debug:
  1332. $(MAKE) all DEBUG=1
  1333. fpc_release:
  1334. $(MAKE) all RELEASE=1
  1335. .SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .dpr .pp .rc .res
  1336. %$(PPUEXT): %.pp
  1337. $(COMPILER) $<
  1338. $(EXECPPAS)
  1339. %$(PPUEXT): %.pas
  1340. $(COMPILER) $<
  1341. $(EXECPPAS)
  1342. %$(EXEEXT): %.pp
  1343. $(COMPILER) $<
  1344. $(EXECPPAS)
  1345. %$(EXEEXT): %.pas
  1346. $(COMPILER) $<
  1347. $(EXECPPAS)
  1348. %$(EXEEXT): %.dpr
  1349. $(COMPILER) $<
  1350. $(EXECPPAS)
  1351. %.res: %.rc
  1352. windres -i $< -o $@
  1353. vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1354. vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1355. vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1356. vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
  1357. .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
  1358. ifdef INSTALL_UNITS
  1359. override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
  1360. endif
  1361. ifdef INSTALL_BUILDUNIT
  1362. override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
  1363. endif
  1364. ifdef INSTALLPPUFILES
  1365. override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
  1366. override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILES))
  1367. override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPULINKFILES)))
  1368. override INSTALL_CREATEPACKAGEFPC=1
  1369. endif
  1370. ifdef INSTALLEXEFILES
  1371. override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(INSTALLEXEFILES))
  1372. endif
  1373. fpc_install: all $(INSTALLTARGET)
  1374. ifdef INSTALLEXEFILES
  1375. $(MKDIR) $(INSTALL_BINDIR)
  1376. ifdef UPXPROG
  1377. -$(UPXPROG) $(INSTALLEXEFILES)
  1378. endif
  1379. $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
  1380. endif
  1381. ifdef INSTALL_CREATEPACKAGEFPC
  1382. ifdef FPCMAKE
  1383. ifdef PACKAGE_VERSION
  1384. ifneq ($(wildcard Makefile.fpc),)
  1385. $(FPCMAKE) -p -T$(OS_TARGET) Makefile.fpc
  1386. $(MKDIR) $(INSTALL_UNITDIR)
  1387. $(INSTALL) Package.fpc $(INSTALL_UNITDIR)
  1388. endif
  1389. endif
  1390. endif
  1391. endif
  1392. ifdef INSTALLPPUFILES
  1393. $(MKDIR) $(INSTALL_UNITDIR)
  1394. $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
  1395. ifneq ($(INSTALLPPULINKFILES),)
  1396. $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
  1397. endif
  1398. ifneq ($(wildcard $(LIB_FULLNAME)),)
  1399. $(MKDIR) $(INSTALL_LIBDIR)
  1400. $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
  1401. ifdef inUnix
  1402. ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
  1403. endif
  1404. endif
  1405. endif
  1406. ifdef INSTALL_FILES
  1407. $(MKDIR) $(INSTALL_DATADIR)
  1408. $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
  1409. endif
  1410. fpc_sourceinstall: distclean
  1411. $(MKDIR) $(INSTALL_SOURCEDIR)
  1412. $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
  1413. fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
  1414. ifdef HASEXAMPLES
  1415. $(MKDIR) $(INSTALL_EXAMPLEDIR)
  1416. endif
  1417. ifdef EXAMPLESOURCEFILES
  1418. $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
  1419. endif
  1420. ifdef TARGET_EXAMPLEDIRS
  1421. $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
  1422. endif
  1423. .PHONY: fpc_clean fpc_cleanall fpc_distclean
  1424. ifdef EXEFILES
  1425. override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
  1426. endif
  1427. ifdef CLEAN_UNITS
  1428. override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
  1429. endif
  1430. ifdef CLEANPPUFILES
  1431. override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
  1432. override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
  1433. override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
  1434. endif
  1435. fpc_clean: $(CLEANTARGET)
  1436. ifdef CLEANEXEFILES
  1437. -$(DEL) $(CLEANEXEFILES)
  1438. endif
  1439. ifdef CLEANPPUFILES
  1440. -$(DEL) $(CLEANPPUFILES)
  1441. endif
  1442. ifneq ($(CLEANPPULINKFILES),)
  1443. -$(DEL) $(CLEANPPULINKFILES)
  1444. endif
  1445. ifdef CLEANRSTFILES
  1446. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  1447. endif
  1448. ifdef CLEAN_FILES
  1449. -$(DEL) $(CLEAN_FILES)
  1450. endif
  1451. ifdef LIB_NAME
  1452. -$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
  1453. endif
  1454. -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
  1455. fpc_distclean: clean
  1456. ifdef COMPILER_UNITTARGETDIR
  1457. TARGETDIRCLEAN=fpc_clean
  1458. endif
  1459. fpc_cleanall: $(CLEANTARGET) $(TARGETDIRCLEAN)
  1460. ifdef CLEANEXEFILES
  1461. -$(DEL) $(CLEANEXEFILES)
  1462. endif
  1463. -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
  1464. -$(DELTREE) *$(SMARTEXT)
  1465. -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
  1466. ifdef AOUTEXT
  1467. -$(DEL) *$(AOUTEXT)
  1468. endif
  1469. .PHONY: fpc_baseinfo
  1470. override INFORULES+=fpc_baseinfo
  1471. fpc_baseinfo:
  1472. @$(ECHO)
  1473. @$(ECHO) == Package info ==
  1474. @$(ECHO) Package Name..... $(PACKAGE_NAME)
  1475. @$(ECHO) Package Version.. $(PACKAGE_VERSION)
  1476. @$(ECHO)
  1477. @$(ECHO) == Configuration info ==
  1478. @$(ECHO)
  1479. @$(ECHO) FPC.......... $(FPC)
  1480. @$(ECHO) FPC Version.. $(FPC_VERSION)
  1481. @$(ECHO) Source CPU... $(CPU_SOURCE)
  1482. @$(ECHO) Target CPU... $(CPU_TARGET)
  1483. @$(ECHO) Source OS.... $(OS_SOURCE)
  1484. @$(ECHO) Target OS.... $(OS_TARGET)
  1485. @$(ECHO) Full Source.. $(FULL_SOURCE)
  1486. @$(ECHO) Full Target.. $(FULL_TARGET)
  1487. @$(ECHO)
  1488. @$(ECHO) == Directory info ==
  1489. @$(ECHO)
  1490. @$(ECHO) Required pkgs... $(REQUIRE_PACKAGES)
  1491. @$(ECHO)
  1492. @$(ECHO) Basedir......... $(BASEDIR)
  1493. @$(ECHO) FPCDir.......... $(FPCDIR)
  1494. @$(ECHO) CrossBinDir..... $(CROSSBINDIR)
  1495. @$(ECHO) UnitsDir........ $(UNITSDIR)
  1496. @$(ECHO) PackagesDir..... $(PACKAGESDIR)
  1497. @$(ECHO)
  1498. @$(ECHO) GCC library..... $(GCCLIBDIR)
  1499. @$(ECHO) Other library... $(OTHERLIBDIR)
  1500. @$(ECHO)
  1501. @$(ECHO) == Tools info ==
  1502. @$(ECHO)
  1503. @$(ECHO) As........ $(AS)
  1504. @$(ECHO) Ld........ $(LD)
  1505. @$(ECHO) Ar........ $(AR)
  1506. @$(ECHO) Rc........ $(RC)
  1507. @$(ECHO)
  1508. @$(ECHO) Mv........ $(MVPROG)
  1509. @$(ECHO) Cp........ $(CPPROG)
  1510. @$(ECHO) Rm........ $(RMPROG)
  1511. @$(ECHO) GInstall.. $(GINSTALL)
  1512. @$(ECHO) Echo...... $(ECHO)
  1513. @$(ECHO) Shell..... $(SHELL)
  1514. @$(ECHO) Date...... $(DATE)
  1515. @$(ECHO) FPCMake... $(FPCMAKE)
  1516. @$(ECHO) PPUMove... $(PPUMOVE)
  1517. @$(ECHO) Upx....... $(UPXPROG)
  1518. @$(ECHO) Zip....... $(ZIPPROG)
  1519. @$(ECHO)
  1520. @$(ECHO) == Object info ==
  1521. @$(ECHO)
  1522. @$(ECHO) Target Loaders........ $(TARGET_LOADERS)
  1523. @$(ECHO) Target Units.......... $(TARGET_UNITS)
  1524. @$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS)
  1525. @$(ECHO) Target Programs....... $(TARGET_PROGRAMS)
  1526. @$(ECHO) Target Dirs........... $(TARGET_DIRS)
  1527. @$(ECHO) Target Examples....... $(TARGET_EXAMPLES)
  1528. @$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
  1529. @$(ECHO)
  1530. @$(ECHO) Clean Units......... $(CLEAN_UNITS)
  1531. @$(ECHO) Clean Files......... $(CLEAN_FILES)
  1532. @$(ECHO)
  1533. @$(ECHO) Install Units....... $(INSTALL_UNITS)
  1534. @$(ECHO) Install Files....... $(INSTALL_FILES)
  1535. @$(ECHO)
  1536. @$(ECHO) == Install info ==
  1537. @$(ECHO)
  1538. @$(ECHO) DateStr.............. $(DATESTR)
  1539. @$(ECHO) ZipPrefix............ $(ZIPPREFIX)
  1540. @$(ECHO) ZipSuffix............ $(ZIPSUFFIX)
  1541. @$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE)
  1542. @$(ECHO)
  1543. @$(ECHO) Install base dir..... $(INSTALL_BASEDIR)
  1544. @$(ECHO) Install binary dir... $(INSTALL_BINDIR)
  1545. @$(ECHO) Install library dir.. $(INSTALL_LIBDIR)
  1546. @$(ECHO) Install units dir.... $(INSTALL_UNITDIR)
  1547. @$(ECHO) Install source dir... $(INSTALL_SOURCEDIR)
  1548. @$(ECHO) Install doc dir...... $(INSTALL_DOCDIR)
  1549. @$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR)
  1550. @$(ECHO) Install data dir..... $(INSTALL_DATADIR)
  1551. @$(ECHO)
  1552. @$(ECHO) Dist destination dir. $(DIST_DESTDIR)
  1553. @$(ECHO) Dist zip name........ $(DIST_ZIPNAME)
  1554. @$(ECHO)
  1555. .PHONY: fpc_info
  1556. fpc_info: $(INFORULES)
  1557. .PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
  1558. fpc_makefile_dirs
  1559. fpc_makefile:
  1560. $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
  1561. fpc_makefile_sub1:
  1562. ifdef TARGET_DIRS
  1563. $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
  1564. endif
  1565. ifdef TARGET_EXAMPLEDIRS
  1566. $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
  1567. endif
  1568. fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
  1569. fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
  1570. fpc_makefiles: fpc_makefile fpc_makefile_dirs
  1571. all: fpc_all
  1572. debug: fpc_debug
  1573. smart: fpc_smart
  1574. release: fpc_release
  1575. examples:
  1576. shared:
  1577. install: fpc_install
  1578. sourceinstall: fpc_sourceinstall
  1579. exampleinstall: fpc_exampleinstall
  1580. distinstall:
  1581. zipinstall:
  1582. zipsourceinstall:
  1583. zipexampleinstall:
  1584. zipdistinstall:
  1585. clean: fpc_clean
  1586. distclean: fpc_distclean
  1587. cleanall: fpc_cleanall
  1588. info: fpc_info
  1589. makefiles: fpc_makefiles
  1590. .PHONY: all debug smart release examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
  1591. ifneq ($(wildcard fpcmake.loc),)
  1592. include fpcmake.loc
  1593. endif