Makefile 82 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852
  1. #
  2. # Don't edit, this file is generated by FPCMake Version 2.0.0
  3. #
  4. default: all
  5. MAKEFILETARGETS=m68k-sinclairql
  6. BSDs = freebsd netbsd openbsd darwin dragonfly
  7. UNIXs = linux $(BSDs) solaris qnx haiku aix
  8. LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari
  9. OSNeedsComspecToRunBatch = go32v2 watcom
  10. FORCE:
  11. .PHONY: FORCE
  12. lc = $(subst A,a,$(subst B,b,$(subst C,c,$(subst D,d,$(subst E,e,$(subst F,f,$(subst G,g,$(subst H,h,$(subst I,i,$(subst J,j,$(subst K,k,$(subst L,l,$(subst M,m,$(subst N,n,$(subst O,o,$(subst P,p,$(subst Q,q,$(subst R,r,$(subst S,s,$(subst T,t,$(subst U,u,$(subst V,v,$(subst W,w,$(subst X,x,$(subst Y,y,$(subst Z,z,$1))))))))))))))))))))))))))
  13. override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
  14. ifneq ($(findstring darwin,$(OSTYPE)),)
  15. inUnix=1 #darwin
  16. SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
  17. else
  18. ifeq ($(findstring ;,$(PATH)),)
  19. inUnix=1
  20. SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
  21. else
  22. SEARCHPATH:=$(subst ;, ,$(PATH))
  23. endif
  24. endif
  25. SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
  26. PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
  27. ifeq ($(PWD),)
  28. PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
  29. ifeq ($(PWD),)
  30. $(error You need the GNU utils package to use this Makefile)
  31. else
  32. PWD:=$(firstword $(PWD))
  33. SRCEXEEXT=
  34. endif
  35. else
  36. PWD:=$(firstword $(PWD))
  37. SRCEXEEXT=.exe
  38. endif
  39. ifndef inUnix
  40. ifeq ($(OS),Windows_NT)
  41. inWinNT=1
  42. else
  43. ifdef OS2_SHELL
  44. inOS2=1
  45. endif
  46. endif
  47. else
  48. ifneq ($(findstring cygdrive,$(PATH)),)
  49. inCygWin=1
  50. endif
  51. endif
  52. ifdef inUnix
  53. SRCBATCHEXT=.sh
  54. else
  55. ifdef inOS2
  56. SRCBATCHEXT=.cmd
  57. else
  58. SRCBATCHEXT=.bat
  59. endif
  60. endif
  61. ifdef COMSPEC
  62. ifneq ($(filter $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
  63. ifndef RUNBATCH
  64. RUNBATCH=$(COMSPEC) /C
  65. endif
  66. endif
  67. endif
  68. ifdef inUnix
  69. PATHSEP=/
  70. else
  71. PATHSEP:=$(subst /,\,/)
  72. ifdef inCygWin
  73. PATHSEP=/
  74. endif
  75. endif
  76. ifdef PWD
  77. BASEDIR:=$(subst \,/,$(shell $(PWD)))
  78. ifdef inCygWin
  79. ifneq ($(findstring /cygdrive/,$(BASEDIR)),)
  80. BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR))
  81. BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR)))
  82. BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR))
  83. endif
  84. endif
  85. else
  86. BASEDIR=.
  87. endif
  88. ifdef inOS2
  89. ifndef ECHO
  90. ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
  91. ifeq ($(ECHO),)
  92. ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
  93. ifeq ($(ECHO),)
  94. ECHO=echo
  95. else
  96. ECHO:=$(firstword $(ECHO))
  97. endif
  98. else
  99. ECHO:=$(firstword $(ECHO))
  100. endif
  101. endif
  102. export ECHO
  103. endif
  104. override OS_TARGET_DEFAULT=sinclairql
  105. override CPU_TARGET_DEFAULT=m68k
  106. override DEFAULT_FPCDIR=../..
  107. ifndef FPC
  108. ifdef PP
  109. FPC=$(PP)
  110. endif
  111. endif
  112. ifndef FPC
  113. FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
  114. ifneq ($(FPCPROG),)
  115. FPCPROG:=$(firstword $(FPCPROG))
  116. ifneq ($(CPU_TARGET),)
  117. FPC:=$(shell $(FPCPROG) -P$(CPU_TARGET) -PB)
  118. else
  119. FPC:=$(shell $(FPCPROG) -PB)
  120. endif
  121. ifneq ($(findstring Error,$(FPC)),)
  122. override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
  123. else
  124. ifeq ($(strip $(wildcard $(FPC))),)
  125. FPC:=$(firstword $(FPCPROG))
  126. endif
  127. endif
  128. else
  129. override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
  130. endif
  131. endif
  132. override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
  133. override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
  134. FOUNDFPC:=$(strip $(wildcard $(FPC)))
  135. ifeq ($(FOUNDFPC),)
  136. FOUNDFPC=$(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))
  137. ifeq ($(FOUNDFPC),)
  138. $(error Compiler $(FPC) not found)
  139. endif
  140. endif
  141. ifndef FPC_COMPILERINFO
  142. FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO)
  143. endif
  144. ifndef FPC_VERSION
  145. FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
  146. endif
  147. export FPC FPC_VERSION FPC_COMPILERINFO
  148. unexport CHECKDEPEND ALLDEPENDENCIES
  149. ifndef CPU_TARGET
  150. ifdef CPU_TARGET_DEFAULT
  151. CPU_TARGET=$(CPU_TARGET_DEFAULT)
  152. endif
  153. endif
  154. ifndef OS_TARGET
  155. ifdef OS_TARGET_DEFAULT
  156. OS_TARGET=$(OS_TARGET_DEFAULT)
  157. endif
  158. endif
  159. ifndef CPU_SOURCE
  160. CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO))
  161. endif
  162. ifndef CPU_TARGET
  163. CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO))
  164. endif
  165. ifndef OS_SOURCE
  166. OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO))
  167. endif
  168. ifndef OS_TARGET
  169. OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
  170. endif
  171. CPU_OS_TARGET=$(CPU_TARGET)-$(OS_TARGET)
  172. ifdef SUB_TARGET
  173. L_SUB_TARGET=$(call lc,$(SUB_TARGET))
  174. FULL_TARGET:=$(CPU_TARGET)-$(OS_TARGET)-$(L_SUB_TARGET)
  175. else
  176. FULL_TARGET:=$(CPU_TARGET)-$(OS_TARGET)
  177. endif
  178. CPU_OS_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
  179. ifdef SUB_SOURCE
  180. L_SUB_SOURCE=$(call lc,$(SUB_SOURCE))
  181. FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)-$(L_SUB_SOURCE)
  182. else
  183. FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
  184. endif
  185. ifeq ($(CPU_TARGET),armeb)
  186. ARCH=arm
  187. override FPCOPT+=-Cb
  188. else
  189. ifeq ($(CPU_TARGET),armel)
  190. ARCH=arm
  191. override FPCOPT+=-CaEABI
  192. else
  193. ARCH=$(CPU_TARGET)
  194. endif
  195. endif
  196. ifeq ($(CPU_OS_TARGET),aarch64-embedded)
  197. endif
  198. ifdef SUB_TARGET
  199. FPCOPT+=-t$(SUB_TARGET)
  200. FPMAKE_OPT+=--subtarget=$(SUB_TARGET)
  201. endif
  202. ifeq ($(CPU_OS_TARGET),arm-embedded)
  203. ifeq ($(SUBARCH),)
  204. $(error When compiling for arm-embedded, a sub-architecture (e.g. SUBARCH=armv4t or SUBARCH=armv7m) must be defined)
  205. endif
  206. override FPCOPT+=-Cp$(SUBARCH)
  207. endif
  208. ifeq ($(CPU_OS_TARGET),avr-embedded)
  209. ifeq ($(SUBARCH),)
  210. $(error When compiling for avr-embedded, a sub-architecture (e.g. SUBARCH=avr25 or SUBARCH=avr35) must be defined)
  211. endif
  212. override FPCOPT+=-Cp$(SUBARCH)
  213. endif
  214. ifeq ($(CPU_OS_TARGET),mipsel-embedded)
  215. ifeq ($(SUBARCH),)
  216. $(error When compiling for mipsel-embedded, a sub-architecture (e.g. SUBARCH=pic32mx) must be defined)
  217. endif
  218. override FPCOPT+=-Cp$(SUBARCH)
  219. endif
  220. ifeq ($(CPU_OS_TARGET),xtensa-embedded)
  221. ifeq ($(SUBARCH),)
  222. $(error When compiling for xtensa-embedded, a sub-architecture (e.g. SUBARCH=lx106 or SUBARCH=lx6) must be defined)
  223. endif
  224. override FPCOPT+=-Cp$(SUBARCH)
  225. endif
  226. ifeq ($(CPU_OS_TARGET),xtensa-freertos)
  227. ifeq ($(SUBARCH),)
  228. $(error When compiling for xtensa-freertos, a sub-architecture (e.g. SUBARCH=lx106 or SUBARCH=lx6) must be defined)
  229. endif
  230. override FPCOPT+=-Cp$(SUBARCH)
  231. endif
  232. ifeq ($(CPU_OS_TARGET),arm-freertos)
  233. ifeq ($(SUBARCH),)
  234. $(error When compiling for arm-freertos, a sub-architecture (e.g. SUBARCH=armv6m or SUBARCH=armv7em) must be defined)
  235. endif
  236. override FPCOPT+=-Cp$(SUBARCH)
  237. endif
  238. ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
  239. TARGETSUFFIX=$(OS_TARGET)
  240. SOURCESUFFIX=$(OS_SOURCE)
  241. else
  242. ifneq ($(filter $(OS_TARGET),$(LIMIT83fs)),)
  243. TARGETSUFFIX=$(OS_TARGET)
  244. else
  245. TARGETSUFFIX=$(FULL_TARGET)
  246. endif
  247. SOURCESUFFIX=$(FULL_SOURCE)
  248. endif
  249. ifneq ($(CPU_OS_TARGET),$(CPU_OS_SOURCE))
  250. CROSSCOMPILE=1
  251. endif
  252. ifeq ($(findstring makefile,$(MAKECMDGOALS)),)
  253. ifeq ($(filter $(CPU_OS_TARGET),$(MAKEFILETARGETS)),)
  254. $(error The Makefile doesn't support target $(FULL_TARGET), please run fpcmake first)
  255. endif
  256. endif
  257. ifneq ($(filter $(OS_TARGET),$(BSDs)),)
  258. BSDhier=1
  259. endif
  260. ifeq ($(OS_TARGET),linux)
  261. linuxHier=1
  262. endif
  263. ifndef CROSSCOMPILE
  264. BUILDFULLNATIVE=1
  265. export BUILDFULLNATIVE
  266. endif
  267. ifdef BUILDFULLNATIVE
  268. BUILDNATIVE=1
  269. export BUILDNATIVE
  270. endif
  271. export OS_TARGET OS_SOURCE ARCH CPU_TARGET CPU_SOURCE SUB_TARGET SUB_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE CPU_OS_TARGET CPU_OS_SOURCE
  272. ifdef FPCDIR
  273. override FPCDIR:=$(subst \,/,$(FPCDIR))
  274. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl)),)
  275. override FPCDIR=wrong
  276. endif
  277. else
  278. override FPCDIR=wrong
  279. endif
  280. ifdef DEFAULT_FPCDIR
  281. ifeq ($(FPCDIR),wrong)
  282. override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR))
  283. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl)),)
  284. override FPCDIR=wrong
  285. endif
  286. endif
  287. endif
  288. ifeq ($(FPCDIR),wrong)
  289. ifdef inUnix
  290. override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
  291. ifeq ($(wildcard $(FPCDIR)/units),)
  292. override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
  293. endif
  294. else
  295. override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
  296. override FPCDIR:=$(FPCDIR)/..
  297. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl)),)
  298. override FPCDIR:=$(FPCDIR)/..
  299. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl)),)
  300. override FPCDIR:=$(BASEDIR)
  301. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl)),)
  302. override FPCDIR=c:/pp
  303. endif
  304. endif
  305. endif
  306. endif
  307. endif
  308. ifndef CROSSBINDIR
  309. CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX))
  310. endif
  311. ifneq ($(filter $(OS_TARGET),darwin iphonesim ios),)
  312. ifneq ($(filter $(OS_SOURCE),darwin ios),)
  313. DARWIN2DARWIN=1
  314. endif
  315. endif
  316. ifndef BINUTILSPREFIX
  317. ifndef CROSSBINDIR
  318. ifdef CROSSCOMPILE
  319. ifneq ($(OS_TARGET),msdos)
  320. ifndef DARWIN2DARWIN
  321. ifneq ($(CPU_TARGET),jvm)
  322. BINUTILSPREFIX=$(CPU_TARGET)-$(OS_TARGET)-
  323. ifeq ($(OS_TARGET),android)
  324. ifeq ($(CPU_TARGET),arm)
  325. BINUTILSPREFIX=arm-linux-androideabi-
  326. else
  327. ifeq ($(CPU_TARGET),i386)
  328. BINUTILSPREFIX=i686-linux-android-
  329. else
  330. BINUTILSPREFIX=$(CPU_TARGET)-linux-android-
  331. endif
  332. endif
  333. endif
  334. endif
  335. endif
  336. else
  337. BINUTILSPREFIX=$(OS_TARGET)-
  338. endif
  339. endif
  340. endif
  341. endif
  342. UNITSDIR:=$(wildcard $(FPCDIR)/units/$(TARGETSUFFIX))
  343. ifeq ($(UNITSDIR),)
  344. UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
  345. endif
  346. PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages)
  347. ifndef FPCFPMAKE
  348. ifdef CROSSCOMPILE
  349. ifeq ($(strip $(wildcard $(addsuffix /compiler/ppc$(SRCEXEEXT),$(FPCDIR)))),)
  350. FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
  351. ifneq ($(FPCPROG),)
  352. FPCPROG:=$(firstword $(FPCPROG))
  353. FPCFPMAKE:=$(shell $(FPCPROG) -PB)
  354. ifeq ($(strip $(wildcard $(FPCFPMAKE))),)
  355. FPCFPMAKE:=$(firstword $(FPCPROG))
  356. endif
  357. else
  358. override FPCFPMAKE=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
  359. endif
  360. else
  361. FPCFPMAKE=$(strip $(wildcard $(addsuffix /compiler/ppc$(SRCEXEEXT),$(FPCDIR))))
  362. FPMAKE_SKIP_CONFIG=-n
  363. export FPCFPMAKE
  364. export FPMAKE_SKIP_CONFIG
  365. endif
  366. else
  367. FPMAKE_SKIP_CONFIG=-n
  368. FPCFPMAKE=$(FPC)
  369. endif
  370. endif
  371. override PACKAGE_NAME=rtl
  372. PACKAGEDIR_MAIN:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
  373. ifdef FPC_DOTTEDUNITS
  374. AIOUNIT=NetWareApi.Aio
  375. ALLWINNER_A20UNIT=Embedded.Allwinner_a20
  376. ANDROIDR14UNIT=AndroidAPI.AndroidR14
  377. ATHREADSUNIT=AmigaApi.AThreads
  378. BASEUNIXUNIT=UnixApi.Base
  379. BETHREADSUNIT=BeosApi.Bethreads
  380. BLOCKRTLUNIT=blockrtl
  381. BSDUNIT=BsdApi
  382. CHARACTERUNIT=System.Character
  383. CHARSETUNIT=System.CharSet
  384. CLASSESUNIT=System.Classes
  385. CMEMUNIT=System.CMem
  386. COMMONUNIT=PalmApi.Common
  387. CONSOLEUNIT=System.Console
  388. CONSOLEIOUNIT=EmbeddedApi.ConsoleIO
  389. CORTEXM0UNIT=ARMApi.cortexm0
  390. CORTEXM3UNIT=ARMApi.cortexm3
  391. CORTEXM4UNIT=ARMApi.cortexm4
  392. CORTEXM7UNIT=ARMApi.cortexm7
  393. CP1250UNIT=System.CodePages.CP1250
  394. CP1251UNIT=System.CodePages.CP1251
  395. CP1252UNIT=System.CodePages.CP1252
  396. CP1253UNIT=System.CodePages.CP1253
  397. CP1254UNIT=System.CodePages.CP1254
  398. CP1255UNIT=System.CodePages.CP1255
  399. CP1256UNIT=System.CodePages.CP1256
  400. CP1257UNIT=System.CodePages.CP1257
  401. CP1258UNIT=System.CodePages.CP1258
  402. CP3021UNIT=System.CodePages.CP3021
  403. CP437UNIT=System.CodePages.CP437
  404. CP646UNIT=System.CodePages.CP646
  405. CP737UNIT=System.CodePages.CP737
  406. CP775UNIT=System.CodePages.CP775
  407. CP850UNIT=System.CodePages.CP850
  408. CP852UNIT=System.CodePages.CP852
  409. CP855UNIT=System.CodePages.CP855
  410. CP856UNIT=System.CodePages.CP856
  411. CP857UNIT=System.CodePages.CP857
  412. CP860UNIT=System.CodePages.CP860
  413. CP861UNIT=System.CodePages.CP861
  414. CP862UNIT=System.CodePages.CP862
  415. CP863UNIT=System.CodePages.CP863
  416. CP864UNIT=System.CodePages.CP864
  417. CP865UNIT=System.CodePages.CP865
  418. CP866UNIT=System.CodePages.CP866
  419. CP869UNIT=System.CodePages.CP869
  420. CP874UNIT=System.CodePages.CP874
  421. CP8859_1UNIT=System.CodePages.CP8859_1
  422. CP8859_10UNIT=System.CodePages.CP8859_10
  423. CP8859_11UNIT=System.CodePages.CP8859_11
  424. CP8859_13UNIT=System.CodePages.CP8859_13
  425. CP8859_14UNIT=System.CodePages.CP8859_14
  426. CP8859_15UNIT=System.CodePages.CP8859_15
  427. CP8859_16UNIT=System.CodePages.CP8859_16
  428. CP8859_2UNIT=System.CodePages.CP8859_2
  429. CP8859_3UNIT=System.CodePages.CP8859_3
  430. CP8859_4UNIT=System.CodePages.CP8859_4
  431. CP8859_5UNIT=System.CodePages.CP8859_5
  432. CP8859_6UNIT=System.CodePages.CP8859_6
  433. CP8859_7UNIT=System.CodePages.CP8859_7
  434. CP8859_8UNIT=System.CodePages.CP8859_8
  435. CP8859_9UNIT=System.CodePages.CP8859_9
  436. CPALLUNIT=System.CodePages.All
  437. CPKOI8_RUNIT=System.CodePages.CPkoi8_r
  438. CPKOI8_UUNIT=System.CodePages.CPkoi8_u
  439. CPUUNIT=System.CPU
  440. CTHREADSUNIT=UnixApi.CThreads
  441. CTYPESUNIT=System.CTypes
  442. CWSTRINGUNIT=UnixApi.CWString
  443. DDKUNIT=NTApi.Ddk
  444. DLUNIT=UnixApi.Dl
  445. DOSUNIT=TP.DOS
  446. DOSCALL2UNIT=OS2Api.doscall2
  447. DOSCALLSUNIT=OS2Api.doscalls
  448. DPMIEXCPUNIT=DOSApi.Dpmiexcp
  449. DXELOADUNIT=DOSApi.Dxeload
  450. DXETYPEUNIT=DOSApi.Dxetype
  451. DYNLIBSUNIT=System.DynLibs
  452. EMU387UNIT=DOSApi.EMU387
  453. EMXUNIT=DOSApi.EMX
  454. ERRORSUNIT=System.Errors
  455. ESP32UNIT=System.Esp32
  456. ESP8266UNIT=System.Esp8266
  457. ESP8266RTOS_30300UNIT=System.Esp8266rtos_30300
  458. ESP8266RTOS_30400UNIT=System.Esp8266rtos_30400
  459. ESPIDF_40100UNIT=System.Espidf_40100
  460. ESPIDF_40200UNIT=System.Espidf_40200
  461. ESPIDF_40400UNIT=System.Espidf_40400
  462. EXEUNIT=OS2Api.exe
  463. EXEINFOUNIT=System.Exeinfo
  464. EXTPASUNIT=extpas
  465. FE310G000UNIT=EmbeddedApi.fe310g000
  466. FE310G002UNIT=EmbeddedApi.fe310g002
  467. FGLUNIT=System.FGL
  468. FPCMEMDLLUNIT=System.FPCMemDLL
  469. FPCYLIXUNIT=fpcylix
  470. FPWIDESTRINGUNIT=System.FPWideString
  471. FREEBSDUNIT=FreeBSDApi.FreeBSD
  472. GD32VF103XXUNIT=EmbeddedApi.gd32vf103xx
  473. GETOPTSUNIT=System.GetOpts
  474. GO32UNIT=DOSApi.GO32
  475. GPIOUNIT=EmbeddedApi.gpio
  476. HEAPMGRUNIT=EmbeddedApi.HeapMGR
  477. HEAPTRCUNIT=heaptrc
  478. INITCUNIT=System.InitC
  479. INTRINSICSUNIT=System.Intrinsics
  480. ISO7185UNIT=iso7185
  481. JDK15UNIT=JavaApi.JDK15
  482. KBDCALLSUNIT=OS2Api.kbdcalls
  483. LIBCUNIT=NetwareLibCApi.Libc
  484. LINEINFOUNIT=System.LineInfo
  485. LINUXUNIT=LinuxApi
  486. LINUXVCSUNIT=LinuxApi.Vcs
  487. LM3FURYUNIT=EmbeddedApi.lm3fury
  488. LM3TEMPESTUNIT=EmbeddedApi.lm3tempest
  489. LM4F120UNIT=EmbeddedApi.lm4f120
  490. LNFODWRFUNIT=System.LineInfo.Dwarf
  491. LNFOGDBUNIT=System.LineInfo.Gdb
  492. LPC11XXUNIT=EmbeddedApi.lpc11xx
  493. LPC122XUNIT=EmbeddedApi.lpc122x
  494. LPC13XXUNIT=EmbeddedApi.lpc13xx
  495. LPC1768UNIT=EmbeddedApi.lpc1768
  496. LPC21X4UNIT=EmbeddedApi.lpc21x4
  497. LPC8XXUNIT=EmbeddedApi.lpc8xx
  498. LSTRINGSUNIT=System.LStrings
  499. MACOSUNIT=MacOSApi.MacOS
  500. MACOSTPUNIT=MacOSApi.MacOSTP
  501. MACUTILSUNIT=MacOSApi.MacUtils
  502. MAILBOXUNIT=EmbeddedApi.mailbox
  503. MATHUNIT=System.Math
  504. MESSAGESUNIT=WinApi.Messages
  505. MK20D5UNIT=EmbeddedApi.mk20d5
  506. MK20D7UNIT=EmbeddedApi.mk20d7
  507. MK22F51212UNIT=EmbeddedApi.mk22f51212
  508. MK64F12UNIT=EmbeddedApi.mk64f12
  509. MMIOUNIT=EmbeddedApi.mmio
  510. MMXUNIT=System.CPU.MMX
  511. MONCALLSUNIT=OS2Api.moncalls
  512. MOUCALLSUNIT=OS2Api.moucalls
  513. MSMOUSEUNIT=DOSApi.MSMouse
  514. MULTIBOOTUNIT=EmbeddedApi.multiboot
  515. NDKUNIT=NTApi.NDK
  516. NDKUTILSUNIT=NTApi.NDKUtils
  517. NETWAREUNIT=NetwareApi.NetWare
  518. NEWEXEUNIT=OS2Api.newexe
  519. NRF51UNIT=EmbeddedApi.nrf51
  520. NRF52UNIT=EmbeddedApi.nrf52
  521. NWCALLSUNIT=NetWareApi.Nwcalls
  522. NWNITUNIT=NetWareApi.Nwnit
  523. NWPREUNIT=NetWareApi.Nwpre
  524. NWPROTUNIT=NetWareApi.Nwprot
  525. NWSERVUNIT=NetWareApi.Nwserv
  526. NWSNUTUNIT=NetWareApi.Nwsnut
  527. OBJCUNIT=objc
  528. OBJCBASEUNIT=objcbase
  529. OS2DEFUNIT=OS2Api.os2def
  530. PAGEMEMUNIT=System.PageMem
  531. PILOTUNIT=PalmApi.Pilot
  532. PMBIDIUNIT=OS2Api.pmbidi
  533. PMBITMAPUNIT=OS2Api.pmbitmap
  534. PMDEVUNIT=OS2Api.pmdev
  535. PMGPIUNIT=OS2Api.pmgpi
  536. PMHELPUNIT=OS2Api.pmhelp
  537. PMSHLUNIT=OS2Api.pmshl
  538. PMSPLUNIT=OS2Api.pmspl
  539. PMSTDDLGUNIT=OS2Api.pmstddlg
  540. PMWINUNIT=OS2Api.pmwin
  541. PMWPUNIT=OS2Api.pmwp
  542. PMWSOCKUNIT=OS2Api.pmwsock
  543. PORTSUNIT=System.Ports
  544. POSIXUNIT=QNXApi.Posix
  545. PROFILEUNIT=DOSApi.Profile
  546. RASPI2UNIT=EmbeddedApi.raspi2
  547. RASPI3UNIT=EmbeddedApi.raspi3
  548. RASPIUARTUNIT=EmbeddedApi.raspiuart
  549. RTLCONSTSUNIT=System.RtlConsts
  550. SAM3X8EUNIT=EmbeddedApi.sam3x8e
  551. SAMD51P19AUNIT=EmbeddedApi.samd51p19a
  552. SC32442BUNIT=EmbeddedApi .sc32442b
  553. SFPU128UNIT=System.SoftFpu128
  554. SFPUX80UNIT=System.SoftFpuX80
  555. SHAREMEMUNIT=WinApi.ShareMem
  556. SIGNALSUNIT=WinApi.Signals
  557. SO32DLLUNIT=OS2Api.so32dll
  558. SOFTFPUUNIT=System.SoftFPU
  559. SORTBASEUNIT=System.SortBase
  560. STM32F0XXUNIT=EmbeddedApi.stm32f0xx
  561. STM32F103XEUNIT=EmbeddedApi.stm32f103xe
  562. STM32F10X_CLUNIT=EmbeddedApi.stm32f10x_cl
  563. STM32F10X_CONNUNIT=EmbeddedApi.stm32f10x_conn
  564. STM32F10X_HDUNIT=EmbeddedApi.stm32f10x_hd
  565. STM32F10X_LDUNIT=EmbeddedApi.stm32f10x_ld
  566. STM32F10X_MDUNIT=EmbeddedApi.stm32f10x_md
  567. STM32F10X_XLUNIT=EmbeddedApi.stm32f10x_xl
  568. STM32F401XEUNIT=EmbeddedApi.stm32f401xe
  569. STM32F401XXUNIT=EmbeddedApi.stm32f401xx
  570. STM32F407XXUNIT=EmbeddedApi.stm32f407xx
  571. STM32F411XEUNIT=EmbeddedApi.stm32f411xe
  572. STM32F429UNIT=EmbeddedApi.stm32f429
  573. STM32F429XXUNIT=EmbeddedApi.stm32f429xx
  574. STM32F446XXUNIT=EmbeddedApi.stm32f446xx
  575. STM32F745UNIT=EmbeddedApi.stm32f745
  576. STM32F746UNIT=EmbeddedApi.stm32f746
  577. STM32F756UNIT=EmbeddedApi.stm32f756
  578. STM32G071XXUNIT=EmbeddedApi.stm32g071xx
  579. STRINGSUNIT=System.Strings
  580. SYMBIANUNIT=SymbianApi.Symbian
  581. SYSALLUNIT=PalmApi.Sysall
  582. SYSCALLUNIT=UnixApi.SysCall
  583. SYSCONSTUNIT=System.SysConst
  584. SYSCTLUNIT=BsdApi.SysCtl
  585. SYSEMXUNIT=DOSApi.Sysemx
  586. SYSOS2UNIT=OS2Api.sysos2
  587. SYSTRAPSUNIT=PalmApi.Systraps
  588. SYSUTILSUNIT=System.SysUtils
  589. TERMIOUNIT=UnixApi.TermIO
  590. TYPESUNIT=System.Types
  591. TYPINFOUNIT=System.TypInfo
  592. UFLOAT128UNIT=System.UFloat128
  593. UFLOATX80UNIT=System.UFloatX80
  594. UIUNIT=PalmApi.Ui
  595. UIQUNIT=SymbianApi.Uiq
  596. UIQCLASSESUNIT=SymbianApi.Uiqclasses
  597. UNICODEDATAUNIT=System.CodePages.unicodedata
  598. UNIXUNIT=UnixApi.Unix
  599. UNIXCPUNIT=UnixApi.CP
  600. UNIXTYPEUNIT=UnixApi.Types
  601. UNIXUTILUNIT=UnixApi.Utils
  602. VIOCALLSUNIT=OS2Api.viocalls
  603. WASIAPIUNIT=WASIApi.WASIApi
  604. WASIUTILUNIT=WASIApi.WASIUtil
  605. WATCOMUNIT=WatcomApi.WatCom
  606. WEBASSEMBLYUNIT=Wasm.Api
  607. WIN31UNIT=WinApi.Win31
  608. WINDIRSUNIT=WinApi.WinDirs
  609. WINDOWSUNIT=WinApi.Windows
  610. WINPROCSUNIT=WinApi.WinProcs
  611. WINSYSUTUNIT=WinApi.WinSysUt
  612. WINTYPESUNIT=WinApi.WinTypes
  613. X86UNIT=System.X86
  614. XMC4500UNIT=EmbeddedApi.xmc4500
  615. EXEINFOUNIT=System.ExeInfo
  616. ERRORSUNIT=UnixApi.Errors
  617. else
  618. AIOUNIT=aio
  619. ALLWINNER_A20UNIT=allwinner_a20
  620. ANDROIDR14UNIT=androidr14
  621. ATHREADSUNIT=athreads
  622. BASEUNIXUNIT=baseunix
  623. BETHREADSUNIT=bethreads
  624. BLOCKRTLUNIT=blockrtl
  625. BSDUNIT=bsd
  626. CHARACTERUNIT=character
  627. CHARSETUNIT=charset
  628. CLASSESUNIT=classes
  629. CMEMUNIT=cmem
  630. COMMONUNIT=common
  631. CONSOLEUNIT=console
  632. CONSOLEIOUNIT=consoleio
  633. CORTEXM0UNIT=cortexm0
  634. CORTEXM3UNIT=cortexm3
  635. CORTEXM4UNIT=cortexm4
  636. CORTEXM7UNIT=cortexm7
  637. CP1250UNIT=cp1250
  638. CP1251UNIT=cp1251
  639. CP1252UNIT=cp1252
  640. CP1253UNIT=cp1253
  641. CP1254UNIT=cp1254
  642. CP1255UNIT=cp1255
  643. CP1256UNIT=cp1256
  644. CP1257UNIT=cp1257
  645. CP1258UNIT=cp1258
  646. CP3021UNIT=cp3021
  647. CP437UNIT=cp437
  648. CP646UNIT=cp646
  649. CP737UNIT=cp737
  650. CP775UNIT=cp775
  651. CP850UNIT=cp850
  652. CP852UNIT=cp852
  653. CP855UNIT=cp855
  654. CP856UNIT=cp856
  655. CP857UNIT=cp857
  656. CP860UNIT=cp860
  657. CP861UNIT=cp861
  658. CP862UNIT=cp862
  659. CP863UNIT=cp863
  660. CP864UNIT=cp864
  661. CP865UNIT=cp865
  662. CP866UNIT=cp866
  663. CP869UNIT=cp869
  664. CP874UNIT=cp874
  665. CP8859_1UNIT=cp8859_1
  666. CP8859_10UNIT=cp8859_10
  667. CP8859_11UNIT=cp8859_11
  668. CP8859_13UNIT=cp8859_13
  669. CP8859_14UNIT=cp8859_14
  670. CP8859_15UNIT=cp8859_15
  671. CP8859_16UNIT=cp8859_16
  672. CP8859_2UNIT=cp8859_2
  673. CP8859_3UNIT=cp8859_3
  674. CP8859_4UNIT=cp8859_4
  675. CP8859_5UNIT=cp8859_5
  676. CP8859_6UNIT=cp8859_6
  677. CP8859_7UNIT=cp8859_7
  678. CP8859_8UNIT=cp8859_8
  679. CP8859_9UNIT=cp8859_9
  680. CPALLUNIT=cpall
  681. CPKOI8_RUNIT=cpkoi8_r
  682. CPKOI8_UUNIT=cpkoi8_u
  683. CPUUNIT=cpu
  684. CTHREADSUNIT=cthreads
  685. CTYPESUNIT=ctypes
  686. CWSTRINGUNIT=cwstring
  687. DDKUNIT=ddk
  688. DLUNIT=dl
  689. DOSUNIT=dos
  690. DOSCALL2UNIT=doscall2
  691. DOSCALLSUNIT=doscalls
  692. DPMIEXCPUNIT=dpmiexcp
  693. DXELOADUNIT=dxeload
  694. DXETYPEUNIT=dxetype
  695. DYNLIBSUNIT=dynlibs
  696. EMU387UNIT=emu387
  697. EMXUNIT=emx
  698. ERRORSUNIT=errors
  699. ESP32UNIT=esp32
  700. ESP8266UNIT=esp8266
  701. ESP8266RTOS_30300UNIT=esp8266rtos_30300
  702. ESP8266RTOS_30400UNIT=esp8266rtos_30400
  703. ESPIDF_40100UNIT=espidf_40100
  704. ESPIDF_40200UNIT=espidf_40200
  705. ESPIDF_40400UNIT=espidf_40400
  706. EXEUNIT=exe
  707. EXEINFOUNIT=exeinfo
  708. EXTPASUNIT=extpas
  709. FE310G000UNIT=fe310g000
  710. FE310G002UNIT=fe310g002
  711. FGLUNIT=fgl
  712. FPCMEMDLLUNIT=fpcmemdll
  713. FPCYLIXUNIT=fpcylix
  714. FPWIDESTRINGUNIT=fpwidestring
  715. FREEBSDUNIT=freebsd
  716. GD32VF103XXUNIT=gd32vf103xx
  717. GETOPTSUNIT=getopts
  718. GO32UNIT=go32
  719. GPIOUNIT=gpio
  720. HEAPMGRUNIT=heapmgr
  721. HEAPTRCUNIT=heaptrc
  722. INITCUNIT=initc
  723. INTRINSICSUNIT=intrinsics
  724. ISO7185UNIT=iso7185
  725. JDK15UNIT=jdk15
  726. KBDCALLSUNIT=kbdcalls
  727. LIBCUNIT=libc
  728. LINEINFOUNIT=lineinfo
  729. LINUXUNIT=linux
  730. LINUXVCSUNIT=linuxvcs
  731. LM3FURYUNIT=lm3fury
  732. LM3TEMPESTUNIT=lm3tempest
  733. LM4F120UNIT=lm4f120
  734. LNFODWRFUNIT=lnfodwrf
  735. LNFOGDBUNIT=lnfogdb
  736. LPC11XXUNIT=lpc11xx
  737. LPC122XUNIT=lpc122x
  738. LPC13XXUNIT=lpc13xx
  739. LPC1768UNIT=lpc1768
  740. LPC21X4UNIT=lpc21x4
  741. LPC8XXUNIT=lpc8xx
  742. LSTRINGSUNIT=lstrings
  743. MACOSUNIT=macos
  744. MACOSTPUNIT=macostp
  745. MACUTILSUNIT=macutils
  746. MAILBOXUNIT=mailbox
  747. MATHUNIT=math
  748. MESSAGESUNIT=messages
  749. MK20D5UNIT=mk20d5
  750. MK20D7UNIT=mk20d7
  751. MK22F51212UNIT=mk22f51212
  752. MK64F12UNIT=mk64f12
  753. MMIOUNIT=mmio
  754. MMXUNIT=mmx
  755. MONCALLSUNIT=moncalls
  756. MOUCALLSUNIT=moucalls
  757. MSMOUSEUNIT=msmouse
  758. MULTIBOOTUNIT=multiboot
  759. NDKUNIT=ndk
  760. NDKUTILSUNIT=ndkutils
  761. NETWAREUNIT=netware
  762. NEWEXEUNIT=newexe
  763. NRF51UNIT=nrf51
  764. NRF52UNIT=nrf52
  765. NWCALLSUNIT=nwcalls
  766. NWNITUNIT=nwnit
  767. NWPREUNIT=nwpre
  768. NWPROTUNIT=nwprot
  769. NWSERVUNIT=nwserv
  770. NWSNUTUNIT=nwsnut
  771. OBJCUNIT=objc
  772. OBJCBASEUNIT=objcbase
  773. OS2DEFUNIT=os2def
  774. PAGEMEMUNIT=pagemem
  775. PILOTUNIT=pilot
  776. PMBIDIUNIT=pmbidi
  777. PMBITMAPUNIT=pmbitmap
  778. PMDEVUNIT=pmdev
  779. PMGPIUNIT=pmgpi
  780. PMHELPUNIT=pmhelp
  781. PMSHLUNIT=pmshl
  782. PMSPLUNIT=pmspl
  783. PMSTDDLGUNIT=pmstddlg
  784. PMWINUNIT=pmwin
  785. PMWPUNIT=pmwp
  786. PMWSOCKUNIT=pmwsock
  787. PORTSUNIT=ports
  788. POSIXUNIT=posix
  789. PROFILEUNIT=profile
  790. RASPI2UNIT=raspi2
  791. RASPI3UNIT=raspi3
  792. RASPIUARTUNIT=raspiuart
  793. RTLCONSTSUNIT=rtlconsts
  794. SAM3X8EUNIT=sam3x8e
  795. SAMD51P19AUNIT=samd51p19a
  796. SC32442BUNIT=sc32442b
  797. SFPU128UNIT=sfpu128
  798. SFPUX80UNIT=sfpux80
  799. SHAREMEMUNIT=sharemem
  800. SIGNALSUNIT=signals
  801. SO32DLLUNIT=so32dll
  802. SOFTFPUUNIT=softfpu
  803. SORTBASEUNIT=sortbase
  804. STM32F0XXUNIT=stm32f0xx
  805. STM32F103XEUNIT=stm32f103xe
  806. STM32F10X_CLUNIT=stm32f10x_cl
  807. STM32F10X_CONNUNIT=stm32f10x_conn
  808. STM32F10X_HDUNIT=stm32f10x_hd
  809. STM32F10X_LDUNIT=stm32f10x_ld
  810. STM32F10X_MDUNIT=stm32f10x_md
  811. STM32F10X_XLUNIT=stm32f10x_xl
  812. STM32F401XEUNIT=stm32f401xe
  813. STM32F401XXUNIT=stm32f401xx
  814. STM32F407XXUNIT=stm32f407xx
  815. STM32F411XEUNIT=stm32f411xe
  816. STM32F429UNIT=stm32f429
  817. STM32F429XXUNIT=stm32f429xx
  818. STM32F446XXUNIT=stm32f446xx
  819. STM32F745UNIT=stm32f745
  820. STM32F746UNIT=stm32f746
  821. STM32F756UNIT=stm32f756
  822. STM32G071XXUNIT=stm32g071xx
  823. STRINGSUNIT=strings
  824. SYMBIANUNIT=symbian
  825. SYSALLUNIT=sysall
  826. SYSCALLUNIT=syscall
  827. SYSCONSTUNIT=sysconst
  828. SYSCTLUNIT=sysctl
  829. SYSEMXUNIT=sysemx
  830. SYSOS2UNIT=sysos2
  831. SYSTRAPSUNIT=systraps
  832. SYSUTILSUNIT=sysutils
  833. TERMIOUNIT=termio
  834. TYPESUNIT=types
  835. TYPINFOUNIT=typinfo
  836. UFLOAT128UNIT=ufloat128
  837. UFLOATX80UNIT=ufloatx80
  838. UIUNIT=ui
  839. UIQUNIT=uiq
  840. UIQCLASSESUNIT=uiqclasses
  841. UNICODEDATAUNIT=unicodedata
  842. UNIXUNIT=unix
  843. UNIXCPUNIT=unixcp
  844. UNIXTYPEUNIT=unixtype
  845. UNIXUTILUNIT=unixutil
  846. VIOCALLSUNIT=viocalls
  847. WASIAPIUNIT=wasiapi
  848. WASIUTILUNIT=wasiutil
  849. WATCOMUNIT=watcom
  850. WEBASSEMBLYUNIT=webassembly
  851. WIN31UNIT=win31
  852. WINDIRSUNIT=windirs
  853. WINDOWSUNIT=windows
  854. WINPROCSUNIT=winprocs
  855. WINSYSUTUNIT=winsysut
  856. WINTYPESUNIT=wintypes
  857. X86UNIT=x86
  858. XMC4500UNIT=xmc4500
  859. endif
  860. ifdef FPC_DOTTEDUNITS
  861. NS_SYSTEM=System.
  862. NS_CPUNITS=System.CodePages.
  863. NSDIR=$(RTL)/namespaced
  864. NSINC=$(NSDIR)/common
  865. OPT:=$(OPT) -dFPC_DOTTEDUNITS
  866. BASEINCLUDE=$(INC) $(PROCINC)
  867. BASESOURCE=$(INC) $(PROCINC) $($(COMMONUNIT))
  868. endif
  869. CPUNITSBASE=$(CP1250UNIT) $(CP1251UNIT) $(CP1252UNIT) $(CP1253UNIT) $(CP1254UNIT) $(CP1255UNIT) $(CP1256UNIT) $(CP1257UNIT) $(CP1258UNIT) \
  870. $(CP437UNIT) $(CP646UNIT) $(CP737UNIT) $(CP775UNIT) $(CP850UNIT) $(CP852UNIT) $(CP855UNIT) $(CP856UNIT) $(CP857UNIT) $(CP860UNIT) $(CP861UNIT) $(CP862UNIT) \
  871. $(CP863UNIT) $(CP864UNIT) $(CP865UNIT) $(CP866UNIT) $(CP869UNIT) $(CP874UNIT) $(CP3021UNIT) $(CP8859_1UNIT) $(CP8859_2UNIT) $(CP8859_3UNIT) $(CP8859_4UNIT) \
  872. $(CP8859_5UNIT) $(CP8859_6UNIT) $(CP8859_7UNIT) $(CP8859_8UNIT) $(CP8859_9UNIT) $(CP8859_10UNIT) $(CP8859_11UNIT) \
  873. $(CP8859_13UNIT) $(CP8859_14UNIT) $(CP8859_15UNIT) $(CP8859_16UNIT) $(CPKOI8_RUNIT) $(CPKOI8_UUNIT)
  874. CPUNITS=$(addprefix $(NS_CPUNITS),$(CPUNITSBASE))
  875. RTL=..
  876. INC=$(RTL)/inc
  877. COMMON=$(RTL)/common
  878. PROCINC=$(RTL)/$(CPU_TARGET)
  879. UNITPREFIX=rtl
  880. LOADERS=
  881. SYSTEMUNIT=system
  882. ifdef RELEASE
  883. override FPCOPT+=-Ur
  884. endif
  885. OBJPASDIR=$(RTL)/objpas
  886. ifeq ($(CPU_OS_TARGET),m68k-sinclairql)
  887. override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas iso7185 buildrtl cpall
  888. endif
  889. ifeq ($(CPU_OS_TARGET),m68k-sinclairql)
  890. override TARGET_IMPLICITUNITS+=si_prc ctypes rtlconsts strings sortbase charset fpwidestring cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 cp437 cp646 cp737 cp775 cp850 cp852 cp855 cp856 cp857 cp860 cp861 cp862 cp863 cp864 cp865 cp866 cp869 cp874 cp3021 cp8859_1 cp8859_2 cp8859_3 cp8859_4 cp8859_5 cp8859_6 cp8859_7 cp8859_8 cp8859_9 cp8859_10 cp8859_11 cp8859_13 cp8859_14 cp8859_15 cp8859_16 cpkoi8_r cpkoi8_u unicodedata
  891. endif
  892. ifeq ($(CPU_OS_TARGET),m68k-sinclairql)
  893. override TARGET_LOADERS+=$(LOADERS)
  894. endif
  895. ifeq ($(CPU_OS_TARGET),m68k-sinclairql)
  896. override TARGET_RSTS+=math rtlconsts typinfo classes sysconst
  897. endif
  898. override INSTALL_FPCPACKAGE=y y
  899. ifeq ($(CPU_OS_TARGET),m68k-sinclairql)
  900. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(CPU_TARGET)
  901. endif
  902. ifeq ($(CPU_OS_TARGET),m68k-sinclairql)
  903. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(CPU_TARGET) $(COMMON)
  904. endif
  905. ifdef REQUIRE_UNITSDIR
  906. override UNITSDIR+=$(REQUIRE_UNITSDIR)
  907. endif
  908. ifdef REQUIRE_PACKAGESDIR
  909. override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
  910. endif
  911. ifdef ZIPINSTALL
  912. ifneq ($(filter $(OS_TARGET),$(UNIXs)),)
  913. UNIXHier=1
  914. endif
  915. else
  916. ifneq ($(filter $(OS_SOURCE),$(UNIXs)),)
  917. UNIXHier=1
  918. endif
  919. endif
  920. ifndef INSTALL_PREFIX
  921. ifdef PREFIX
  922. INSTALL_PREFIX=$(PREFIX)
  923. endif
  924. endif
  925. ifndef INSTALL_PREFIX
  926. ifdef UNIXHier
  927. INSTALL_PREFIX=/usr/local
  928. else
  929. ifdef INSTALL_FPCPACKAGE
  930. INSTALL_BASEDIR:=/pp
  931. else
  932. INSTALL_BASEDIR:=/$(PACKAGE_NAME)
  933. endif
  934. endif
  935. endif
  936. export INSTALL_PREFIX
  937. ifdef INSTALL_FPCSUBDIR
  938. export INSTALL_FPCSUBDIR
  939. endif
  940. ifndef DIST_DESTDIR
  941. DIST_DESTDIR:=$(BASEDIR)
  942. endif
  943. export DIST_DESTDIR
  944. ifndef COMPILER_UNITTARGETDIR
  945. ifdef PACKAGEDIR_MAIN
  946. COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX)
  947. else
  948. COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX)
  949. endif
  950. endif
  951. ifndef COMPILER_TARGETDIR
  952. COMPILER_TARGETDIR=.
  953. endif
  954. ifndef INSTALL_BASEDIR
  955. ifdef UNIXHier
  956. ifdef INSTALL_FPCPACKAGE
  957. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
  958. else
  959. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
  960. endif
  961. else
  962. INSTALL_BASEDIR:=$(INSTALL_PREFIX)
  963. endif
  964. endif
  965. ifndef INSTALL_BINDIR
  966. ifdef UNIXHier
  967. INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
  968. else
  969. INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
  970. ifdef INSTALL_FPCPACKAGE
  971. ifdef CROSSCOMPILE
  972. ifdef CROSSINSTALL
  973. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX)
  974. else
  975. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
  976. endif
  977. else
  978. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
  979. endif
  980. endif
  981. endif
  982. endif
  983. ifndef INSTALL_UNITDIR
  984. INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX)
  985. ifdef INSTALL_FPCPACKAGE
  986. ifdef PACKAGE_NAME
  987. INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
  988. endif
  989. endif
  990. endif
  991. ifndef INSTALL_LIBDIR
  992. ifdef UNIXHier
  993. INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
  994. else
  995. INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
  996. endif
  997. endif
  998. ifndef INSTALL_SOURCEDIR
  999. ifdef UNIXHier
  1000. ifdef BSDhier
  1001. SRCPREFIXDIR=share/src
  1002. else
  1003. ifdef linuxHier
  1004. SRCPREFIXDIR=share/src
  1005. else
  1006. SRCPREFIXDIR=src
  1007. endif
  1008. endif
  1009. ifdef INSTALL_FPCPACKAGE
  1010. ifdef INSTALL_FPCSUBDIR
  1011. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
  1012. else
  1013. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  1014. endif
  1015. else
  1016. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  1017. endif
  1018. else
  1019. ifdef INSTALL_FPCPACKAGE
  1020. ifdef INSTALL_FPCSUBDIR
  1021. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
  1022. else
  1023. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
  1024. endif
  1025. else
  1026. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
  1027. endif
  1028. endif
  1029. endif
  1030. ifndef INSTALL_DOCDIR
  1031. ifdef UNIXHier
  1032. ifdef BSDhier
  1033. DOCPREFIXDIR=share/doc
  1034. else
  1035. ifdef linuxHier
  1036. DOCPREFIXDIR=share/doc
  1037. else
  1038. DOCPREFIXDIR=doc
  1039. endif
  1040. endif
  1041. ifdef INSTALL_FPCPACKAGE
  1042. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  1043. else
  1044. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  1045. endif
  1046. else
  1047. ifdef INSTALL_FPCPACKAGE
  1048. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
  1049. else
  1050. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
  1051. endif
  1052. endif
  1053. endif
  1054. ifndef INSTALL_EXAMPLEDIR
  1055. ifdef UNIXHier
  1056. ifdef INSTALL_FPCPACKAGE
  1057. ifdef BSDhier
  1058. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  1059. else
  1060. ifdef linuxHier
  1061. INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
  1062. else
  1063. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
  1064. endif
  1065. endif
  1066. else
  1067. ifdef BSDhier
  1068. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  1069. else
  1070. ifdef linuxHier
  1071. INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  1072. else
  1073. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  1074. endif
  1075. endif
  1076. endif
  1077. else
  1078. ifdef INSTALL_FPCPACKAGE
  1079. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
  1080. else
  1081. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
  1082. endif
  1083. endif
  1084. endif
  1085. ifndef INSTALL_DATADIR
  1086. INSTALL_DATADIR=$(INSTALL_BASEDIR)
  1087. endif
  1088. ifndef INSTALL_SHAREDDIR
  1089. INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib
  1090. endif
  1091. ifdef CROSSCOMPILE
  1092. ifndef CROSSBINDIR
  1093. CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
  1094. ifeq ($(CROSSBINDIR),)
  1095. CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE))
  1096. endif
  1097. endif
  1098. else
  1099. CROSSBINDIR=
  1100. endif
  1101. BATCHEXT=.bat
  1102. LOADEREXT=.as
  1103. EXEEXT=.exe
  1104. PPLEXT=.ppl
  1105. PPUEXT=.ppu
  1106. OEXT=.o
  1107. LTOEXT=.bc
  1108. ASMEXT=.s
  1109. SMARTEXT=.sl
  1110. STATICLIBEXT=.a
  1111. SHAREDLIBEXT=.so
  1112. SHAREDLIBPREFIX=libfp
  1113. STATICLIBPREFIX=libp
  1114. IMPORTLIBPREFIX=libimp
  1115. RSTEXT=.rst
  1116. EXEDBGEXT=.dbg
  1117. ifeq ($(OS_TARGET),go32v1)
  1118. STATICLIBPREFIX=
  1119. SHORTSUFFIX=v1
  1120. endif
  1121. ifeq ($(OS_TARGET),go32v2)
  1122. STATICLIBPREFIX=
  1123. SHORTSUFFIX=dos
  1124. IMPORTLIBPREFIX=
  1125. endif
  1126. ifeq ($(OS_TARGET),watcom)
  1127. STATICLIBPREFIX=
  1128. OEXT=.obj
  1129. ASMEXT=.asm
  1130. SHAREDLIBEXT=.dll
  1131. SHORTSUFFIX=wat
  1132. IMPORTLIBPREFIX=
  1133. endif
  1134. ifneq ($(CPU_TARGET),jvm)
  1135. ifeq ($(OS_TARGET),android)
  1136. BATCHEXT=.sh
  1137. EXEEXT=
  1138. HASSHAREDLIB=1
  1139. SHORTSUFFIX=lnx
  1140. endif
  1141. endif
  1142. ifeq ($(OS_TARGET),linux)
  1143. BATCHEXT=.sh
  1144. EXEEXT=
  1145. HASSHAREDLIB=1
  1146. SHORTSUFFIX=lnx
  1147. endif
  1148. ifeq ($(OS_TARGET),dragonfly)
  1149. BATCHEXT=.sh
  1150. EXEEXT=
  1151. HASSHAREDLIB=1
  1152. SHORTSUFFIX=df
  1153. endif
  1154. ifeq ($(OS_TARGET),freebsd)
  1155. BATCHEXT=.sh
  1156. EXEEXT=
  1157. HASSHAREDLIB=1
  1158. SHORTSUFFIX=fbs
  1159. endif
  1160. ifeq ($(OS_TARGET),netbsd)
  1161. BATCHEXT=.sh
  1162. EXEEXT=
  1163. HASSHAREDLIB=1
  1164. SHORTSUFFIX=nbs
  1165. endif
  1166. ifeq ($(OS_TARGET),openbsd)
  1167. BATCHEXT=.sh
  1168. EXEEXT=
  1169. HASSHAREDLIB=1
  1170. SHORTSUFFIX=obs
  1171. endif
  1172. ifeq ($(OS_TARGET),win32)
  1173. SHAREDLIBEXT=.dll
  1174. SHORTSUFFIX=w32
  1175. endif
  1176. ifeq ($(OS_TARGET),os2)
  1177. BATCHEXT=.cmd
  1178. AOUTEXT=.out
  1179. STATICLIBPREFIX=
  1180. SHAREDLIBEXT=.dll
  1181. SHORTSUFFIX=os2
  1182. ECHO=echo
  1183. IMPORTLIBPREFIX=
  1184. endif
  1185. ifeq ($(OS_TARGET),emx)
  1186. BATCHEXT=.cmd
  1187. AOUTEXT=.out
  1188. STATICLIBPREFIX=
  1189. SHAREDLIBEXT=.dll
  1190. SHORTSUFFIX=emx
  1191. ECHO=echo
  1192. IMPORTLIBPREFIX=
  1193. endif
  1194. ifeq ($(OS_TARGET),amiga)
  1195. EXEEXT=
  1196. SHAREDLIBEXT=.library
  1197. SHORTSUFFIX=amg
  1198. endif
  1199. ifeq ($(OS_TARGET),aros)
  1200. EXEEXT=
  1201. SHAREDLIBEXT=.library
  1202. SHORTSUFFIX=aros
  1203. endif
  1204. ifeq ($(OS_TARGET),morphos)
  1205. EXEEXT=
  1206. SHAREDLIBEXT=.library
  1207. SHORTSUFFIX=mos
  1208. endif
  1209. ifeq ($(OS_TARGET),atari)
  1210. EXEEXT=.ttp
  1211. SHORTSUFFIX=ata
  1212. endif
  1213. ifeq ($(OS_TARGET),beos)
  1214. BATCHEXT=.sh
  1215. EXEEXT=
  1216. SHORTSUFFIX=be
  1217. endif
  1218. ifeq ($(OS_TARGET),haiku)
  1219. BATCHEXT=.sh
  1220. EXEEXT=
  1221. SHORTSUFFIX=hai
  1222. endif
  1223. ifeq ($(OS_TARGET),solaris)
  1224. BATCHEXT=.sh
  1225. EXEEXT=
  1226. SHORTSUFFIX=sun
  1227. endif
  1228. ifeq ($(OS_TARGET),qnx)
  1229. BATCHEXT=.sh
  1230. EXEEXT=
  1231. SHORTSUFFIX=qnx
  1232. endif
  1233. ifeq ($(OS_TARGET),netware)
  1234. EXEEXT=.nlm
  1235. STATICLIBPREFIX=
  1236. SHORTSUFFIX=nw
  1237. IMPORTLIBPREFIX=imp
  1238. endif
  1239. ifeq ($(OS_TARGET),netwlibc)
  1240. EXEEXT=.nlm
  1241. STATICLIBPREFIX=
  1242. SHORTSUFFIX=nwl
  1243. IMPORTLIBPREFIX=imp
  1244. endif
  1245. ifeq ($(OS_TARGET),macosclassic)
  1246. BATCHEXT=
  1247. EXEEXT=
  1248. DEBUGSYMEXT=.xcoff
  1249. SHORTSUFFIX=mac
  1250. IMPORTLIBPREFIX=imp
  1251. endif
  1252. ifneq ($(filter $(OS_TARGET),darwin iphonesim ios),)
  1253. BATCHEXT=.sh
  1254. EXEEXT=
  1255. HASSHAREDLIB=1
  1256. SHORTSUFFIX=dwn
  1257. EXEDBGEXT=.dSYM
  1258. endif
  1259. ifeq ($(OS_TARGET),gba)
  1260. EXEEXT=.gba
  1261. SHAREDLIBEXT=.so
  1262. SHORTSUFFIX=gba
  1263. endif
  1264. ifeq ($(OS_TARGET),symbian)
  1265. SHAREDLIBEXT=.dll
  1266. SHORTSUFFIX=symbian
  1267. endif
  1268. ifeq ($(OS_TARGET),NativeNT)
  1269. SHAREDLIBEXT=.dll
  1270. SHORTSUFFIX=nativent
  1271. endif
  1272. ifeq ($(OS_TARGET),wii)
  1273. EXEEXT=.dol
  1274. SHAREDLIBEXT=.so
  1275. SHORTSUFFIX=wii
  1276. endif
  1277. ifeq ($(OS_TARGET),aix)
  1278. BATCHEXT=.sh
  1279. EXEEXT=
  1280. SHAREDLIBEXT=.a
  1281. SHORTSUFFIX=aix
  1282. endif
  1283. ifeq ($(OS_TARGET),java)
  1284. OEXT=.class
  1285. ASMEXT=.j
  1286. SHAREDLIBEXT=.jar
  1287. SHORTSUFFIX=java
  1288. endif
  1289. ifeq ($(CPU_TARGET),jvm)
  1290. ifeq ($(OS_TARGET),android)
  1291. OEXT=.class
  1292. ASMEXT=.j
  1293. SHAREDLIBEXT=.jar
  1294. SHORTSUFFIX=android
  1295. endif
  1296. endif
  1297. ifeq ($(OS_TARGET),msdos)
  1298. STATICLIBPREFIX=
  1299. STATICLIBEXT=.a
  1300. SHORTSUFFIX=d16
  1301. endif
  1302. ifeq ($(OS_TARGET),msxdos)
  1303. STATICLIBPREFIX=
  1304. STATICLIBEXT=.a
  1305. SHORTSUFFIX=msd
  1306. endif
  1307. ifeq ($(OS_TARGET),embedded)
  1308. ifeq ($(CPU_TARGET),i8086)
  1309. STATICLIBPREFIX=
  1310. STATICLIBEXT=.a
  1311. else
  1312. EXEEXT=.bin
  1313. endif
  1314. ifeq ($(CPU_TARGET),z80)
  1315. OEXT=.rel
  1316. endif
  1317. SHORTSUFFIX=emb
  1318. endif
  1319. ifeq ($(OS_TARGET),win16)
  1320. STATICLIBPREFIX=
  1321. STATICLIBEXT=.a
  1322. SHAREDLIBEXT=.dll
  1323. SHORTSUFFIX=w16
  1324. endif
  1325. ifeq ($(OS_TARGET),zxspectrum)
  1326. OEXT=.rel
  1327. endif
  1328. ifeq ($(OS_TARGET),wasi)
  1329. EXEEXT=.wasm
  1330. endif
  1331. ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
  1332. FPCMADE=fpcmade.$(SHORTSUFFIX)
  1333. ZIPSUFFIX=$(SHORTSUFFIX)
  1334. ZIPCROSSPREFIX=
  1335. ZIPSOURCESUFFIX=src
  1336. ZIPEXAMPLESUFFIX=exm
  1337. else
  1338. FPCMADE=fpcmade.$(TARGETSUFFIX)
  1339. ZIPSOURCESUFFIX=.source
  1340. ZIPEXAMPLESUFFIX=.examples
  1341. ifdef CROSSCOMPILE
  1342. ZIPSUFFIX=.$(SOURCESUFFIX)
  1343. ZIPCROSSPREFIX=$(TARGETSUFFIX)-
  1344. else
  1345. ZIPSUFFIX=.$(TARGETSUFFIX)
  1346. ZIPCROSSPREFIX=
  1347. endif
  1348. endif
  1349. ifndef ECHO
  1350. ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
  1351. ifeq ($(ECHO),)
  1352. ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
  1353. ifeq ($(ECHO),)
  1354. ECHO= __missing_command_ECHO
  1355. else
  1356. ECHO:=$(firstword $(ECHO))
  1357. endif
  1358. else
  1359. ECHO:=$(firstword $(ECHO))
  1360. endif
  1361. endif
  1362. export ECHO
  1363. ifndef DATE
  1364. DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
  1365. ifeq ($(DATE),)
  1366. DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
  1367. ifeq ($(DATE),)
  1368. DATE= __missing_command_DATE
  1369. else
  1370. DATE:=$(firstword $(DATE))
  1371. endif
  1372. else
  1373. DATE:=$(firstword $(DATE))
  1374. endif
  1375. endif
  1376. export DATE
  1377. ifndef GINSTALL
  1378. GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
  1379. ifeq ($(GINSTALL),)
  1380. GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
  1381. ifeq ($(GINSTALL),)
  1382. GINSTALL= __missing_command_GINSTALL
  1383. else
  1384. GINSTALL:=$(firstword $(GINSTALL))
  1385. endif
  1386. else
  1387. GINSTALL:=$(firstword $(GINSTALL))
  1388. endif
  1389. endif
  1390. export GINSTALL
  1391. ifndef CPPROG
  1392. CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
  1393. ifeq ($(CPPROG),)
  1394. CPPROG= __missing_command_CPPROG
  1395. else
  1396. CPPROG:=$(firstword $(CPPROG))
  1397. endif
  1398. endif
  1399. export CPPROG
  1400. ifndef RMPROG
  1401. RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
  1402. ifeq ($(RMPROG),)
  1403. RMPROG= __missing_command_RMPROG
  1404. else
  1405. RMPROG:=$(firstword $(RMPROG))
  1406. endif
  1407. endif
  1408. export RMPROG
  1409. ifndef MVPROG
  1410. MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
  1411. ifeq ($(MVPROG),)
  1412. MVPROG= __missing_command_MVPROG
  1413. else
  1414. MVPROG:=$(firstword $(MVPROG))
  1415. endif
  1416. endif
  1417. export MVPROG
  1418. ifndef MKDIRPROG
  1419. MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH))))
  1420. ifeq ($(MKDIRPROG),)
  1421. MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH))))
  1422. ifeq ($(MKDIRPROG),)
  1423. MKDIRPROG= __missing_command_MKDIRPROG
  1424. else
  1425. MKDIRPROG:=$(firstword $(MKDIRPROG))
  1426. endif
  1427. else
  1428. MKDIRPROG:=$(firstword $(MKDIRPROG))
  1429. endif
  1430. endif
  1431. export MKDIRPROG
  1432. ifndef ECHOREDIR
  1433. ifndef inUnix
  1434. ECHOREDIR=echo
  1435. else
  1436. ECHOREDIR=$(ECHO)
  1437. endif
  1438. endif
  1439. ifndef COPY
  1440. COPY:=$(CPPROG) -fp
  1441. endif
  1442. ifndef COPYTREE
  1443. COPYTREE:=$(CPPROG) -Rfp
  1444. endif
  1445. ifndef MKDIRTREE
  1446. MKDIRTREE:=$(MKDIRPROG) -p
  1447. endif
  1448. ifndef MOVE
  1449. MOVE:=$(MVPROG) -f
  1450. endif
  1451. ifndef DEL
  1452. DEL:=$(RMPROG) -f
  1453. endif
  1454. ifndef DELTREE
  1455. DELTREE:=$(RMPROG) -rf
  1456. endif
  1457. ifndef INSTALL
  1458. ifdef inUnix
  1459. INSTALL:=$(GINSTALL) -c -m 644
  1460. else
  1461. INSTALL:=$(COPY)
  1462. endif
  1463. endif
  1464. ifndef INSTALLEXE
  1465. ifdef inUnix
  1466. INSTALLEXE:=$(GINSTALL) -c -m 755
  1467. else
  1468. INSTALLEXE:=$(COPY)
  1469. endif
  1470. endif
  1471. ifndef MKDIR
  1472. MKDIR:=$(GINSTALL) -m 755 -d
  1473. endif
  1474. export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
  1475. ifndef PPUMOVE
  1476. PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
  1477. ifeq ($(PPUMOVE),)
  1478. PPUMOVE= __missing_command_PPUMOVE
  1479. else
  1480. PPUMOVE:=$(firstword $(PPUMOVE))
  1481. endif
  1482. endif
  1483. export PPUMOVE
  1484. ifndef FPCMAKE
  1485. FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
  1486. ifeq ($(FPCMAKE),)
  1487. FPCMAKE= __missing_command_FPCMAKE
  1488. else
  1489. FPCMAKE:=$(firstword $(FPCMAKE))
  1490. endif
  1491. endif
  1492. export FPCMAKE
  1493. ifndef ZIPPROG
  1494. ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
  1495. ifeq ($(ZIPPROG),)
  1496. ZIPPROG= __missing_command_ZIPPROG
  1497. else
  1498. ZIPPROG:=$(firstword $(ZIPPROG))
  1499. endif
  1500. endif
  1501. export ZIPPROG
  1502. ifndef TARPROG
  1503. TARPROG:=$(strip $(wildcard $(addsuffix /gtar$(SRCEXEEXT),$(SEARCHPATH))))
  1504. ifeq ($(TARPROG),)
  1505. TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
  1506. ifeq ($(TARPROG),)
  1507. TARPROG= __missing_command_TARPROG
  1508. else
  1509. TARPROG:=$(firstword $(TARPROG))
  1510. endif
  1511. else
  1512. TARPROG:=$(firstword $(TARPROG))
  1513. endif
  1514. endif
  1515. export TARPROG
  1516. ASNAME=$(BINUTILSPREFIX)as
  1517. LDNAME=$(BINUTILSPREFIX)ld
  1518. ARNAME=$(BINUTILSPREFIX)ar
  1519. RCNAME=$(BINUTILSPREFIX)rc
  1520. NASMNAME=$(BINUTILSPREFIX)nasm
  1521. ifndef ASPROG
  1522. ifdef CROSSBINDIR
  1523. ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
  1524. else
  1525. ASPROG=$(ASNAME)
  1526. endif
  1527. endif
  1528. ifndef LDPROG
  1529. ifdef CROSSBINDIR
  1530. LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
  1531. else
  1532. LDPROG=$(LDNAME)
  1533. endif
  1534. endif
  1535. ifndef RCPROG
  1536. ifdef CROSSBINDIR
  1537. RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
  1538. else
  1539. RCPROG=$(RCNAME)
  1540. endif
  1541. endif
  1542. ifndef ARPROG
  1543. ifdef CROSSBINDIR
  1544. ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
  1545. else
  1546. ARPROG=$(ARNAME)
  1547. endif
  1548. endif
  1549. ifndef NASMPROG
  1550. ifdef CROSSBINDIR
  1551. NASMPROG=$(CROSSBINDIR)/$(NASMNAME)$(SRCEXEEXT)
  1552. else
  1553. NASMPROG=$(NASMNAME)
  1554. endif
  1555. endif
  1556. AS=$(ASPROG)
  1557. LD=$(LDPROG)
  1558. RC=$(RCPROG)
  1559. AR=$(ARPROG)
  1560. NASM=$(NASMPROG)
  1561. ifdef inUnix
  1562. PPAS=./ppas$(SRCBATCHEXT)
  1563. else
  1564. PPAS=ppas$(SRCBATCHEXT)
  1565. endif
  1566. ifdef inUnix
  1567. LDCONFIG=ldconfig
  1568. else
  1569. LDCONFIG=
  1570. endif
  1571. ifdef DATE
  1572. DATESTR:=$(shell $(DATE) +%Y%m%d)
  1573. else
  1574. DATESTR=
  1575. endif
  1576. ZIPOPT=-9
  1577. ZIPEXT=.zip
  1578. ifeq ($(USETAR),bz2)
  1579. TAROPT=vj
  1580. TAREXT=.tar.bz2
  1581. else
  1582. TAROPT=vz
  1583. TAREXT=.tar.gz
  1584. endif
  1585. ifndef NOCPUDEF
  1586. override FPCOPTDEF=$(ARCH)
  1587. endif
  1588. ifneq ($(OS_TARGET),$(OS_SOURCE))
  1589. override FPCOPT+=-T$(OS_TARGET)
  1590. endif
  1591. ifneq ($(CPU_TARGET),$(CPU_SOURCE))
  1592. override FPCOPT+=-P$(ARCH)
  1593. endif
  1594. ifeq ($(OS_SOURCE),openbsd)
  1595. override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
  1596. override FPCMAKEOPT+=-FD$(NEW_BINUTILS_PATH)
  1597. override FPMAKE_BUILD_OPT+=-FD$(NEW_BINUTILS_PATH)
  1598. endif
  1599. ifndef CROSSBOOTSTRAP
  1600. ifneq ($(BINUTILSPREFIX),)
  1601. override FPCOPT+=-XP$(BINUTILSPREFIX)
  1602. ifneq ($(RLINKPATH),)
  1603. override FPCOPT+=-Xr$(RLINKPATH)
  1604. endif
  1605. endif
  1606. endif
  1607. ifndef CROSSCOMPILE
  1608. ifneq ($(BINUTILSPREFIX),)
  1609. override FPCMAKEOPT+=-XP$(BINUTILSPREFIX)
  1610. override FPMAKE_BUILD_OPT+=-XP$(BINUTILSPREFIX)
  1611. endif
  1612. endif
  1613. ifdef UNITDIR
  1614. override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
  1615. endif
  1616. ifdef LIBDIR
  1617. override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
  1618. endif
  1619. ifdef OBJDIR
  1620. override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
  1621. endif
  1622. ifdef INCDIR
  1623. override FPCOPT+=$(addprefix -Fi,$(INCDIR))
  1624. endif
  1625. ifdef LINKSMART
  1626. override FPCOPT+=-XX
  1627. endif
  1628. ifdef CREATESMART
  1629. override FPCOPT+=-CX
  1630. endif
  1631. ifdef DEBUG
  1632. override FPCOPT+=-gl
  1633. override FPCOPTDEF+=DEBUG
  1634. endif
  1635. ifdef RELEASE
  1636. FPCCPUOPT:=-O2
  1637. override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
  1638. override FPCOPTDEF+=RELEASE
  1639. endif
  1640. ifdef STRIP
  1641. override FPCOPT+=-Xs
  1642. endif
  1643. ifdef OPTIMIZE
  1644. override FPCOPT+=-O2
  1645. endif
  1646. ifdef VERBOSE
  1647. override FPCOPT+=-vwni
  1648. endif
  1649. ifdef COMPILER_OPTIONS
  1650. override FPCOPT+=$(COMPILER_OPTIONS)
  1651. endif
  1652. ifdef COMPILER_UNITDIR
  1653. override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
  1654. endif
  1655. ifdef COMPILER_LIBRARYDIR
  1656. override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
  1657. endif
  1658. ifdef COMPILER_OBJECTDIR
  1659. override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
  1660. endif
  1661. ifdef COMPILER_INCLUDEDIR
  1662. override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
  1663. endif
  1664. ifdef CROSSBINDIR
  1665. override FPCOPT+=-FD$(CROSSBINDIR)
  1666. endif
  1667. ifdef COMPILER_TARGETDIR
  1668. override FPCOPT+=-FE$(COMPILER_TARGETDIR)
  1669. ifeq ($(COMPILER_TARGETDIR),.)
  1670. override TARGETDIRPREFIX=
  1671. else
  1672. override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
  1673. endif
  1674. endif
  1675. ifdef COMPILER_UNITTARGETDIR
  1676. override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
  1677. ifeq ($(COMPILER_UNITTARGETDIR),.)
  1678. override UNITTARGETDIRPREFIX=
  1679. else
  1680. override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
  1681. endif
  1682. else
  1683. ifdef COMPILER_TARGETDIR
  1684. override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
  1685. override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
  1686. endif
  1687. endif
  1688. ifdef SYSROOTPATH
  1689. override FPCOPT+=-XR$(SYSROOTPATH)
  1690. else
  1691. ifeq ($(OS_TARGET),$(OS_SOURCE))
  1692. ifeq ($(OS_TARGET),darwin)
  1693. ifeq ($(CPU_TARGET),aarch64)
  1694. ifneq ($(wildcard /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk),)
  1695. override FPCOPT+=-XR/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
  1696. endif
  1697. endif
  1698. endif
  1699. endif
  1700. endif
  1701. ifdef CREATESHARED
  1702. override FPCOPT+=-Cg
  1703. endif
  1704. ifneq ($(filter $(OS_TARGET),dragonfly freebsd openbsd netbsd linux solaris),)
  1705. ifneq ($(filter $(CPU_TARGET),x86_64 mips mipsel mips64 mips64el riscv64 powerpc64),)
  1706. override FPCOPT+=-Cg
  1707. endif
  1708. endif
  1709. ifneq ($(filter $(CPU_TARGET),z80),)
  1710. override FPCOPT+=-CX -XX
  1711. endif
  1712. ifdef LINKSHARED
  1713. endif
  1714. ifdef OPT
  1715. override FPCOPT+=$(OPT)
  1716. endif
  1717. ifdef FPMAKEBUILDOPT
  1718. override FPMAKE_BUILD_OPT+=$(FPMAKEBUILDOPT)
  1719. endif
  1720. ifdef FPCOPTDEF
  1721. override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
  1722. endif
  1723. ifdef CFGFILE
  1724. override FPCOPT+=@$(CFGFILE)
  1725. endif
  1726. ifdef USEENV
  1727. override FPCEXTCMD:=$(FPCOPT)
  1728. override FPCOPT:=!FPCEXTCMD
  1729. export FPCEXTCMD
  1730. endif
  1731. override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
  1732. override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
  1733. ifneq ($(AFULL_TARGET),$(AFULL_SOURCE))
  1734. override ACROSSCOMPILE=1
  1735. endif
  1736. ifdef ACROSSCOMPILE
  1737. override FPCOPT+=$(CROSSOPT)
  1738. endif
  1739. override COMPILER:=$(strip $(FPC) $(FPCOPT))
  1740. ifneq (,$(filter -sh,$(COMPILER)))
  1741. UseEXECPPAS=1
  1742. endif
  1743. ifneq (,$(filter -s,$(COMPILER)))
  1744. ifeq ($(FULL_SOURCE),$(FULL_TARGET))
  1745. UseEXECPPAS=1
  1746. endif
  1747. endif
  1748. ifneq ($(UseEXECPPAS),1)
  1749. EXECPPAS=
  1750. else
  1751. ifdef RUNBATCH
  1752. EXECPPAS:=@$(RUNBATCH) $(PPAS)
  1753. else
  1754. EXECPPAS:=@$(PPAS)
  1755. endif
  1756. endif
  1757. .PHONY: fpc_loaders
  1758. ifneq ($(TARGET_LOADERS),)
  1759. override ALLTARGET+=fpc_loaders
  1760. override CLEANTARGET+=fpc_loaders_clean
  1761. override INSTALLTARGET+=fpc_loaders_install
  1762. override LOADEROFILES:=$(addsuffix $(OEXT),$(TARGET_LOADERS))
  1763. endif
  1764. %$(OEXT): %$(LOADEREXT)
  1765. ifdef COMPILER_UNITTARGETDIR
  1766. $(AS) -o $(COMPILER_UNITTARGETDIR)/$*$(OEXT) $<
  1767. else
  1768. $(AS) -o $*$(OEXT) $<
  1769. endif
  1770. fpc_loaders: $(COMPILER_UNITTARGETDIR) $(LOADEROFILES)
  1771. fpc_loaders_clean:
  1772. ifdef COMPILER_UNITTARGETDIR
  1773. -$(DEL) $(addprefix $(COMPILER_UNITTARGETDIR)/,$(LOADEROFILES))
  1774. else
  1775. -$(DEL) $(LOADEROFILES)
  1776. endif
  1777. fpc_loaders_install:
  1778. $(MKDIR) $(INSTALL_UNITDIR)
  1779. ifdef COMPILER_UNITTARGETDIR
  1780. $(INSTALL) $(addprefix $(COMPILER_UNITTARGETDIR)/,$(LOADEROFILES)) $(INSTALL_UNITDIR)
  1781. else
  1782. $(INSTALL) $(LOADEROFILES) $(INSTALL_UNITDIR)
  1783. endif
  1784. .PHONY: fpc_units
  1785. ifneq ($(TARGET_UNITS)$(TARGET_IMPLICITUNITS),)
  1786. override ALLTARGET+=fpc_units
  1787. override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS))
  1788. override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS))
  1789. override INSTALLPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
  1790. override CLEANPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
  1791. endif
  1792. fpc_units: $(COMPILER_UNITTARGETDIR) $(UNITPPUFILES)
  1793. ifdef TARGET_RSTS
  1794. override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
  1795. override CLEANRSTFILES+=$(RSTFILES)
  1796. endif
  1797. .PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared
  1798. $(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
  1799. @$(ECHOREDIR) Compiled > $(FPCMADE)
  1800. fpc_all: $(FPCMADE)
  1801. fpc_smart:
  1802. $(MAKE) all LINKSMART=1 CREATESMART=1
  1803. fpc_debug:
  1804. $(MAKE) all DEBUG=1
  1805. fpc_release:
  1806. $(MAKE) all RELEASE=1
  1807. .SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) $(LTOEXT) .pas .lpr .dpr .pp .rc .res
  1808. $(COMPILER_UNITTARGETDIR):
  1809. $(MKDIRTREE) $(COMPILER_UNITTARGETDIR)
  1810. $(COMPILER_TARGETDIR):
  1811. $(MKDIRTREE) $(COMPILER_TARGETDIR)
  1812. %$(PPUEXT): %.pp
  1813. $(COMPILER) $<
  1814. $(EXECPPAS)
  1815. %$(PPUEXT): %.pas
  1816. $(COMPILER) $<
  1817. $(EXECPPAS)
  1818. %$(EXEEXT): %.pp
  1819. $(COMPILER) $<
  1820. $(EXECPPAS)
  1821. %$(EXEEXT): %.pas
  1822. $(COMPILER) $<
  1823. $(EXECPPAS)
  1824. %$(EXEEXT): %.lpr
  1825. $(COMPILER) $<
  1826. $(EXECPPAS)
  1827. %$(EXEEXT): %.dpr
  1828. $(COMPILER) $<
  1829. $(EXECPPAS)
  1830. %.res: %.rc
  1831. windres -i $< -o $@
  1832. vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1833. vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1834. vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1835. vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1836. vpath %.inc $(COMPILER_INCLUDEDIR)
  1837. vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
  1838. vpath %$(LTOEXT) $(COMPILER_UNITTARGETDIR)
  1839. vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
  1840. .PHONY: fpc_shared
  1841. override INSTALLTARGET+=fpc_shared_install
  1842. ifndef SHARED_LIBVERSION
  1843. SHARED_LIBVERSION=$(FPC_VERSION)
  1844. endif
  1845. ifndef SHARED_LIBNAME
  1846. SHARED_LIBNAME=$(PACKAGE_NAME)
  1847. endif
  1848. ifndef SHARED_FULLNAME
  1849. SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION)$(SHAREDLIBEXT)
  1850. endif
  1851. ifndef SHARED_LIBUNITS
  1852. SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS)
  1853. override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_LIBUNITS))
  1854. endif
  1855. fpc_shared:
  1856. ifdef HASSHAREDLIB
  1857. $(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1
  1858. ifneq ($(SHARED_BUILD),n)
  1859. $(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR) -P$(BINUTILSPREFIX)
  1860. endif
  1861. else
  1862. @$(ECHO) Shared Libraries not supported
  1863. endif
  1864. fpc_shared_install:
  1865. ifneq ($(SHARED_BUILD),n)
  1866. ifneq ($(SHARED_LIBUNITS),)
  1867. ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),)
  1868. $(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(INSTALL_SHAREDDIR)
  1869. endif
  1870. endif
  1871. endif
  1872. .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
  1873. ifdef INSTALL_UNITS
  1874. override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
  1875. endif
  1876. ifdef INSTALL_BUILDUNIT
  1877. override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
  1878. endif
  1879. ifdef INSTALLPPUFILES
  1880. ifneq ($(IMPORTLIBPREFIX)-$(STATICLIBEXT),$(STATICLIBPREFIX)-$(STATICLIBEXT))
  1881. override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(subst $(PPUEXT),$(LTOEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
  1882. else
  1883. override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(subst $(PPUEXT),$(LTOEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
  1884. endif
  1885. ifneq ($(UNITTARGETDIRPREFIX),)
  1886. override INSTALLPPUFILENAMES:=$(notdir $(INSTALLPPUFILES))
  1887. override INSTALLPPULINKFILENAMES:=$(notdir $(INSTALLPPULINKFILES))
  1888. override INSTALLPPUFILES=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILENAMES))
  1889. override INSTALLPPULINKFILES=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPULINKFILENAMES)))
  1890. endif
  1891. override INSTALL_CREATEPACKAGEFPC=1
  1892. endif
  1893. ifdef INSTALLEXEFILES
  1894. ifneq ($(TARGETDIRPREFIX),)
  1895. override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(notdir $(INSTALLEXEFILES)))
  1896. endif
  1897. endif
  1898. fpc_install: all $(INSTALLTARGET)
  1899. ifdef INSTALLEXEFILES
  1900. $(MKDIR) $(INSTALL_BINDIR)
  1901. $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
  1902. endif
  1903. ifdef INSTALL_CREATEPACKAGEFPC
  1904. ifdef FPCMAKE
  1905. ifdef PACKAGE_VERSION
  1906. ifneq ($(wildcard Makefile.fpc),)
  1907. $(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
  1908. $(MKDIR) $(INSTALL_UNITDIR)
  1909. $(INSTALL) Package.fpc $(INSTALL_UNITDIR)
  1910. endif
  1911. endif
  1912. endif
  1913. endif
  1914. ifdef INSTALLPPUFILES
  1915. $(MKDIR) $(INSTALL_UNITDIR)
  1916. $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
  1917. ifneq ($(INSTALLPPULINKFILES),)
  1918. $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
  1919. endif
  1920. ifneq ($(wildcard $(LIB_FULLNAME)),)
  1921. $(MKDIR) $(INSTALL_LIBDIR)
  1922. $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
  1923. ifdef inUnix
  1924. ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
  1925. endif
  1926. endif
  1927. endif
  1928. ifdef INSTALL_FILES
  1929. $(MKDIR) $(INSTALL_DATADIR)
  1930. $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
  1931. endif
  1932. fpc_sourceinstall: distclean
  1933. $(MKDIR) $(INSTALL_SOURCEDIR)
  1934. $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
  1935. fpc_exampleinstall: $(EXAMPLEINSTALLTARGET) $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
  1936. ifdef HASEXAMPLES
  1937. $(MKDIR) $(INSTALL_EXAMPLEDIR)
  1938. endif
  1939. ifdef EXAMPLESOURCEFILES
  1940. $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
  1941. endif
  1942. ifdef TARGET_EXAMPLEDIRS
  1943. $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
  1944. endif
  1945. .PHONY: fpc_clean fpc_cleanall fpc_distclean
  1946. ifdef EXEFILES
  1947. override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
  1948. override CLEANEXEDBGFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEDBGFILES))
  1949. endif
  1950. ifdef CLEAN_PROGRAMS
  1951. override CLEANEXEFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEEXT), $(CLEAN_PROGRAMS)))
  1952. override CLEANEXEDBGFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEDBGEXT), $(CLEAN_PROGRAMS)))
  1953. endif
  1954. ifdef CLEAN_UNITS
  1955. override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
  1956. endif
  1957. ifdef CLEANPPUFILES
  1958. override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(subst $(PPUEXT),$(LTOEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
  1959. ifdef DEBUGSYMEXT
  1960. override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
  1961. endif
  1962. override CLEANPPUFILENAMES:=$(CLEANPPUFILES)
  1963. override CLEANPPUFILES=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILENAMES))
  1964. override CLEANPPULINKFILENAMES:=$(CLEANPPULINKFILES)
  1965. override CLEANPPULINKFILES=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILENAMES)))
  1966. endif
  1967. fpc_clean: $(CLEANTARGET)
  1968. ifdef CLEANEXEFILES
  1969. -$(DEL) $(CLEANEXEFILES)
  1970. endif
  1971. ifdef CLEANEXEDBGFILES
  1972. -$(DELTREE) $(CLEANEXEDBGFILES)
  1973. endif
  1974. ifdef CLEANPPUFILES
  1975. -$(DEL) $(CLEANPPUFILES)
  1976. endif
  1977. ifneq ($(CLEANPPULINKFILES),)
  1978. -$(DEL) $(CLEANPPULINKFILES)
  1979. endif
  1980. ifdef CLEANRSTFILES
  1981. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  1982. endif
  1983. ifdef CLEAN_FILES
  1984. -$(DEL) $(CLEAN_FILES)
  1985. endif
  1986. ifdef LIB_NAME
  1987. -$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
  1988. endif
  1989. -$(DEL) $(FPCMADE) *$(FULL_TARGET).fpm Package.fpc *$(ASMEXT)
  1990. -$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_script.res *_link.res
  1991. -$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT)
  1992. fpc_cleanall: $(CLEANTARGET)
  1993. ifdef CLEANEXEFILES
  1994. -$(DEL) $(CLEANEXEFILES)
  1995. endif
  1996. ifdef COMPILER_UNITTARGETDIR
  1997. ifdef CLEANPPUFILES
  1998. -$(DEL) $(CLEANPPUFILES)
  1999. endif
  2000. ifneq ($(CLEANPPULINKFILES),)
  2001. -$(DEL) $(CLEANPPULINKFILES)
  2002. endif
  2003. ifdef CLEANRSTFILES
  2004. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  2005. endif
  2006. endif
  2007. ifdef CLEAN_FILES
  2008. -$(DEL) $(CLEAN_FILES)
  2009. endif
  2010. -$(DELTREE) units
  2011. -$(DELTREE) bin
  2012. -$(DEL) *$(OEXT) *$(LTOEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
  2013. ifneq ($(PPUEXT),.ppu)
  2014. -$(DEL) *.o *.ppu *.a
  2015. endif
  2016. -$(DELTREE) *$(SMARTEXT)
  2017. -$(DEL) fpcmade.* Package.fpc *.fpm
  2018. -$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_script.res *_link.res
  2019. -$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT)
  2020. ifdef AOUTEXT
  2021. -$(DEL) *$(AOUTEXT)
  2022. endif
  2023. ifdef DEBUGSYMEXT
  2024. -$(DEL) *$(DEBUGSYMEXT)
  2025. endif
  2026. ifdef LOCALFPMAKEBIN
  2027. -$(DEL) $(LOCALFPMAKEBIN)
  2028. -$(DEL) $(FPMAKEBINOBJ)
  2029. endif
  2030. fpc_distclean: cleanall
  2031. .PHONY: fpc_baseinfo
  2032. override INFORULES+=fpc_baseinfo
  2033. fpc_baseinfo:
  2034. @$(ECHO)
  2035. @$(ECHO) == Package info ==
  2036. @$(ECHO) Package Name..... $(PACKAGE_NAME)
  2037. @$(ECHO) Package Version.. $(PACKAGE_VERSION)
  2038. @$(ECHO)
  2039. @$(ECHO) == Configuration info ==
  2040. @$(ECHO)
  2041. @$(ECHO) FPC.......... $(FPC)
  2042. @$(ECHO) FPC Version.. $(FPC_VERSION)
  2043. @$(ECHO) Source CPU... $(CPU_SOURCE)
  2044. @$(ECHO) Target CPU... $(CPU_TARGET)
  2045. @$(ECHO) Source OS.... $(OS_SOURCE)
  2046. @$(ECHO) Target OS.... $(OS_TARGET)
  2047. @$(ECHO) Full Source.. $(FULL_SOURCE)
  2048. @$(ECHO) Full Target.. $(FULL_TARGET)
  2049. @$(ECHO) SourceSuffix. $(SOURCESUFFIX)
  2050. @$(ECHO) TargetSuffix. $(TARGETSUFFIX)
  2051. @$(ECHO) FPC fpmake... $(FPCFPMAKE)
  2052. @$(ECHO)
  2053. @$(ECHO) == Directory info ==
  2054. @$(ECHO)
  2055. @$(ECHO) Required pkgs... $(REQUIRE_PACKAGES)
  2056. @$(ECHO)
  2057. @$(ECHO) Basedir......... $(BASEDIR)
  2058. @$(ECHO) FPCDir.......... $(FPCDIR)
  2059. @$(ECHO) CrossBinDir..... $(CROSSBINDIR)
  2060. @$(ECHO) UnitsDir........ $(UNITSDIR)
  2061. @$(ECHO) PackagesDir..... $(PACKAGESDIR)
  2062. @$(ECHO)
  2063. @$(ECHO) GCC library..... $(GCCLIBDIR)
  2064. @$(ECHO) Other library... $(OTHERLIBDIR)
  2065. @$(ECHO)
  2066. @$(ECHO) == Tools info ==
  2067. @$(ECHO)
  2068. @$(ECHO) As........ $(AS)
  2069. @$(ECHO) Ld........ $(LD)
  2070. @$(ECHO) Ar........ $(AR)
  2071. @$(ECHO) Rc........ $(RC)
  2072. @$(ECHO)
  2073. @$(ECHO) Mv........ $(MVPROG)
  2074. @$(ECHO) Cp........ $(CPPROG)
  2075. @$(ECHO) Rm........ $(RMPROG)
  2076. @$(ECHO) GInstall.. $(GINSTALL)
  2077. @$(ECHO) Echo...... $(ECHO)
  2078. @$(ECHO) Shell..... $(SHELL)
  2079. @$(ECHO) Date...... $(DATE)
  2080. @$(ECHO) FPCMake... $(FPCMAKE)
  2081. @$(ECHO) PPUMove... $(PPUMOVE)
  2082. @$(ECHO) Zip....... $(ZIPPROG)
  2083. @$(ECHO)
  2084. @$(ECHO) == Object info ==
  2085. @$(ECHO)
  2086. @$(ECHO) Target Loaders........ $(TARGET_LOADERS)
  2087. @$(ECHO) Target Units.......... $(TARGET_UNITS)
  2088. @$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS)
  2089. @$(ECHO) Target Programs....... $(TARGET_PROGRAMS)
  2090. @$(ECHO) Target Dirs........... $(TARGET_DIRS)
  2091. @$(ECHO) Target Examples....... $(TARGET_EXAMPLES)
  2092. @$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
  2093. @$(ECHO)
  2094. @$(ECHO) Clean Units......... $(CLEAN_UNITS)
  2095. @$(ECHO) Clean Files......... $(CLEAN_FILES)
  2096. @$(ECHO)
  2097. @$(ECHO) Install Units....... $(INSTALL_UNITS)
  2098. @$(ECHO) Install Files....... $(INSTALL_FILES)
  2099. @$(ECHO)
  2100. @$(ECHO) == Install info ==
  2101. @$(ECHO)
  2102. @$(ECHO) DateStr.............. $(DATESTR)
  2103. @$(ECHO) ZipName.............. $(ZIPNAME)
  2104. @$(ECHO) ZipPrefix............ $(ZIPPREFIX)
  2105. @$(ECHO) ZipCrossPrefix....... $(ZIPCROSSPREFIX)
  2106. @$(ECHO) ZipSuffix............ $(ZIPSUFFIX)
  2107. @$(ECHO) FullZipName.......... $(FULLZIPNAME)
  2108. @$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE)
  2109. @$(ECHO)
  2110. @$(ECHO) Install base dir..... $(INSTALL_BASEDIR)
  2111. @$(ECHO) Install binary dir... $(INSTALL_BINDIR)
  2112. @$(ECHO) Install library dir.. $(INSTALL_LIBDIR)
  2113. @$(ECHO) Install units dir.... $(INSTALL_UNITDIR)
  2114. @$(ECHO) Install source dir... $(INSTALL_SOURCEDIR)
  2115. @$(ECHO) Install doc dir...... $(INSTALL_DOCDIR)
  2116. @$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR)
  2117. @$(ECHO) Install data dir..... $(INSTALL_DATADIR)
  2118. @$(ECHO)
  2119. @$(ECHO) Dist destination dir. $(DIST_DESTDIR)
  2120. @$(ECHO) Dist zip name........ $(DIST_ZIPNAME)
  2121. @$(ECHO)
  2122. .PHONY: fpc_info
  2123. fpc_info: $(INFORULES)
  2124. .PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
  2125. fpc_makefile_dirs
  2126. fpc_makefile:
  2127. $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
  2128. fpc_makefile_sub1:
  2129. ifdef TARGET_DIRS
  2130. $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
  2131. endif
  2132. ifdef TARGET_EXAMPLEDIRS
  2133. $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
  2134. endif
  2135. fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
  2136. fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
  2137. fpc_makefiles: fpc_makefile fpc_makefile_dirs
  2138. all: fpc_all
  2139. debug: fpc_debug
  2140. smart: fpc_smart
  2141. release: fpc_release
  2142. units: fpc_units
  2143. examples:
  2144. shared: fpc_shared
  2145. install: fpc_install
  2146. sourceinstall: fpc_sourceinstall
  2147. exampleinstall: fpc_exampleinstall
  2148. distinstall:
  2149. zipinstall:
  2150. zipsourceinstall:
  2151. zipexampleinstall:
  2152. zipdistinstall:
  2153. clean: fpc_clean
  2154. distclean: fpc_distclean
  2155. cleanall: fpc_cleanall
  2156. info: fpc_info
  2157. makefiles: fpc_makefiles
  2158. .PHONY: all debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
  2159. ifneq ($(wildcard fpcmake.loc),)
  2160. include fpcmake.loc
  2161. endif
  2162. ifndef OSDIR
  2163. OSDIR=.
  2164. endif
  2165. ifndef NSOSDIR
  2166. NSOSDIR=$(NSDIR)/$(OS_TARGET)
  2167. endif
  2168. ifndef PORTSDIR
  2169. PORTSDIR=$(OSDIR)
  2170. endif
  2171. ifndef DYNLIBSINCDIR
  2172. DYNLIBSINCDIR=$(OSDIR)
  2173. endif
  2174. ifndef INITCDIR
  2175. INITCDIR=$(OSDIR)
  2176. endif
  2177. ifndef DOSDIR
  2178. DOSDIR=$(OSDIR)
  2179. NSDOSDIR=$(NSDIR)/$(DOSDIR)
  2180. endif
  2181. ifndef OS2DIR
  2182. OS2DIR=.
  2183. endif
  2184. ifndef NSOS2DIR
  2185. NSOS2DIR=$(NSDIR)/os2
  2186. endif
  2187. ifndef SYSUTILSDIR
  2188. SYSUTILSDIR=$(OSDIR)
  2189. endif
  2190. ifndef NSSYSUTILSDIR
  2191. NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
  2192. endif
  2193. ifndef CLASSESDIR
  2194. CLASSESDIR=$(OSDIR)
  2195. endif
  2196. ifndef NSCLASSESDIR
  2197. NSCLASSESDIR=$(NSDIR)/$(CLASSESDIR)
  2198. endif
  2199. ifndef NSBSDDIR
  2200. NSBSDDIR=$(NSDIR)/bsd
  2201. endif
  2202. ifndef NSWINDOWSDIR
  2203. NSWINDOWSDIR=$(NSDIR)/windows
  2204. endif
  2205. ifdef FPC_DOTTEDUNITS
  2206. MACPAS_OPT:=$(MACPAS_OPT) -dFPC_DOTTEDUNITS
  2207. EXTPAS_OPT:=$(EXTPAS_OPT) -dFPC_DOTTEDUNITS
  2208. endif
  2209. ifndef SYSTEMUNITEXT
  2210. SYSTEMUNITEXT=pp
  2211. endif
  2212. ifndef DOSUNITEXT
  2213. DOSUNITEXT=pp
  2214. endif
  2215. ifndef PORTSUNITEXT
  2216. PORTSUNITEXT=pp
  2217. endif
  2218. ifndef BASEUNIXDIR
  2219. BASEUNIXDIR=$(UNIXINC)
  2220. endif
  2221. ifndef EXTPAS_DEPS_OS
  2222. EXTPAS_DEPS_OS=$(DOSUNIT)$(PPUEXT)
  2223. endif
  2224. ifdef FPC_DOTTEDUNITS
  2225. BLOCKRTL_OPT:=$(BLOCKRTL_OPT) -dFPC_DOTTEDUNITS
  2226. FPEXTRES_OPT:=$(FPEXTRES_OPT) -dFPC_DOTTEDUNITS
  2227. OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
  2228. OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
  2229. FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
  2230. endif
  2231. $(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
  2232. $(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
  2233. UUCHAR_DEPS=$(INC)/uuchar.pp \
  2234. $(SYSTEMUNIT)$(PPUEXT) \
  2235. $(UUCHAR_DEPS_OS) $(UUCHAR_DEPS_CPU)
  2236. uuchar$(PPUEXT): $(UUCHAR_DEPS)
  2237. $(COMPILER) $(UUCHAR_OPT) $<
  2238. UACHAR_DEPS=$(INC)/uachar.pp \
  2239. $(SYSTEMUNIT)$(PPUEXT) \
  2240. $(UACHAR_DEPS_OS) $(UACHAR_DEPS_CPU)
  2241. uachar$(PPUEXT): $(UACHAR_DEPS)
  2242. $(COMPILER) $(UACHAR_OPT) $<
  2243. OBJPAS_DEPS= $(OBJPASDIR)/objpas.pp $(INC)/except.inc \
  2244. $(SYSTEMUNIT)$(PPUEXT) \
  2245. $(OBJPAS_DEPS_OS) $(OBJPAS_DEPS_SPU)
  2246. objpas$(PPUEXT): $(OBJPAS_DEPS)
  2247. $(COMPILER) $(OBJPAS_OPT) -Fi$(OBJPASDIR) $<
  2248. MACPAS_DEPS=$(INC)/macpas.pp \
  2249. objpas$(PPUEXT) $(MATHUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2250. $(MACPAS_DEPS_OS) $(MACPAS_DEPS_CPU)
  2251. macpas$(PPUEXT) : $(MACPAS_DEPS)
  2252. $(COMPILER) $(MACPAS_OPT) $<
  2253. ISO7185_DEPS= $(INC)/$(ISO7185UNIT).pp \
  2254. $(SYSTEMUNIT)$(PPUEXT) \
  2255. $(ISO7185_DEPS_OS) $(ISO7185_DEPS_CPU)
  2256. iso7185$(PPUEXT) : $(ISO7185_DEPS)
  2257. $(COMPILER) $(ISO7185_OPT) $<
  2258. EXTPAS_DEPS=$(INC)/extpas.pp \
  2259. $(SYSTEMUNIT)$(PPUEXT) \
  2260. $(EXTPAS_DEPS_OS) $(EXTPAS_DEPS_CPU)
  2261. extpas$(PPUEXT) : $(EXTPAS_DEPS)
  2262. $(COMPILER) $(EXTPAS_OPT) $<
  2263. FPINTRES_DEPS= $(INC)/fpintres.pp $(SYSTEMUNIT)$(PPUEXT) \
  2264. $(FPINTRES_DEPS_OS) $(FPINTRES_DEPS_CPU)
  2265. fpintres$(PPUEXT) : $(FPINTRES_DEPS)
  2266. $(COMPILER) $(FPINTRES_OPT) $<
  2267. FPEXTRES_DEPS= $(INC)/fpextres.pp $(SYSTEMUNIT)$(PPUEXT) \
  2268. $(FPEXTRES_DEPS_OS) $(FPEXTRES_DEPS_CPU)
  2269. fpextres$(PPUEXT) : $(FPEXTRES_DEPS)
  2270. $(COMPILER) -Sg $(FPEXTRES_OPT) $<
  2271. HEAPTRC_DEPS=$(INC)/heaptrc.pp \
  2272. $(SYSTEMUNIT)$(PPUEXT) \
  2273. $(HEAPTRC_DEPS_OS) $(HEAPTRC_DEPS_CPU)
  2274. heaptrc$(PPUEXT) : $(HEAPTRC_DEPS)
  2275. $(COMPILER) $(HEAPTRC_OPT) $<
  2276. SOFTFPU_DEPS=$(INC)/softfpu.pp \
  2277. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
  2278. $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
  2279. softfpu$(PPUEXT) : $(SOFTFPU_DEPS)
  2280. $(COMPILER) -Sg $(SOFTFPU_OPT) $<
  2281. System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS)
  2282. $(COMPILER) -Sg $(SOFTFPU_OPT) $<
  2283. SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
  2284. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
  2285. $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU)
  2286. sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
  2287. $(COMPILER) -Sg $(SFPUX80_OPT) $<
  2288. System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp $(SFPUX80_DEPS)
  2289. $(COMPILER) -Sg $(SFPUX80_OPT) $<
  2290. SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
  2291. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
  2292. $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
  2293. sfpu128$(PPUEXT) : $(SFPU128_DEPS)
  2294. $(COMPILER) -Sg $(SFPUX128_OPT) $<
  2295. System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
  2296. $(COMPILER) -Sg $(SFPUX128_OPT) $<
  2297. UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
  2298. $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2299. $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
  2300. ufloatx80$(PPUEXT) : $(UFLOATX80_DEPS)
  2301. $(COMPILER) $(UFLOATX80_OPT) $<
  2302. System.UFloatX80$(PPUEXT) : $(NSINC)/System.UFloatX80.pp $(UFLOATX80_DEPS)
  2303. $(COMPILER) $(UFLOATX80_OPT) $<
  2304. UFLOAT128_DEPS=$(INC)/ufloat128.pp \
  2305. $(SFPU128UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2306. $(UFLOAT128_DEPS_OS) $(UFLOAT128_DEPS_CPU)
  2307. ufloat128$(PPUEXT) : $(UFLOAT128_DEPS)
  2308. $(COMPILER) $(UFLOAT128_OPT) $<
  2309. System.UFloat128$(PPUEXT) : $(NSINC)/System.UFloat128.pp $(UFLOAT128_DEPS)
  2310. $(COMPILER) $(UFLOAT128_OPT) $<
  2311. STRINGS_DEPS=$(INC)/strings.pp $(INC)/stringsi.inc $(PROCINC)/stringss.inc $(PROCINC)/strings.inc \
  2312. $(SYSTEMUNIT)$(PPUEXT) \
  2313. $(STRINGS_DEPS_OS)
  2314. strings$(PPUEXT) : $(STRINGS_DEPS)
  2315. $(COMPILER) $(STRINGS_OPT) $<
  2316. System.Strings$(PPUEXT) : $(NSINC)/System.Strings.pp $(STRINGS_DEPS)
  2317. $(COMPILER) $(STRINGS_OPT) $<
  2318. PORTS_DEPS=$(PORTSDIR)/ports.$(PORTSUNITEXT) \
  2319. $(SYSTEMUNIT)$(PPUEXT) \
  2320. $(PORTS_DEPS_OS) $(PORTS_DEPS_CPU)
  2321. ports$(PPUEXT) : $(PORTS_DEPS)
  2322. $(COMPILER) $(PORTS_OPT) $<
  2323. System.Ports$(PPUEXT) : $(NSINC)/System.Ports.$(PORTSUNITEXT) $(PORTS_DEPS)
  2324. $(COMPILER) $(PORTS_OPT) $<
  2325. DYNLIBS_DEPS=$(INC)/dynlibs.pas $(DYNLIBSINCDIR)/dynlibs.inc \
  2326. objpas$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) \
  2327. $(DYNLIBS_DEPS_OS) $(DYNLIBS_DEPS_CPU)
  2328. dynlibs$(PPUEXT) : $(DYNLIBS_DEPS)
  2329. $(COMPILER) $(DYNLIBS_OPT) $<
  2330. System.DynLibs$(PPUEXT) : $(NSINC)/System.DynLibs.pas $(DYNLIBS_DEPS)
  2331. $(COMPILER) $(DYNLIBS_OPT) $<
  2332. INITC_DEPS=$(INITCDIR)/initc.pp $(CTYPESUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2333. $(INITC_DEPS_OS) $(INITC_DEPS_CPU)
  2334. initc$(PPUEXT) : $(INITC_DEPS)
  2335. $(COMPILER) $(INITC_OPT) $<
  2336. System.InitC$(PPUEXT) : $(NSINC)/System.InitC.pp $(INITC_DEPS)
  2337. $(COMPILER) $(INITC_OPT) $<
  2338. UNIXCP_DEPS=$(UNIXINC)/unixcp.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) \
  2339. $(UNIXCP_DEPS_OS) $(UNIXCP_DEPS_CPU)
  2340. unixcp$(PPUEXT) : $(UNIXCP_DEPS)
  2341. $(COMPILER) $(UNIXCP_OPT) $(UNIXINC)/unixcp.pp
  2342. UnixApi.CP$(PPUEXT) : $(NSINC)/UnixApi.CP.pp $(UNIXCP_DEPS)
  2343. $(COMPILER) $(UNIXCP_OPT) $<
  2344. LINUX_DEPS=$(OSDIR)/linux.pp \
  2345. $(BASEUNIXUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(SYSCALLUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2346. $(LINUX_DEPS_OS) $(LINUX_DEPS_CPU)
  2347. linux$(PPUEXT): $(LINUX_DEPS)
  2348. $(COMPILER) $<
  2349. LinuxApi$(PPUEXT): $(NSOSDIR)/LinuxApi.pp $(LINUX_DEPS)
  2350. $(COMPILER) $(LINUX_OPT) $<
  2351. LINUXVCS_DEPS=$(OSDIR)/linuxvcs.pp $(BASEUNIXUNIT)$(PPUEXT) $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2352. $(LINUXVCS_DEPS_OS) $(LINUXVCS_DEPS_CPU)
  2353. linuxvcs$(PPUEXT): $(LINUXVCS_DEPS)
  2354. $(COMPILER) $(LINUXVCS_OPT) $<
  2355. LinuxApi.Vcs$(PPUEXT): $(NSOSDIR)/LinuxApi.Vcs.pp $(LINUXVCS_DEPS)
  2356. $(COMPILER) $(LINUXVCS_OPT) $<
  2357. FPCYLIX_DEPS=fpcylix.pp \
  2358. $(CTHREADSUNIT)$(PPUEXT) $(CWSTRINGUNIT)$(PPUEXT) $(DYNLIBSUNIT)$(PPUEXT) \
  2359. objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2360. $(FPCYLIX_DEPS_OS) $(FPCYLIX_DEPS_CPU)
  2361. fpcylix$(PPUEXT) : $(FPCYLIX_DEPS)
  2362. $(COMPILER) $(FPCYLIX_OPT) $<
  2363. TERMIO_DEPS=$(OSDIR)/termio.pp $(BASEUNIXUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2364. $(TERMIO_DEPS_OS) $(TERMIO_DEPS_CPU)
  2365. termio$(PPUEXT) : $(TERMIO_DEPS)
  2366. $(COMPILER) $(TERMIO_OPT) $<
  2367. UnixApi.TermIO$(PPUEXT) : $(NSINC)/UnixApi.TermIO.pp $(TERMIO_DEPS)
  2368. $(COMPILER) $(TERMIO_OPT) $<
  2369. DOS_DEPS=$(DOSDIR)/dos.$(DOSUNITEXT) $(INC)/filerec.inc $(INC)/textrec.inc \
  2370. $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2371. $(DOS_DEPS_OS) $(DOS_DEPS_CPU)
  2372. dos$(PPUEXT): $(DOS_DEPS)
  2373. $(COMPILER) $(DOS_OPTS) $<
  2374. TP.DOS$(PPUEXT): $(NSINC)/TP.DOS.$(DOSUNITEXT) $(DOS_DEPS)
  2375. $(COMPILER) $(DOS_OPTS) $(DOS_NS_OPTS) $<
  2376. MSMOUSE_DEPS=msmouse.pp $(SYSTEMUNIT)$(PPUEXT)
  2377. msmouse$(PPUEXT) : $(MSMOUSE_DEPS)
  2378. $(COMPILER) $(MSMOUSE_OPTS) $<
  2379. DOSApi.MSMouse$(PPUEXT) : $(NSOSDIR)/DOSApi.MSMouse.pp $(MSMOUSE_DEPS)
  2380. $(COMPILER) $(MSMOUSE_OPTS) $<
  2381. SYSUTILS_UNIX_DEPS=$(UNIXUNIT)$(PPUEXT) $(ERRORSUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
  2382. $(SYSCALLUNIT)$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
  2383. $(UNIXUTILUNIT)$(PPUEXT) $(INITCUNIT)$(PPUEXT)
  2384. SYSUTILS_DEPS=$(SYSUTILSDIR)/sysutils.pp $(wildcard $(OBJPASDIR)/$(SYSUTILSUNIT)/*.inc) \
  2385. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) $(SYSCONSTUNIT)$(PPUEXT) \
  2386. $(SYSUTILS_DEPS_OS) $(SYSUTILS_DEPS_CPU)
  2387. sysutils$(PPUEXT) : $(SYSUTILS_DEPS)
  2388. $(COMPILER) -Fi$(OBJPASDIR)/sysutils $<
  2389. System.SysUtils$(PPUEXT) : $(NSINC)/System.SysUtils.pp $(SYSUTILS_DEPS)
  2390. $(COMPILER) $(SYSUTILS_OPT) -Fi$(OBJPASDIR)/sysutils -Fi$(SYSUTILSDIR) $<
  2391. CLASSES_DEPS=$(CLASSESDIR)/classes.pp $(wildcard $(OBJPASDIR)/$(CLASSESUNIT)/*.inc) \
  2392. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
  2393. $(SYSUTILSUNIT)$(PPUEXT) $(TYPINFOUNIT)$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) \
  2394. $(FGLUNIT)$(PPUEXT) $(TYPESUNIT)$(PPUEXT) \
  2395. $(CLASSES_DEPS_OS) $(CLASSES_DEPS_CPU)
  2396. classes$(PPUEXT) : $(CLASSES_DEPS)
  2397. $(COMPILER) -Fi$(OBJPASDIR)/classes $(CLASSES_OPT) $<
  2398. System.Classes$(PPUEXT) : $(NSINC)/System.Classes.pp $(CLASSES_DEPS)
  2399. $(COMPILER) -Fi$(OBJPASDIR)/classes $(CLASSES_OPT) $<
  2400. TYPINFO_DEPS=$(OBJPASDIR)/typinfo.pp \
  2401. objpas$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) \
  2402. $(TYPINFO_DEPS_OS) $(TYPINFO_DEPS_CPU)
  2403. typinfo$(PPUEXT): $(TYPINFO_DEPS)
  2404. $(COMPILER) -Sg $(TYPINFO_OPT) $<
  2405. System.TypInfo$(PPUEXT): $(NSINC)/System.TypInfo.pp $(TYPINFO_DEPS)
  2406. $(COMPILER) -Fi$(OBJPASDIR) -Sg $(TYPINFO_OPT) $<
  2407. CHARACTER_DEPS=$(OBJPASDIR)/character.pas \
  2408. $(SYSUTILSUNIT)$(PPUEXT) objpas$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) \
  2409. $(CHARACTER_DEPS_OS) $(CHARACTER_DEPS_CPU)
  2410. character$(PPUEXT): $(CHARACTER_DEPS)
  2411. $(COMPILER) $(CHARACTER_OPT) $<
  2412. System.Character$(PPUEXT): $(NSINC)/System.Character.pas $(CHARACTER_DEPS)
  2413. $(COMPILER) $(CHARACTER_OPT) -Fi$(OBJPASDIR) $<
  2414. MATH_DEPS= $(OBJPASDIR)/math.pp \
  2415. objpas$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2416. $(MATH_DEPS_OS) $(MATH_DEPS_CPU)
  2417. math$(PPUEXT): $(MATH_DEPS)
  2418. $(COMPILER) $(MATH_OPT) $<
  2419. System.Math$(PPUEXT): $(NSINC)/System.Math.pp $(MATH_DEPS)
  2420. $(COMPILER) $(MATH_OPT) -Fi$(OBJPASDIR) $<
  2421. FGL_DEPS=$(OBJPASDIR)/fgl.pp \
  2422. objpas$(PPUEXT) $(TYPESUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2423. $(SYSUTILSUNIT)$(PPUEXT) $(SORTBASEUNIT)$(PPUEXT) \
  2424. $(RTLCONSTSUNIT)$(PPUEXT) \
  2425. $(FGL_DEPS_OS) $(FGL_DEPS_CPU)
  2426. fgl$(PPUEXT) : $(FGL_DEPS)
  2427. $(COMPILER) $(FGL_OPT) $<
  2428. System.FGL$(PPUEXT) : $(NSINC)/System.FGL.pp $(FGL_DEPS)
  2429. $(COMPILER) -Fi$(OBJPASDIR) $(FGL_OPT) $<
  2430. TYPES_DEPS=$(OBJPASDIR)/types.pp \
  2431. objpas$(PPUEXT) $(MATHUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2432. $(TYPES_DEPS_OS) $(TYPES_DEPS_CPU)
  2433. types$(PPUEXT) : $(TYPES_DEPS)
  2434. $(COMPILER) $(TYPES_OPT) $<
  2435. System.Types$(PPUEXT) : $(NSINC)/System.Types.pp $(TYPES_DEPS)
  2436. $(COMPILER) -Fi$(OBJPASDIR) $(TYPES_OPT) $<
  2437. SYSCONST_DEPS=$(OBJPASDIR)/sysconst.pp \
  2438. objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2439. $(SYSCONST_DEPS_OS) $(SYSCONST_DEPS_CPU)
  2440. sysconst$(PPUEXT) : $(SYSCONST_DEPS)
  2441. $(COMPILER) $(SYSCONST_OPT) $<
  2442. System.SysConst$(PPUEXT) : $(NSINC)/System.SysConst.pp $(SYSCONST_DEPS)
  2443. $(COMPILER) -Fi$(OBJPASDIR) $(SYSCONST_OPT) $<
  2444. ifdef FPC_DOTTEDUNITS
  2445. RTLCONSTS_DEPS=$(OBJPASDIR)/rtlconsts.pp \
  2446. objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2447. $(RTLCONSTS_DEPS_OS) $(RTLCONSTS_DEPS_CPU)
  2448. System.RtlConsts$(PPUEXT) : $(NSINC)/System.RtlConsts.pp $(RTLCONSTS_DEPS)
  2449. $(COMPILER) -Fi$(OBJPASDIR) $(RTLCONSTS_OPT) $<
  2450. else
  2451. RTLCONSTS_DEPS=$(OBJPASDIR)/$(RTLCONSTSUNIT).pp \
  2452. objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2453. $(RTLCONSTS_DEPS_OS) $(RTLCONSTS_DEPS_CPU)
  2454. $(RTLCONSTSUNIT)$(PPUEXT) : $(RTLCONSTS_DEPS)
  2455. $(COMPILER) $(RTLCONSTS_OPT) $<
  2456. endif
  2457. ifneq ($(findstring $(ARCH),x86_64 i386 i8086),)
  2458. CPU_DEPS_CPU:=$(CPU_DEPS_CPU) $(SYSUTILSUNIT)$(PPUEXT)
  2459. endif
  2460. CPU_DEPS=$(PROCINC)/cpu.pp \
  2461. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) \
  2462. $(CPU_DEPS_OS) $(CPU_DEPS_CPU)
  2463. cpu$(PPUEXT) : $(CPU_DEPS)
  2464. $(COMPILER) $(CPU_OPT) $<
  2465. System.CPU$(PPUEXT) : $(NSINC)/System.CPU.pp $(CPU_DEPS)
  2466. $(COMPILER) $(CPU_OPT) $<
  2467. MMX_DEPS=$(PROCINC)/mmx.pp \
  2468. $(CPUUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2469. $(MMX_DEPS_OS) $(MMX_DEPS_CPU)
  2470. mmx$(PPUEXT) : $(MMX_DEPS)
  2471. $(COMPILER) $(MMX_OPT) $<
  2472. System.CPU.MMX$(PPUEXT) : $(NSINC)/System.CPU.MMX.pp $(MMX_DEPS)
  2473. $(COMPILER) $(MMX_OPT) $<
  2474. X86_DEPS = $(UNIXINC)/x86.pp \
  2475. $(BASEUNIXUNIT)$(PPUEXT) $(SYSCALLUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2476. $(X86_DEPS_OS) $(X86_DEPS_CPU)
  2477. x86$(PPUEXT) : $(X86_DEPS)
  2478. $(COMPILER) $(X86_OPT) $<
  2479. System.X86$(PPUEXT) : $(NSINC)/System.X86.pp $(X86_DEPS)
  2480. $(COMPILER) $(X86_OPT) $<
  2481. GETOPTS_DEPS=$(INC)/getopts.pp \
  2482. $(SYSTEMUNIT)$(PPUEXT) \
  2483. $(GETOPTS_DEPS_OS) $(GETOPTS_DEPS_CPU)
  2484. getopts$(PPUEXT) : $(GETOPTS_DEPS)
  2485. $(COMPILER) $(GETOPTS_OPT) $<
  2486. System.GetOpts$(PPUEXT) : $(NSINC)/System.GetOpts.pp $(GETOPTS_DEPS)
  2487. $(COMPILER) $(GETOPTS_OPT) $<
  2488. LINEINFO_DEPS=$(INC)/lineinfo.pp \
  2489. $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) $(EXEINFOUNIT)$(PPUEXT) \
  2490. $(LINEINFO_DEPS_OS) $(LINEINFO_DEPS_CPU)
  2491. lineinfo$(PPUEXT) : $(LINEINFO_DEPS)
  2492. $(COMPILER) $(LINEINFO_OPT) $<
  2493. System.LineInfo$(PPUEXT) : $(NSINC)/System.LineInfo.pp $(LINEINFO_DEPS)
  2494. $(COMPILER) $(LINEINFO_OPT) $<
  2495. EXEINFO_DEPS=$(INC)/exeinfo.pp \
  2496. $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2497. $(EXEINFO_DEPS_OS) $(EXEINFO_DEPS_CPU)
  2498. exeinfo$(PPUEXT) : $(EXEINFO_DEPS)
  2499. $(COMPILER) $(EXEINFO_OPT) $<
  2500. System.ExeInfo$(PPUEXT) : $(NSINC)/System.ExeInfo.pp $(EXEINFO_DEPS)
  2501. $(COMPILER) $(EXEINFO_OPT) $<
  2502. LNFODWRF_DEPS=$(INC)/lnfodwrf.pp \
  2503. $(SYSTEMUNIT)$(PPUEXT) $(STRINGSUNIT)$(PPUEXT) \
  2504. $(SYSUTILSUNIT)$(PPUEXT) $(EXEINFOUNIT)$(PPUEXT) \
  2505. $(LNFODWRF_DEPS_OS) $(LNFODWRF_DEPS_CPU)
  2506. lnfodwrf$(PPUEXT) : $(LNFODWRF_DEPS)
  2507. $(COMPILER) $(LNFODWRF_OPT) $<
  2508. System.LineInfo.Dwarf$(PPUEXT) : $(NSINC)/System.LineInfo.Dwarf.pp $(LNFODWRF_DEPS)
  2509. $(COMPILER) $(LNFODWRF_OPT) $<
  2510. LNFOGDB_DEPS=$(UNIXINC)/lnfogdb.pp \
  2511. $(SYSTEMUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) \
  2512. $(BASEUNIXUNIT)$(PPUEXT) $(UNIXUNIT)$(PPUEXT) \
  2513. $(LNFOGDB_DEPS_OS) $(LNFOGDB_DEPS_CPU)
  2514. lnfogdb$(PPUEXT) : $(LNFOGDB_DEPS)
  2515. $(COMPILER) $(LNFOGDB_OPT) $<
  2516. System.LineInfo.Gdb$(PPUEXT) : $(NSINC)/System.LineInfo.Gdb.pp $(LNFOGDB_DEPS)
  2517. $(COMPILER) $(LNFOGDB_OPT) $<
  2518. CHARSET_DEPS=$(INC)/charset.pp \
  2519. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
  2520. $(CHARSET_DEPS_OS) $(CHARSET_DEPS_CPU)
  2521. charset$(PPUEXT) : $(CHARSET_DEPS)
  2522. $(COMPILER) $(CHARSET_OPT) $<
  2523. System.CharSet$(PPUEXT) : $(NSINC)/System.CharSet.pp $(CHARSET_DEPS)
  2524. $(COMPILER) $(CHARSET_OPT) $<
  2525. UNICODEDATA_DEPS = $(OBJPASDIR)/unicodedata.pas $(OBJPASDIR)/unicodedata.inc \
  2526. $(OBJPASDIR)/unicodedata_le.inc $(OBJPASDIR)/unicodedata_be.inc \
  2527. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT)
  2528. unicodedata$(PPUEXT) : $(UNICODEDATA_DEPS)
  2529. $(COMPILER) -Fi$(OBJPASDIR) $(UNICODEDATA_OPT) $<
  2530. System.CodePages.unicodedata$(PPUEXT) : $(NSINC)/System.CodePages.unicodedata.pas $(UNICODEDATA_DEPS)
  2531. $(COMPILER) -Fi$(OBJPASDIR) $(UNICODEDATA_OPT) $<
  2532. CPALL_DEPS=$(RTL)/charmaps/cpall.pas \
  2533. system$(PPUEXT) $(CHARSETUNIT)$(PPUEXT) \
  2534. $(CPALL_DEPS_OS) $(CPALL_DEPS_CPU)
  2535. cpall$(PPUEXT): $(CPALL_DEPS)
  2536. $(COMPILER) $(CPALL_OPT) -Fu$(INC) -Fi$(RTL)/charmaps $<
  2537. System.CodePages.All$(PPUEXT): $(NSINC)/System.CodePages.All.pas $(CPALL_DEPS)
  2538. $(COMPILER) $(CPALL_OPT) -Fu$(INC) -Fi$(RTL)/charmaps $<
  2539. ifneq ($(UNIXINC),)
  2540. FPWIDESTRING_DEPS_OS:=$(FPWIDESTRING_DEPS_OS) $(UNIXCPUNIT)$(PPUEXT)
  2541. endif
  2542. ifeq ($(AMIINC),)
  2543. RTLDEFSINCDIR = $(OSDIR)
  2544. else
  2545. RTLDEFSINCDIR=$(AMIINC)
  2546. endif
  2547. FPWIDESTRING_DEPS=$(OBJPASDIR)/fpwidestring.pp $(RTLDEFSINCDIR)/rtldefs.inc \
  2548. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) $(UNICODEDATAUNIT)$(PPUEXT) \
  2549. $(CHARACTERUNIT)$(PPUEXT) $(CPALLUNIT)$(PPUEXT) \
  2550. $(FPWIDESTRING_DEPS_OS) $(FPWIDESTRING_DEPS_CPU)
  2551. fpwidestring$(PPUEXT): $(FPWIDESTRING_DEPS)
  2552. $(COMPILER) $(FPWIDESTRING_OPT) $<
  2553. System.FPWideString$(PPUEXT): $(NSINC)/System.FPWideString.pp $(FPWIDESTRING_DEPS)
  2554. $(COMPILER) -Fi$(OBJPASDIR) $(FPWIDESTRING_OPT) $<
  2555. SORTBASE_DEPS=$(INC)/sortbase.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2556. $(SORTBASE_DEPS_OS) $(SORTBASE_DEPS_CPU)
  2557. sortbase$(PPUEXT) : $(SORTBASE_DEPS)
  2558. $(COMPILER) $(SORTBASE_OPT) $<
  2559. System.SortBase$(PPUEXT) : $(NSINC)/System.SortBase.pp $(SORTBASE_DEPS)
  2560. $(COMPILER) $(SORTBASE_OPT) $<
  2561. CALLSPEC_DEPS=$(INC)/callspec.pp \
  2562. $(SYSTEMUNIT)$(PPUEXT) \
  2563. $(CALLSPEC_DEPS_OS) $(CALLSPEC_DEPS_CPU)
  2564. callspec$(PPUEXT) : $(CALLSPEC_DEPS)
  2565. $(COMPILER) $(CALLSPEC_OPT) $<
  2566. System.CallSpec$(PPUEXT) : $(NSINC)/System.CallSpec.pp $(CALLSPEC_DEPS)
  2567. $(COMPILER) $(CALLSPEC_OPT) $<
  2568. CMEM_DEPS=$(INC)/cmem.pp \
  2569. $(SYSTEMUNIT)$(PPUEXT) \
  2570. $(CMEM_DEPS_OS) $(CMEM_DEPS_CPU)
  2571. cmem$(PPUEXT) : $(CMEM_DEPS)
  2572. $(COMPILER) $(CMEM_OPT) $<
  2573. System.CMem$(PPUEXT) : $(NSINC)/System.CMem.pp $(CMEM_DEPS)
  2574. $(COMPILER) $(CMEM_OPT) $<
  2575. BASEUNIX_DEPS=$(BASEUNIXDIR)/baseunix.pp $(UNIXINC)/ctypes.inc \
  2576. $(UNIXINC)/bunxh.inc $(UNIXINC)/gensigset.inc $(OSDIR)/ptypes.inc $(OSDIR)/errno.inc \
  2577. $(UNIXTYPEUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2578. $(BASEUNIX_DEPS_OS) $(BASEUNIX_DEPS_CPU)
  2579. baseunix$(PPUEXT): $(BASEUNIX_DEPS)
  2580. $(COMPILER) $(BASEUNIX_OPT) $<
  2581. UnixApi.Base$(PPUEXT): $(NSINC)/UnixApi.Base.pp $(BASEUNIX_DEPS)
  2582. $(COMPILER) $(BASEUNIX_OPT) $<
  2583. UNIX_DEPS=$(UNIXINC)/unix.pp \
  2584. $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) \
  2585. $(UNIXUTILUNIT)$(PPUEXT) \
  2586. $(INC)/textrec.inc $(INC)/filerec.inc $(UNIXINC)/timezone.inc \
  2587. $(OSDIR)/unxconst.inc $(OSDIR)/unxfunc.inc \
  2588. $(UNIX_DEPS_OS) $(UNIX_DEPS_CPU)
  2589. unix$(PPUEXT): $(UNIX_DEPS)
  2590. $(COMPILER) $(UNIX_OPT) $<
  2591. UnixApi.Unix$(PPUEXT) : $(NSINC)/UnixApi.Unix.pp $(UNIX_DEPS)
  2592. $(COMPILER) $(UNIX_OPT) $<
  2593. SYSCALL_DEPS=$(UNIXINC)/syscall.pp \
  2594. $(SYSTEMUNIT)$(PPUEXT) \
  2595. $(SYSCALL_DEPS_OS) $(SYSCALL_DEPS_CPU)
  2596. syscall$(PPUEXT) : $(SYSCALL_DEPS)
  2597. $(COMPILER) $(SYSCALL_OPT) $<
  2598. UnixApi.SysCall$(PPUEXT) : $(NSINC)/UnixApi.SysCall.pp $(SYSCALL_DEPS)
  2599. $(COMPILER) $(SYSCALL_OPT) $<
  2600. UNIXUTIL_DEPS=$(UNIXINC)/unixutil.pp $(INC)/textrec.inc $(INC)/filerec.inc \
  2601. $(SYSTEMUNIT)$(PPUEXT) \
  2602. $(UNIXUTIL_DEPS_OS)
  2603. unixutil$(PPUEXT) : $(UNIXUTIL_DEPS)
  2604. $(COMPILER) $(UNIXUTIL_OPT) $<
  2605. UnixApi.Utils$(PPUEXT) : $(NSINC)/UnixApi.Utils.pp $(UNIXUTIL_DEPS)
  2606. $(COMPILER) $(UNIXUTIL_OPT) $<
  2607. UNIXTYPE_DEPS=$(UNIXINC)/unixtype.pp \
  2608. $(SYSTEMUNIT)$(PPUEXT) $(OSDIR)/ptypes.inc $(UNIXINC)/ctypes.inc \
  2609. $(UNIXTYPE_DEPS_OS) $(UNIXTYPE_DEPS_CPU)
  2610. unixtype$(PPUEXT) : $(UNIXTYPE_DEPS)
  2611. $(COMPILER) $(UNIXTYPE_OPT) $(UNIXINC)/unixtype.pp
  2612. UnixApi.Types$(PPUEXT) : $(NSINC)/UnixApi.Types.pp $(UNIXTYPE_DEPS)
  2613. $(COMPILER) $(UNIXTYPE_OPT) $<
  2614. DL_DEPS=$(UNIXINC)/dl.pp \
  2615. $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) \
  2616. $(DL_DEPS_OS) $(DL_DEPS_CPU)
  2617. dl$(PPUEXT) : $(DL_DEPS)
  2618. $(COMPILER) $(DL_OPT) $<
  2619. UnixApi.Dl$(PPUEXT) : $(NSINC)/UnixApi.Dl.pp $(DL_DEPS)
  2620. $(COMPILER) $(DL_OPT) $<
  2621. ERRORS_DEPS=$(UNIXINC)/errors.pp \
  2622. $(STRINGSUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2623. $(ERRORS_DEPS_OS) $(ERRORS_DEPS_CPU)
  2624. errors$(PPUEXT) : $(ERRORS_DEPS)
  2625. $(COMPILER) $(ERRORS_OPT) $<
  2626. UnixApi.Errors$(PPUEXT) : $(NSINC)/UnixApi.Errors.pp $(ERRORS_DEPS)
  2627. $(COMPILER) $(ERRORS_OPT) $<
  2628. CTHREADS_DEPS=$(UNIXINC)/cthreads.pp \
  2629. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(UNIXUNIT)$(PPUEXT) \
  2630. $(BASEUNIXUNIT)$(PPUEXT) $(INITCUNIT)$(PPUEXT) $(DLUNIT)$(PPUEXT) \
  2631. $(CTHREADS_DEPS_OS) $(CTHREADS_DEPS_CPU)
  2632. cthreads$(PPUEXT) : $(CTHREADS_DEPS)
  2633. $(COMPILER) $(CTHREADS_OPT) $<
  2634. UnixApi.CThreads$(PPUEXT) : $(NSINC)/UnixApi.CThreads.pp $(CTHREADS_DEPS)
  2635. $(COMPILER) $(CTHREADS_OPT) $<
  2636. CWSTRING_DEPS=$(UNIXINC)/cwstring.pp \
  2637. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) \
  2638. $(UNIXUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) \
  2639. $(DYNLIBSUNIT)$(PPUEXT) $(UNIXCPUNIT)$(PPUEXT) \
  2640. $(CWSTRING_DEPS_OS) $(CWSTRING_DEPS_CPU)
  2641. cwstring$(PPUEXT) : $(CWSTRING_DEPS)
  2642. $(COMPILER) $(CWSTRING_OPT) $<
  2643. UnixApi.CWString$(PPUEXT) : $(NSINC)/UnixApi.CWString.pp $(CWSTRING_DEPS)
  2644. $(COMPILER) $(CWSTRING_OPT) $<
  2645. CTYPES_DEPS=$(INC)/ctypes.pp \
  2646. $(SYSTEMUNIT)$(PPUEXT) \
  2647. $(CTYPES_DEPS_OS) $(CTYPES_DEPS_CPU)
  2648. ctypes$(PPUEXT) : $(CTYPES_DEPS)
  2649. $(COMPILER) $(CTYPES_OPT) $<
  2650. System.CTypes$(PPUEXT) : $(NSINC)/System.CTypes.pp $(CTYPES_DEPS)
  2651. $(COMPILER) $(CTYPES_OPT) $<
  2652. OBJC_DEPS=$(INC)/objc.pp $(INC)/objc.pp $(INC)/objc1.inc $(INC)/objcnf.inc \
  2653. $(SYSTEMUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
  2654. $(OBJC_DEPS_OS) $(OBJC_DEPS_CPU)
  2655. objc$(PPUEXT) : $(OBJC_DEPS)
  2656. $(COMPILER) $(OBJC_OPT) $<
  2657. OBJCBASE_DEPS=$(INC)/objcbase.pp \
  2658. $(SYSTEMUNIT)$(PPUEXT) $(OBJCUNIT)$(PPUEXT) \
  2659. $(OBJCBASE_DEPS_OS) $(OBJCBASE_DEPS_CPU)
  2660. objcbase$(PPUEXT) : $(OBJCBASE_DEPS)
  2661. $(COMPILER) $(OBJCBASE_OPT) $<
  2662. BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
  2663. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) $(INITCUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) \
  2664. $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
  2665. blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
  2666. $(COMPILER) $(BLOCKRTL_OPT) $<
  2667. ifndef WININCDIR
  2668. WININCDIR = $(WINDIR)/wininc
  2669. endif
  2670. WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
  2671. $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
  2672. windows$(PPUEXT): $(WINDOWS_DEPS)
  2673. $(COMPILER) -Fi$(WININC) $(WINDOWS_OPT) $<
  2674. WinApi.Windows$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
  2675. $(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
  2676. WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2677. $(WINDIRS_DEPS_OS) $(WINDIRS_DEPS_CPU)
  2678. windirs$(PPUEXT): $(WINDIRS_DEPS)
  2679. $(COMPILER) $(WINDIRS_OPT) $<
  2680. WinApi.WinDirs$(PPUEXT): $(NSWINDOWSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
  2681. $(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
  2682. ifndef WINMESSAGESDIR
  2683. WINMESSAGESDIR = $(WINDIR)
  2684. endif
  2685. ifndef WINMESSAGESINCDIR
  2686. WINMESSAGESINCDIR = $(WINDIR)/wininc
  2687. endif
  2688. MESSAGES_DEPS = $(WINMESSAGESDIR)/messages.pp $(WINMESSAGESINCDIR)/messages.inc $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2689. $(MESSAGES_DEPS_OS) $(MESSAGES_DEPS_CPU)
  2690. messages$(PPUEXT): $(MESSAGES_DEPS)
  2691. $(COMPILER) -Fi$(WINMESSAGESINCDIR) $<
  2692. WinApi.Messages$(PPUEXT): $(NSWINDOWSDIR)/WinApi.Messages.pp $(MESSAGES_DEPS)
  2693. $(COMPILER) -Fi$(WINMESSAGESINCDIR) -Fi$(WINMMESSAGESDIR) $<
  2694. SYSCTL_DEPS=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
  2695. $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
  2696. sysctl$(PPUEXT) : $(SYSCTL_DEPS)
  2697. $(COMPILER) $(SYSCTL_OPT) $<
  2698. BsdApi.SysCtl$(PPUEXT) : $(NSBSDDIR)/BsdApi.SysCtl.pp $(SYSCTL_DEPS)
  2699. $(COMPILER) $(SYSCTL_OPT) $<
  2700. BSD_DEPS=$(BSDINC)/bsd.pas $(INITCUNIT)$(PPUEXT) $(UNIXUNIT)$(PPUEXT) \
  2701. $(BSD_DEPS_OS) $(BSD_DEPS_CPU)
  2702. bsd$(PPUEXT): $(BSD_DEPS)
  2703. $(COMPILER) $(BSD_OPT) $<
  2704. BsdApi$(PPUEXT): $(NSBSDDIR)/BsdApi.pp $(BSD_DEPS)
  2705. $(COMPILER) $(BSD_OPT) $<
  2706. DOSCALLS_DEPS = $(OS2DIR)/doscalls.pas $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2707. $(DOSCALLS_DEPS_OS) $(DOSCALLS_DEPS_CPU)
  2708. doscalls$(PPUEXT) : $(DOSCALLS_DEPS)
  2709. $(COMPILER) $<
  2710. OS2Api.doscalls$(PPUEXT) : $(NSOS2DIR)/OS2Api.doscalls.pas $(DOSCALLS_DEPS)
  2711. $(COMPILER) -Fi$(OS2DIR) $<
  2712. VIOCALLS_DEPS = $(OS2DIR)/viocalls.pas $(SYSTEMUNIT)$(PPUEXT) \
  2713. $(VIOCALLS_DEPS_OS) $(VIOCALLS_DEPS_CPU)
  2714. viocalls$(PPUEXT) : $(VIOCALLS_DEPS)
  2715. $(COMPILER) $<
  2716. OS2Api.viocalls$(PPUEXT) : $(NSOS2DIR)/OS2Api.viocalls.pas $(VIOCALLS_DEPS)
  2717. $(COMPILER) -Fi$(OS2DIR) $<
  2718. SO32DLL_DEPS = $(OS2DIR)/so32dll.pas $(SYSTEMUNIT)$(PPUEXT) \
  2719. $(SO32DLL_DEPS_OS) $(SO32DLL_DEPS_CPU)
  2720. so32dll$(PPUEXT) : $(SO32DLL_DEPS)
  2721. $(COMPILER) $<
  2722. OS2Api.so32dll$(PPUEXT) : $(NSOS2DIR)/OS2Api.so32dll.pas $(SO32DLL_DEPS)
  2723. $(COMPILER) -Fi$(OS2DIR) $<
  2724. KBDCALLS_DEPS = $(OS2DIR)/kbdcalls.pas $(SYSTEMUNIT)$(PPUEXT) \
  2725. $(KBDCALLS_DEPS_OS) $(KBDCALLS_DEPS_CPU)
  2726. kbdcalls$(PPUEXT) : $(KBDCALLS_DEPS)
  2727. $(COMPILER) $<
  2728. OS2Api.kbdcalls$(PPUEXT) : $(NSOS2DIR)/OS2Api.kbdcalls.pas $(KBDCALLS_DEPS)
  2729. $(COMPILER) -Fi$(OS2DIR) $<
  2730. MOUCALLS_DEPS = $(OS2DIR)/moucalls.pas $(SYSTEMUNIT)$(PPUEXT) \
  2731. $(MOUCALLS_DEPS_OS) $(MOUCALLS_DEPS_CPU)
  2732. moucalls$(PPUEXT) : $(MOUCALLS_DEPS)
  2733. $(COMPILER) $<
  2734. OS2Api.moucalls$(PPUEXT) : $(NSOS2DIR)/OS2Api.moucalls.pas $(MOUCALLS_DEPS)
  2735. $(COMPILER) -Fi$(OS2DIR) $<
  2736. MONCALLS_DEPS = $(OS2DIR)/moncalls.pas $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2737. $(MONCALLS_DEPS_OS) $(MONCALLS_DEPS_CPU)
  2738. moncalls$(PPUEXT) : $(MONCALLS_DEPS)
  2739. $(COMPILER) $<
  2740. OS2Api.moncalls$(PPUEXT) : $(NSOS2DIR)/OS2Api.moncall.pas $(MONCALLS_DEPS)
  2741. $(COMPILER) -Fi$(OS2DIR) $<
  2742. OS2DEF_DEPS = $(OS2DIR)/os2def.pas $(SYSTEMUNIT)$(PPUEXT) \
  2743. $(OS2DEF_DEPS_OS) $(OS2DEF_DEPS_CPU)
  2744. os2def$(PPUEXT) : $(OS2DEF_DEPS)
  2745. $(COMPILER) $<
  2746. OS2Api.os2def$(PPUEXT) : $(NSOS2DIR)/OS2Api.os2def.pas $(OS2DEF_DEPS)
  2747. $(COMPILER) -Fi$(OS2DIR) $<
  2748. DOSCALL2_DEPS = $(OS2DIR)/doscall2.pas $(DOSCALLSUNIT)$(PPUEXT) $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2749. $(DOSCALL2_DEPS_OS) $(DOSCALL2_DEPS_CPU)
  2750. doscall2$(PPUEXT) : $(DOSCALL2_DEPS)
  2751. $(COMPILER) $<
  2752. OS2Api.doscall2$(PPUEXT) : $(NSOS2DIR)/OS2Api.doscall2.pas $(DOSCALL2_DEPS)
  2753. $(COMPILER) -Fi$(OS2DIR) $<
  2754. PMWIN_DEPS = $(OS2DIR)/pmwin.pas $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2755. $(PMWIN_DEPS_OS) $(PMWIN_DEPS_CPU)
  2756. pmwin$(PPUEXT) : $(PMWIN_DEPS)
  2757. $(COMPILER) $<
  2758. OS2Api.pmwin$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmwin.pas $(PMWIN_DEPS)
  2759. $(COMPILER) -Fi$(OS2DIR) $<
  2760. PMBITMAP_DEPS = $(OS2DIR)/pmbitmap.pas $(SYSTEMUNIT)$(PPUEXT) \
  2761. $(PMBITMAP_DEPS_OS) $(PMBITMAP_DEPS_CPU)
  2762. pmbitmap$(PPUEXT) : $(PMBITMAP_DEPS)
  2763. $(COMPILER) $<
  2764. OS2Api.pmbitmap$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmbitmap.pas $(PMBITMAP_DEPS)
  2765. $(COMPILER) -Fi$(OS2DIR) $<
  2766. PMGPI_DEPS = $(OS2DIR)/pmgpi.pas $(PMBITMAPUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2767. $(PMGPI_DEPS_OS) $(PMGPI_DEPS_CPU)
  2768. pmgpi$(PPUEXT) : $(PMGPI_DEPS)
  2769. $(COMPILER) $<
  2770. OS2Api.pmgpi$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmgpi.pas $(PMGPI_DEPS)
  2771. $(COMPILER) -Fi$(OS2DIR) $<
  2772. PMSTDDLG_DEPS = $(OS2DIR)/pmstddlg.pas $(OS2DEFUNIT)$(PPUEXT) $(DOSCALLSUNIT)$(PPUEXT) \
  2773. $(PMWINUNIT)$(PPUEXT) $(PMGPIUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2774. $(PMSTDDLG_DEPS_OS) $(PMSTDDLG_DEPS_CPU)
  2775. pmstddlg$(PPUEXT) : $(PMSTDDLG_DEPS)
  2776. $(COMPILER) $<
  2777. OS2Api.pmstddlg$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmstddlg.pas $(PMSTDDLG_DEPS)
  2778. $(COMPILER) -Fi$(OS2DIR) $<
  2779. PMHELP_DEPS = $(OS2DIR)/pmhelp.pas $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2780. $(PMHELP_DEPS_OS) $(PMHELP_DEPS_CPU)
  2781. pmhelp$(PPUEXT) : $(PMHELP_DEPS)
  2782. $(COMPILER) $<
  2783. OS2Api.pmhelp$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmhelp.pas $(PMHELP_DEPS)
  2784. $(COMPILER) -Fi$(OS2DIR) $<
  2785. PMDEV_DEPS = $(OS2DIR)/pmdev.pas $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2786. $(PMDEV_DEPS_OS) $(PMDEV_DEPS_CPU)
  2787. pmdev$(PPUEXT) : $(PMDEV_DEPS)
  2788. $(COMPILER) $<
  2789. OS2Api.pmdev$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmdev.pas $(PMDEV_DEPS)
  2790. $(COMPILER) -Fi$(OS2DIR) $<
  2791. PMSPL_DEPS = $(OS2DIR)/pmspl.pas $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2792. $(PMSPL_DEPS_OS) $(PMSPL_DEPS_CPU)
  2793. pmspl$(PPUEXT) : $(PMSPL_DEPS)
  2794. $(COMPILER) $<
  2795. OS2Api.pmspl$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmspl.pas $(PMSPL_DEPS)
  2796. $(COMPILER) -Fi$(OS2DIR) $<
  2797. PMSHL_DEPS = $(OS2DIR)/pmshl.pas $(OS2DEFUNIT)$(PPUEXT) $(PMWINUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2798. $(PMSHL_DEPS_OS) $(PMSHL_DEPS_CPU)
  2799. pmshl$(PPUEXT) : $(PMSHL_DEPS)
  2800. $(COMPILER) $<
  2801. OS2Api.pmshl$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmshl.pas $(PMSHL_DEPS)
  2802. $(COMPILER) -Fi$(OS2DIR) $<
  2803. PMWP_DEPS = $(OS2DIR)/pmwp.pas $(OS2DEFUNIT)$(PPUEXT) $(PMWINUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2804. $(PMWP_DEPS_OS) $(PMWP_DEPS_CPU)
  2805. pmwp$(PPUEXT) : $(PMWP_DEPS)
  2806. $(COMPILER) $<
  2807. OS2Api.pmwp$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmwp.pas $(PMWP_DEPS)
  2808. $(COMPILER) -Fi$(OS2DIR) $<
  2809. PMWSOCK_DEPS = $(OS2DIR)/pmwsock.pas $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2810. $(PMWSOCK_DEPS_OS) $(PMWSOCK_DEPS_CPU)
  2811. pmwsock$(PPUEXT) : $(PMWSOCK_DEPS)
  2812. $(COMPILER) $<
  2813. OS2Api.pmwsock$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmwsock.pas $(PMWSOCK_DEPS)
  2814. $(COMPILER) -Fi$(OS2DIR) $<
  2815. PMBIDI_DEPS = $(OS2DIR)/pmbidi.pas $(OS2DEFUNIT)$(PPUEXT) $(PMWIN)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2816. $(PMBIDI_DEPS_OS) $(PMBIDI_DEPS_CPU)
  2817. pmbidi$(PPUEXT) : $(PMBIDI_DEPS)
  2818. $(COMPILER) $<
  2819. OS2Api.pmbidi$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmbidi.pas $(PMBIDI_DEPS)
  2820. $(COMPILER) -Fi$(OS2DIR) $<
  2821. EXE_DEPS = $(OS2DIR)/exe.pas $(SYSTEMUNIT)$(PPUEXT) \
  2822. $(EXE_DEPS_OS) $(EXE_DEPS_CPU)
  2823. exe$(PPUEXT) : $(EXE_DEPS)
  2824. $(COMPILER) $<
  2825. OS2Api.exe$(PPUEXT) : $(NSOS2DIR)/OS2Api.exe.pas $(EXE_DEPS)
  2826. $(COMPILER) -Fi$(OS2DIR) $<
  2827. NEWEXE_DEPS = $(OS2DIR)/newexe.pas $(SYSTEMUNIT)$(PPUEXT) \
  2828. $(NEWEXE_DEPS_OS) $(NEWEXE_DEPS_CPU)
  2829. newexe$(PPUEXT) : $(NEWEXE_DEPS)
  2830. $(COMPILER) $<
  2831. OS2Api.newexe$(PPUEXT) : $(NSOS2DIR)/OS2Api.newexe.pas $(NEWEXE_DEPS)
  2832. $(COMPILER) -Fi$(OS2DIR) $<
  2833. .NOTPARALLEL:
  2834. include $(INC)/makefile.inc
  2835. SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
  2836. include $(PROCINC)/makefile.cpu
  2837. SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
  2838. SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) qdos.inc qdosh.inc qdosfuncs.inc sms.inc
  2839. $(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp $(SYSDEPS)
  2840. $(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg @rtl.cfg $(SYSTEMUNIT).pp $(REDIR)
  2841. uuchar$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT) $(INC)/uuchar.pp
  2842. $(COMPILER) $(INC)/uuchar.pp
  2843. objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT)
  2844. $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp $(REDIR)
  2845. iso7185$(PPUEXT) : $(INC)/iso7185.pp buildrtl$(PPUEXT)
  2846. $(COMPILER) $(INC)/iso7185.pp
  2847. extpas$(PPUEXT) : $(INC)/extpas.pp buildrtl$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  2848. $(COMPILER) $(INC)/extpas.pp
  2849. buildrtl$(PPUEXT): buildrtl.pp system$(PPUEXT) objpas$(PPUEXT)
  2850. $(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(CPU_TARGET) -Fu$(PROCINC) -Fu$(AMIINC) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl
  2851. cpall$(PPUEXT): $(RTL)/charmaps/cpall.pas system$(PPUEXT) objpas$(PPUEXT)
  2852. $(COMPILER) -Fu$(INC) -Fi$(RTL)/charmaps $(RTL)/charmaps/cpall.pas