2
0

Makefile 38 KB

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