2
0

Makefile 37 KB

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