Makefile 42 KB

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