Makefile 37 KB

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