Makefile 37 KB

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