Makefile 38 KB

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