Makefile 35 KB

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