Makefile 37 KB

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