2
0

Makefile 37 KB

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