Makefile 36 KB

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