Makefile 37 KB

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