Makefile 37 KB

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