Makefile 81 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821
  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. ifeq ($(RTLCONSTSUNIT),)
  794. RTLCONSTSUNIT=rtlconsts
  795. endif
  796. SAM3X8EUNIT=sam3x8e
  797. SAMD51P19AUNIT=samd51p19a
  798. SC32442BUNIT=sc32442b
  799. SFPU128UNIT=sfpu128
  800. SFPUX80UNIT=sfpux80
  801. SHAREMEMUNIT=sharemem
  802. SIGNALSUNIT=signals
  803. SO32DLLUNIT=so32dll
  804. SOFTFPUUNIT=softfpu
  805. SORTBASEUNIT=sortbase
  806. STM32F0XXUNIT=stm32f0xx
  807. STM32F103XEUNIT=stm32f103xe
  808. STM32F10X_CLUNIT=stm32f10x_cl
  809. STM32F10X_CONNUNIT=stm32f10x_conn
  810. STM32F10X_HDUNIT=stm32f10x_hd
  811. STM32F10X_LDUNIT=stm32f10x_ld
  812. STM32F10X_MDUNIT=stm32f10x_md
  813. STM32F10X_XLUNIT=stm32f10x_xl
  814. STM32F401XEUNIT=stm32f401xe
  815. STM32F401XXUNIT=stm32f401xx
  816. STM32F407XXUNIT=stm32f407xx
  817. STM32F411XEUNIT=stm32f411xe
  818. STM32F429UNIT=stm32f429
  819. STM32F429XXUNIT=stm32f429xx
  820. STM32F446XXUNIT=stm32f446xx
  821. STM32F745UNIT=stm32f745
  822. STM32F746UNIT=stm32f746
  823. STM32F756UNIT=stm32f756
  824. STM32G071XXUNIT=stm32g071xx
  825. STRINGSUNIT=strings
  826. SYMBIANUNIT=symbian
  827. SYSALLUNIT=sysall
  828. SYSCALLUNIT=syscall
  829. SYSCONSTUNIT=sysconst
  830. SYSCTLUNIT=sysctl
  831. SYSEMXUNIT=sysemx
  832. SYSOS2UNIT=sysos2
  833. SYSTRAPSUNIT=systraps
  834. SYSUTILSUNIT=sysutils
  835. TERMIOUNIT=termio
  836. TYPESUNIT=types
  837. TYPINFOUNIT=typinfo
  838. UFLOAT128UNIT=ufloat128
  839. UFLOATX80UNIT=ufloatx80
  840. UIUNIT=ui
  841. UIQUNIT=uiq
  842. UIQCLASSESUNIT=uiqclasses
  843. UNICODEDATAUNIT=unicodedata
  844. UNIXUNIT=unix
  845. UNIXCPUNIT=unixcp
  846. UNIXTYPEUNIT=unixtype
  847. UNIXUTILUNIT=unixutil
  848. VIOCALLSUNIT=viocalls
  849. WASIAPIUNIT=wasiapi
  850. WASIUTILUNIT=wasiutil
  851. WATCOMUNIT=watcom
  852. WEBASSEMBLYUNIT=webassembly
  853. WIN31UNIT=win31
  854. WINDIRSUNIT=windirs
  855. WINDOWSUNIT=windows
  856. WINPROCSUNIT=winprocs
  857. WINSYSUTUNIT=winsysut
  858. WINTYPESUNIT=wintypes
  859. X86UNIT=x86
  860. XMC4500UNIT=xmc4500
  861. endif
  862. ifdef FPC_DOTTEDUNITS
  863. NS_SYSTEM=System.
  864. NS_CPUNITS=System.CodePages.
  865. NSDIR=$(RTL)/namespaced
  866. NSINC=$(NSDIR)/common
  867. OPT:=$(OPT) -dFPC_DOTTEDUNITS
  868. BASEINCLUDE=$(INC) $(PROCINC)
  869. BASESOURCE=$(INC) $(PROCINC) $($(COMMONUNIT))
  870. endif
  871. CPUNITSBASE=$(CP1250UNIT) $(CP1251UNIT) $(CP1252UNIT) $(CP1253UNIT) $(CP1254UNIT) $(CP1255UNIT) $(CP1256UNIT) $(CP1257UNIT) $(CP1258UNIT) \
  872. $(CP437UNIT) $(CP646UNIT) $(CP737UNIT) $(CP775UNIT) $(CP850UNIT) $(CP852UNIT) $(CP855UNIT) $(CP856UNIT) $(CP857UNIT) $(CP860UNIT) $(CP861UNIT) $(CP862UNIT) \
  873. $(CP863UNIT) $(CP864UNIT) $(CP865UNIT) $(CP866UNIT) $(CP869UNIT) $(CP874UNIT) $(CP3021UNIT) $(CP8859_1UNIT) $(CP8859_2UNIT) $(CP8859_3UNIT) $(CP8859_4UNIT) \
  874. $(CP8859_5UNIT) $(CP8859_6UNIT) $(CP8859_7UNIT) $(CP8859_8UNIT) $(CP8859_9UNIT) $(CP8859_10UNIT) $(CP8859_11UNIT) \
  875. $(CP8859_13UNIT) $(CP8859_14UNIT) $(CP8859_15UNIT) $(CP8859_16UNIT) $(CPKOI8_RUNIT) $(CPKOI8_UUNIT)
  876. CPUNITS=$(addprefix $(NS_CPUNITS),$(CPUNITSBASE))
  877. RTL=..
  878. INC=$(RTL)/inc
  879. COMMON=$(RTL)/common
  880. PROCINC=$(RTL)/$(CPU_TARGET)
  881. UNITPREFIX=rtl
  882. LOADERS=
  883. SYSTEMUNIT=system
  884. ifdef RELEASE
  885. override FPCOPT+=-Ur
  886. endif
  887. OBJPASDIR=$(RTL)/objpas
  888. ifeq ($(CPU_OS_TARGET),m68k-sinclairql)
  889. override TARGET_UNITS+=$(SYSTEMUNIT) uuchar objpas iso7185 buildrtl cpall
  890. endif
  891. ifeq ($(CPU_OS_TARGET),m68k-sinclairql)
  892. 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
  893. endif
  894. ifeq ($(CPU_OS_TARGET),m68k-sinclairql)
  895. override TARGET_LOADERS+=$(LOADERS)
  896. endif
  897. ifeq ($(CPU_OS_TARGET),m68k-sinclairql)
  898. override TARGET_RSTS+=math rtlconsts typinfo classes sysconst
  899. endif
  900. override INSTALL_FPCPACKAGE=y y
  901. ifeq ($(CPU_OS_TARGET),m68k-sinclairql)
  902. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(CPU_TARGET)
  903. endif
  904. ifeq ($(CPU_OS_TARGET),m68k-sinclairql)
  905. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(CPU_TARGET) $(COMMON)
  906. endif
  907. ifdef REQUIRE_UNITSDIR
  908. override UNITSDIR+=$(REQUIRE_UNITSDIR)
  909. endif
  910. ifdef REQUIRE_PACKAGESDIR
  911. override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
  912. endif
  913. ifdef ZIPINSTALL
  914. ifneq ($(filter $(OS_TARGET),$(UNIXs)),)
  915. UNIXHier=1
  916. endif
  917. else
  918. ifneq ($(filter $(OS_SOURCE),$(UNIXs)),)
  919. UNIXHier=1
  920. endif
  921. endif
  922. ifndef INSTALL_PREFIX
  923. ifdef PREFIX
  924. INSTALL_PREFIX=$(PREFIX)
  925. endif
  926. endif
  927. ifndef INSTALL_PREFIX
  928. ifdef UNIXHier
  929. INSTALL_PREFIX=/usr/local
  930. else
  931. ifdef INSTALL_FPCPACKAGE
  932. INSTALL_BASEDIR:=/pp
  933. else
  934. INSTALL_BASEDIR:=/$(PACKAGE_NAME)
  935. endif
  936. endif
  937. endif
  938. export INSTALL_PREFIX
  939. ifdef INSTALL_FPCSUBDIR
  940. export INSTALL_FPCSUBDIR
  941. endif
  942. ifndef DIST_DESTDIR
  943. DIST_DESTDIR:=$(BASEDIR)
  944. endif
  945. export DIST_DESTDIR
  946. ifndef COMPILER_UNITTARGETDIR
  947. ifdef PACKAGEDIR_MAIN
  948. COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX)
  949. else
  950. COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX)
  951. endif
  952. endif
  953. ifndef COMPILER_TARGETDIR
  954. COMPILER_TARGETDIR=.
  955. endif
  956. ifndef INSTALL_BASEDIR
  957. ifdef UNIXHier
  958. ifdef INSTALL_FPCPACKAGE
  959. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
  960. else
  961. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
  962. endif
  963. else
  964. INSTALL_BASEDIR:=$(INSTALL_PREFIX)
  965. endif
  966. endif
  967. ifndef INSTALL_BINDIR
  968. ifdef UNIXHier
  969. INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
  970. else
  971. INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
  972. ifdef INSTALL_FPCPACKAGE
  973. ifdef CROSSCOMPILE
  974. ifdef CROSSINSTALL
  975. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX)
  976. else
  977. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
  978. endif
  979. else
  980. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
  981. endif
  982. endif
  983. endif
  984. endif
  985. ifndef INSTALL_UNITDIR
  986. INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX)
  987. ifdef INSTALL_FPCPACKAGE
  988. ifdef PACKAGE_NAME
  989. INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
  990. endif
  991. endif
  992. endif
  993. ifndef INSTALL_LIBDIR
  994. ifdef UNIXHier
  995. INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
  996. else
  997. INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
  998. endif
  999. endif
  1000. ifndef INSTALL_SOURCEDIR
  1001. ifdef UNIXHier
  1002. ifdef BSDhier
  1003. SRCPREFIXDIR=share/src
  1004. else
  1005. ifdef linuxHier
  1006. SRCPREFIXDIR=share/src
  1007. else
  1008. SRCPREFIXDIR=src
  1009. endif
  1010. endif
  1011. ifdef INSTALL_FPCPACKAGE
  1012. ifdef INSTALL_FPCSUBDIR
  1013. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
  1014. else
  1015. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  1016. endif
  1017. else
  1018. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  1019. endif
  1020. else
  1021. ifdef INSTALL_FPCPACKAGE
  1022. ifdef INSTALL_FPCSUBDIR
  1023. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
  1024. else
  1025. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
  1026. endif
  1027. else
  1028. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
  1029. endif
  1030. endif
  1031. endif
  1032. ifndef INSTALL_DOCDIR
  1033. ifdef UNIXHier
  1034. ifdef BSDhier
  1035. DOCPREFIXDIR=share/doc
  1036. else
  1037. ifdef linuxHier
  1038. DOCPREFIXDIR=share/doc
  1039. else
  1040. DOCPREFIXDIR=doc
  1041. endif
  1042. endif
  1043. ifdef INSTALL_FPCPACKAGE
  1044. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  1045. else
  1046. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  1047. endif
  1048. else
  1049. ifdef INSTALL_FPCPACKAGE
  1050. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
  1051. else
  1052. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
  1053. endif
  1054. endif
  1055. endif
  1056. ifndef INSTALL_EXAMPLEDIR
  1057. ifdef UNIXHier
  1058. ifdef INSTALL_FPCPACKAGE
  1059. ifdef BSDhier
  1060. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  1061. else
  1062. ifdef linuxHier
  1063. INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
  1064. else
  1065. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
  1066. endif
  1067. endif
  1068. else
  1069. ifdef BSDhier
  1070. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  1071. else
  1072. ifdef linuxHier
  1073. INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  1074. else
  1075. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  1076. endif
  1077. endif
  1078. endif
  1079. else
  1080. ifdef INSTALL_FPCPACKAGE
  1081. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
  1082. else
  1083. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
  1084. endif
  1085. endif
  1086. endif
  1087. ifndef INSTALL_DATADIR
  1088. INSTALL_DATADIR=$(INSTALL_BASEDIR)
  1089. endif
  1090. ifndef INSTALL_SHAREDDIR
  1091. INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib
  1092. endif
  1093. ifdef CROSSCOMPILE
  1094. ifndef CROSSBINDIR
  1095. CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
  1096. ifeq ($(CROSSBINDIR),)
  1097. CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE))
  1098. endif
  1099. endif
  1100. else
  1101. CROSSBINDIR=
  1102. endif
  1103. BATCHEXT=.bat
  1104. LOADEREXT=.as
  1105. EXEEXT=.exe
  1106. PPLEXT=.ppl
  1107. PPUEXT=.ppu
  1108. OEXT=.o
  1109. LTOEXT=.bc
  1110. ASMEXT=.s
  1111. SMARTEXT=.sl
  1112. STATICLIBEXT=.a
  1113. SHAREDLIBEXT=.so
  1114. SHAREDLIBPREFIX=libfp
  1115. STATICLIBPREFIX=libp
  1116. IMPORTLIBPREFIX=libimp
  1117. RSTEXT=.rst
  1118. EXEDBGEXT=.dbg
  1119. ifeq ($(OS_TARGET),go32v1)
  1120. STATICLIBPREFIX=
  1121. SHORTSUFFIX=v1
  1122. endif
  1123. ifeq ($(OS_TARGET),go32v2)
  1124. STATICLIBPREFIX=
  1125. SHORTSUFFIX=dos
  1126. IMPORTLIBPREFIX=
  1127. endif
  1128. ifeq ($(OS_TARGET),watcom)
  1129. STATICLIBPREFIX=
  1130. OEXT=.obj
  1131. ASMEXT=.asm
  1132. SHAREDLIBEXT=.dll
  1133. SHORTSUFFIX=wat
  1134. IMPORTLIBPREFIX=
  1135. endif
  1136. ifneq ($(CPU_TARGET),jvm)
  1137. ifeq ($(OS_TARGET),android)
  1138. BATCHEXT=.sh
  1139. EXEEXT=
  1140. HASSHAREDLIB=1
  1141. SHORTSUFFIX=lnx
  1142. endif
  1143. endif
  1144. ifeq ($(OS_TARGET),linux)
  1145. BATCHEXT=.sh
  1146. EXEEXT=
  1147. HASSHAREDLIB=1
  1148. SHORTSUFFIX=lnx
  1149. endif
  1150. ifeq ($(OS_TARGET),dragonfly)
  1151. BATCHEXT=.sh
  1152. EXEEXT=
  1153. HASSHAREDLIB=1
  1154. SHORTSUFFIX=df
  1155. endif
  1156. ifeq ($(OS_TARGET),freebsd)
  1157. BATCHEXT=.sh
  1158. EXEEXT=
  1159. HASSHAREDLIB=1
  1160. SHORTSUFFIX=fbs
  1161. endif
  1162. ifeq ($(OS_TARGET),netbsd)
  1163. BATCHEXT=.sh
  1164. EXEEXT=
  1165. HASSHAREDLIB=1
  1166. SHORTSUFFIX=nbs
  1167. endif
  1168. ifeq ($(OS_TARGET),openbsd)
  1169. BATCHEXT=.sh
  1170. EXEEXT=
  1171. HASSHAREDLIB=1
  1172. SHORTSUFFIX=obs
  1173. endif
  1174. ifeq ($(OS_TARGET),win32)
  1175. SHAREDLIBEXT=.dll
  1176. SHORTSUFFIX=w32
  1177. endif
  1178. ifeq ($(OS_TARGET),os2)
  1179. BATCHEXT=.cmd
  1180. AOUTEXT=.out
  1181. STATICLIBPREFIX=
  1182. SHAREDLIBEXT=.dll
  1183. SHORTSUFFIX=os2
  1184. ECHO=echo
  1185. IMPORTLIBPREFIX=
  1186. endif
  1187. ifeq ($(OS_TARGET),emx)
  1188. BATCHEXT=.cmd
  1189. AOUTEXT=.out
  1190. STATICLIBPREFIX=
  1191. SHAREDLIBEXT=.dll
  1192. SHORTSUFFIX=emx
  1193. ECHO=echo
  1194. IMPORTLIBPREFIX=
  1195. endif
  1196. ifeq ($(OS_TARGET),amiga)
  1197. EXEEXT=
  1198. SHAREDLIBEXT=.library
  1199. SHORTSUFFIX=amg
  1200. endif
  1201. ifeq ($(OS_TARGET),aros)
  1202. EXEEXT=
  1203. SHAREDLIBEXT=.library
  1204. SHORTSUFFIX=aros
  1205. endif
  1206. ifeq ($(OS_TARGET),morphos)
  1207. EXEEXT=
  1208. SHAREDLIBEXT=.library
  1209. SHORTSUFFIX=mos
  1210. endif
  1211. ifeq ($(OS_TARGET),atari)
  1212. EXEEXT=.ttp
  1213. SHORTSUFFIX=ata
  1214. endif
  1215. ifeq ($(OS_TARGET),beos)
  1216. BATCHEXT=.sh
  1217. EXEEXT=
  1218. SHORTSUFFIX=be
  1219. endif
  1220. ifeq ($(OS_TARGET),haiku)
  1221. BATCHEXT=.sh
  1222. EXEEXT=
  1223. SHORTSUFFIX=hai
  1224. endif
  1225. ifeq ($(OS_TARGET),solaris)
  1226. BATCHEXT=.sh
  1227. EXEEXT=
  1228. SHORTSUFFIX=sun
  1229. endif
  1230. ifeq ($(OS_TARGET),qnx)
  1231. BATCHEXT=.sh
  1232. EXEEXT=
  1233. SHORTSUFFIX=qnx
  1234. endif
  1235. ifeq ($(OS_TARGET),netware)
  1236. EXEEXT=.nlm
  1237. STATICLIBPREFIX=
  1238. SHORTSUFFIX=nw
  1239. IMPORTLIBPREFIX=imp
  1240. endif
  1241. ifeq ($(OS_TARGET),netwlibc)
  1242. EXEEXT=.nlm
  1243. STATICLIBPREFIX=
  1244. SHORTSUFFIX=nwl
  1245. IMPORTLIBPREFIX=imp
  1246. endif
  1247. ifeq ($(OS_TARGET),macosclassic)
  1248. BATCHEXT=
  1249. EXEEXT=
  1250. DEBUGSYMEXT=.xcoff
  1251. SHORTSUFFIX=mac
  1252. IMPORTLIBPREFIX=imp
  1253. endif
  1254. ifneq ($(filter $(OS_TARGET),darwin iphonesim ios),)
  1255. BATCHEXT=.sh
  1256. EXEEXT=
  1257. HASSHAREDLIB=1
  1258. SHORTSUFFIX=dwn
  1259. EXEDBGEXT=.dSYM
  1260. endif
  1261. ifeq ($(OS_TARGET),gba)
  1262. EXEEXT=.gba
  1263. SHAREDLIBEXT=.so
  1264. SHORTSUFFIX=gba
  1265. endif
  1266. ifeq ($(OS_TARGET),symbian)
  1267. SHAREDLIBEXT=.dll
  1268. SHORTSUFFIX=symbian
  1269. endif
  1270. ifeq ($(OS_TARGET),NativeNT)
  1271. SHAREDLIBEXT=.dll
  1272. SHORTSUFFIX=nativent
  1273. endif
  1274. ifeq ($(OS_TARGET),wii)
  1275. EXEEXT=.dol
  1276. SHAREDLIBEXT=.so
  1277. SHORTSUFFIX=wii
  1278. endif
  1279. ifeq ($(OS_TARGET),aix)
  1280. BATCHEXT=.sh
  1281. EXEEXT=
  1282. SHAREDLIBEXT=.a
  1283. SHORTSUFFIX=aix
  1284. endif
  1285. ifeq ($(OS_TARGET),java)
  1286. OEXT=.class
  1287. ASMEXT=.j
  1288. SHAREDLIBEXT=.jar
  1289. SHORTSUFFIX=java
  1290. endif
  1291. ifeq ($(CPU_TARGET),jvm)
  1292. ifeq ($(OS_TARGET),android)
  1293. OEXT=.class
  1294. ASMEXT=.j
  1295. SHAREDLIBEXT=.jar
  1296. SHORTSUFFIX=android
  1297. endif
  1298. endif
  1299. ifeq ($(OS_TARGET),msdos)
  1300. STATICLIBPREFIX=
  1301. STATICLIBEXT=.a
  1302. SHORTSUFFIX=d16
  1303. endif
  1304. ifeq ($(OS_TARGET),msxdos)
  1305. STATICLIBPREFIX=
  1306. STATICLIBEXT=.a
  1307. SHORTSUFFIX=msd
  1308. endif
  1309. ifeq ($(OS_TARGET),embedded)
  1310. ifeq ($(CPU_TARGET),i8086)
  1311. STATICLIBPREFIX=
  1312. STATICLIBEXT=.a
  1313. else
  1314. EXEEXT=.bin
  1315. endif
  1316. ifeq ($(CPU_TARGET),z80)
  1317. OEXT=.rel
  1318. endif
  1319. SHORTSUFFIX=emb
  1320. endif
  1321. ifeq ($(OS_TARGET),win16)
  1322. STATICLIBPREFIX=
  1323. STATICLIBEXT=.a
  1324. SHAREDLIBEXT=.dll
  1325. SHORTSUFFIX=w16
  1326. endif
  1327. ifeq ($(OS_TARGET),zxspectrum)
  1328. OEXT=.rel
  1329. endif
  1330. ifeq ($(OS_TARGET),wasi)
  1331. EXEEXT=.wasm
  1332. endif
  1333. ifneq ($(filter $(OS_SOURCE),$(LIMIT83fs)),)
  1334. FPCMADE=fpcmade.$(SHORTSUFFIX)
  1335. ZIPSUFFIX=$(SHORTSUFFIX)
  1336. ZIPCROSSPREFIX=
  1337. ZIPSOURCESUFFIX=src
  1338. ZIPEXAMPLESUFFIX=exm
  1339. else
  1340. FPCMADE=fpcmade.$(TARGETSUFFIX)
  1341. ZIPSOURCESUFFIX=.source
  1342. ZIPEXAMPLESUFFIX=.examples
  1343. ifdef CROSSCOMPILE
  1344. ZIPSUFFIX=.$(SOURCESUFFIX)
  1345. ZIPCROSSPREFIX=$(TARGETSUFFIX)-
  1346. else
  1347. ZIPSUFFIX=.$(TARGETSUFFIX)
  1348. ZIPCROSSPREFIX=
  1349. endif
  1350. endif
  1351. ifndef ECHO
  1352. ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
  1353. ifeq ($(ECHO),)
  1354. ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
  1355. ifeq ($(ECHO),)
  1356. ECHO= __missing_command_ECHO
  1357. else
  1358. ECHO:=$(firstword $(ECHO))
  1359. endif
  1360. else
  1361. ECHO:=$(firstword $(ECHO))
  1362. endif
  1363. endif
  1364. export ECHO
  1365. ifndef DATE
  1366. DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
  1367. ifeq ($(DATE),)
  1368. DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
  1369. ifeq ($(DATE),)
  1370. DATE= __missing_command_DATE
  1371. else
  1372. DATE:=$(firstword $(DATE))
  1373. endif
  1374. else
  1375. DATE:=$(firstword $(DATE))
  1376. endif
  1377. endif
  1378. export DATE
  1379. ifndef GINSTALL
  1380. GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
  1381. ifeq ($(GINSTALL),)
  1382. GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
  1383. ifeq ($(GINSTALL),)
  1384. GINSTALL= __missing_command_GINSTALL
  1385. else
  1386. GINSTALL:=$(firstword $(GINSTALL))
  1387. endif
  1388. else
  1389. GINSTALL:=$(firstword $(GINSTALL))
  1390. endif
  1391. endif
  1392. export GINSTALL
  1393. ifndef CPPROG
  1394. CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
  1395. ifeq ($(CPPROG),)
  1396. CPPROG= __missing_command_CPPROG
  1397. else
  1398. CPPROG:=$(firstword $(CPPROG))
  1399. endif
  1400. endif
  1401. export CPPROG
  1402. ifndef RMPROG
  1403. RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
  1404. ifeq ($(RMPROG),)
  1405. RMPROG= __missing_command_RMPROG
  1406. else
  1407. RMPROG:=$(firstword $(RMPROG))
  1408. endif
  1409. endif
  1410. export RMPROG
  1411. ifndef MVPROG
  1412. MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
  1413. ifeq ($(MVPROG),)
  1414. MVPROG= __missing_command_MVPROG
  1415. else
  1416. MVPROG:=$(firstword $(MVPROG))
  1417. endif
  1418. endif
  1419. export MVPROG
  1420. ifndef MKDIRPROG
  1421. MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH))))
  1422. ifeq ($(MKDIRPROG),)
  1423. MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH))))
  1424. ifeq ($(MKDIRPROG),)
  1425. MKDIRPROG= __missing_command_MKDIRPROG
  1426. else
  1427. MKDIRPROG:=$(firstword $(MKDIRPROG))
  1428. endif
  1429. else
  1430. MKDIRPROG:=$(firstword $(MKDIRPROG))
  1431. endif
  1432. endif
  1433. export MKDIRPROG
  1434. ifndef ECHOREDIR
  1435. ifndef inUnix
  1436. ECHOREDIR=echo
  1437. else
  1438. ECHOREDIR=$(ECHO)
  1439. endif
  1440. endif
  1441. ifndef COPY
  1442. COPY:=$(CPPROG) -fp
  1443. endif
  1444. ifndef COPYTREE
  1445. COPYTREE:=$(CPPROG) -Rfp
  1446. endif
  1447. ifndef MKDIRTREE
  1448. MKDIRTREE:=$(MKDIRPROG) -p
  1449. endif
  1450. ifndef MOVE
  1451. MOVE:=$(MVPROG) -f
  1452. endif
  1453. ifndef DEL
  1454. DEL:=$(RMPROG) -f
  1455. endif
  1456. ifndef DELTREE
  1457. DELTREE:=$(RMPROG) -rf
  1458. endif
  1459. ifndef INSTALL
  1460. ifdef inUnix
  1461. INSTALL:=$(GINSTALL) -c -m 644
  1462. else
  1463. INSTALL:=$(COPY)
  1464. endif
  1465. endif
  1466. ifndef INSTALLEXE
  1467. ifdef inUnix
  1468. INSTALLEXE:=$(GINSTALL) -c -m 755
  1469. else
  1470. INSTALLEXE:=$(COPY)
  1471. endif
  1472. endif
  1473. ifndef MKDIR
  1474. MKDIR:=$(GINSTALL) -m 755 -d
  1475. endif
  1476. export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
  1477. ifndef PPUMOVE
  1478. PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
  1479. ifeq ($(PPUMOVE),)
  1480. PPUMOVE= __missing_command_PPUMOVE
  1481. else
  1482. PPUMOVE:=$(firstword $(PPUMOVE))
  1483. endif
  1484. endif
  1485. export PPUMOVE
  1486. ifndef FPCMAKE
  1487. FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
  1488. ifeq ($(FPCMAKE),)
  1489. FPCMAKE= __missing_command_FPCMAKE
  1490. else
  1491. FPCMAKE:=$(firstword $(FPCMAKE))
  1492. endif
  1493. endif
  1494. export FPCMAKE
  1495. ifndef ZIPPROG
  1496. ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
  1497. ifeq ($(ZIPPROG),)
  1498. ZIPPROG= __missing_command_ZIPPROG
  1499. else
  1500. ZIPPROG:=$(firstword $(ZIPPROG))
  1501. endif
  1502. endif
  1503. export ZIPPROG
  1504. ifndef TARPROG
  1505. TARPROG:=$(strip $(wildcard $(addsuffix /gtar$(SRCEXEEXT),$(SEARCHPATH))))
  1506. ifeq ($(TARPROG),)
  1507. TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
  1508. ifeq ($(TARPROG),)
  1509. TARPROG= __missing_command_TARPROG
  1510. else
  1511. TARPROG:=$(firstword $(TARPROG))
  1512. endif
  1513. else
  1514. TARPROG:=$(firstword $(TARPROG))
  1515. endif
  1516. endif
  1517. export TARPROG
  1518. ASNAME=$(BINUTILSPREFIX)as
  1519. LDNAME=$(BINUTILSPREFIX)ld
  1520. ARNAME=$(BINUTILSPREFIX)ar
  1521. RCNAME=$(BINUTILSPREFIX)rc
  1522. NASMNAME=$(BINUTILSPREFIX)nasm
  1523. ifndef ASPROG
  1524. ifdef CROSSBINDIR
  1525. ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
  1526. else
  1527. ASPROG=$(ASNAME)
  1528. endif
  1529. endif
  1530. ifndef LDPROG
  1531. ifdef CROSSBINDIR
  1532. LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
  1533. else
  1534. LDPROG=$(LDNAME)
  1535. endif
  1536. endif
  1537. ifndef RCPROG
  1538. ifdef CROSSBINDIR
  1539. RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
  1540. else
  1541. RCPROG=$(RCNAME)
  1542. endif
  1543. endif
  1544. ifndef ARPROG
  1545. ifdef CROSSBINDIR
  1546. ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
  1547. else
  1548. ARPROG=$(ARNAME)
  1549. endif
  1550. endif
  1551. ifndef NASMPROG
  1552. ifdef CROSSBINDIR
  1553. NASMPROG=$(CROSSBINDIR)/$(NASMNAME)$(SRCEXEEXT)
  1554. else
  1555. NASMPROG=$(NASMNAME)
  1556. endif
  1557. endif
  1558. AS=$(ASPROG)
  1559. LD=$(LDPROG)
  1560. RC=$(RCPROG)
  1561. AR=$(ARPROG)
  1562. NASM=$(NASMPROG)
  1563. ifdef inUnix
  1564. PPAS=./ppas$(SRCBATCHEXT)
  1565. else
  1566. PPAS=ppas$(SRCBATCHEXT)
  1567. endif
  1568. ifdef inUnix
  1569. LDCONFIG=ldconfig
  1570. else
  1571. LDCONFIG=
  1572. endif
  1573. ifdef DATE
  1574. DATESTR:=$(shell $(DATE) +%Y%m%d)
  1575. else
  1576. DATESTR=
  1577. endif
  1578. ZIPOPT=-9
  1579. ZIPEXT=.zip
  1580. ifeq ($(USETAR),bz2)
  1581. TAROPT=vj
  1582. TAREXT=.tar.bz2
  1583. else
  1584. TAROPT=vz
  1585. TAREXT=.tar.gz
  1586. endif
  1587. ifndef NOCPUDEF
  1588. override FPCOPTDEF=$(ARCH)
  1589. endif
  1590. ifneq ($(OS_TARGET),$(OS_SOURCE))
  1591. override FPCOPT+=-T$(OS_TARGET)
  1592. endif
  1593. ifneq ($(CPU_TARGET),$(CPU_SOURCE))
  1594. override FPCOPT+=-P$(ARCH)
  1595. endif
  1596. ifeq ($(OS_SOURCE),openbsd)
  1597. override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
  1598. override FPCMAKEOPT+=-FD$(NEW_BINUTILS_PATH)
  1599. override FPMAKE_BUILD_OPT+=-FD$(NEW_BINUTILS_PATH)
  1600. endif
  1601. ifndef CROSSBOOTSTRAP
  1602. ifneq ($(BINUTILSPREFIX),)
  1603. override FPCOPT+=-XP$(BINUTILSPREFIX)
  1604. ifneq ($(RLINKPATH),)
  1605. override FPCOPT+=-Xr$(RLINKPATH)
  1606. endif
  1607. endif
  1608. endif
  1609. ifndef CROSSCOMPILE
  1610. ifneq ($(BINUTILSPREFIX),)
  1611. override FPCMAKEOPT+=-XP$(BINUTILSPREFIX)
  1612. override FPMAKE_BUILD_OPT+=-XP$(BINUTILSPREFIX)
  1613. endif
  1614. endif
  1615. ifdef UNITDIR
  1616. override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
  1617. endif
  1618. ifdef LIBDIR
  1619. override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
  1620. endif
  1621. ifdef OBJDIR
  1622. override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
  1623. endif
  1624. ifdef INCDIR
  1625. override FPCOPT+=$(addprefix -Fi,$(INCDIR))
  1626. endif
  1627. ifdef LINKSMART
  1628. override FPCOPT+=-XX
  1629. endif
  1630. ifdef CREATESMART
  1631. override FPCOPT+=-CX
  1632. endif
  1633. ifdef DEBUG
  1634. override FPCOPT+=-gl
  1635. override FPCOPTDEF+=DEBUG
  1636. endif
  1637. ifdef RELEASE
  1638. FPCCPUOPT:=-O2
  1639. override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
  1640. override FPCOPTDEF+=RELEASE
  1641. endif
  1642. ifdef STRIP
  1643. override FPCOPT+=-Xs
  1644. endif
  1645. ifdef OPTIMIZE
  1646. override FPCOPT+=-O2
  1647. endif
  1648. ifdef VERBOSE
  1649. override FPCOPT+=-vwni
  1650. endif
  1651. ifdef COMPILER_OPTIONS
  1652. override FPCOPT+=$(COMPILER_OPTIONS)
  1653. endif
  1654. ifdef COMPILER_UNITDIR
  1655. override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
  1656. endif
  1657. ifdef COMPILER_LIBRARYDIR
  1658. override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
  1659. endif
  1660. ifdef COMPILER_OBJECTDIR
  1661. override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
  1662. endif
  1663. ifdef COMPILER_INCLUDEDIR
  1664. override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
  1665. endif
  1666. ifdef CROSSBINDIR
  1667. override FPCOPT+=-FD$(CROSSBINDIR)
  1668. endif
  1669. ifdef COMPILER_TARGETDIR
  1670. override FPCOPT+=-FE$(COMPILER_TARGETDIR)
  1671. ifeq ($(COMPILER_TARGETDIR),.)
  1672. override TARGETDIRPREFIX=
  1673. else
  1674. override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
  1675. endif
  1676. endif
  1677. ifdef COMPILER_UNITTARGETDIR
  1678. override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
  1679. ifeq ($(COMPILER_UNITTARGETDIR),.)
  1680. override UNITTARGETDIRPREFIX=
  1681. else
  1682. override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
  1683. endif
  1684. else
  1685. ifdef COMPILER_TARGETDIR
  1686. override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
  1687. override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
  1688. endif
  1689. endif
  1690. ifdef SYSROOTPATH
  1691. override FPCOPT+=-XR$(SYSROOTPATH)
  1692. else
  1693. ifeq ($(OS_TARGET),$(OS_SOURCE))
  1694. ifeq ($(OS_TARGET),darwin)
  1695. ifeq ($(CPU_TARGET),aarch64)
  1696. ifneq ($(wildcard /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk),)
  1697. override FPCOPT+=-XR/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
  1698. endif
  1699. endif
  1700. endif
  1701. endif
  1702. endif
  1703. ifdef CREATESHARED
  1704. override FPCOPT+=-Cg
  1705. endif
  1706. ifneq ($(filter $(OS_TARGET),dragonfly freebsd openbsd netbsd linux solaris),)
  1707. ifneq ($(filter $(CPU_TARGET),x86_64 mips mipsel mips64 mips64el riscv64 powerpc64),)
  1708. override FPCOPT+=-Cg
  1709. endif
  1710. endif
  1711. ifneq ($(filter $(CPU_TARGET),z80),)
  1712. override FPCOPT+=-CX -XX
  1713. endif
  1714. ifdef LINKSHARED
  1715. endif
  1716. ifdef OPT
  1717. override FPCOPT+=$(OPT)
  1718. endif
  1719. ifdef FPMAKEBUILDOPT
  1720. override FPMAKE_BUILD_OPT+=$(FPMAKEBUILDOPT)
  1721. endif
  1722. ifdef FPCOPTDEF
  1723. override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
  1724. endif
  1725. ifdef CFGFILE
  1726. override FPCOPT+=@$(CFGFILE)
  1727. endif
  1728. ifdef USEENV
  1729. override FPCEXTCMD:=$(FPCOPT)
  1730. override FPCOPT:=!FPCEXTCMD
  1731. export FPCEXTCMD
  1732. endif
  1733. override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
  1734. override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
  1735. ifneq ($(AFULL_TARGET),$(AFULL_SOURCE))
  1736. override ACROSSCOMPILE=1
  1737. endif
  1738. ifdef ACROSSCOMPILE
  1739. override FPCOPT+=$(CROSSOPT)
  1740. endif
  1741. override COMPILER:=$(strip $(FPC) $(FPCOPT))
  1742. ifneq (,$(filter -sh,$(COMPILER)))
  1743. UseEXECPPAS=1
  1744. endif
  1745. ifneq (,$(filter -s,$(COMPILER)))
  1746. ifeq ($(FULL_SOURCE),$(FULL_TARGET))
  1747. UseEXECPPAS=1
  1748. endif
  1749. endif
  1750. ifneq ($(UseEXECPPAS),1)
  1751. EXECPPAS=
  1752. else
  1753. ifdef RUNBATCH
  1754. EXECPPAS:=@$(RUNBATCH) $(PPAS)
  1755. else
  1756. EXECPPAS:=@$(PPAS)
  1757. endif
  1758. endif
  1759. .PHONY: fpc_loaders
  1760. ifneq ($(TARGET_LOADERS),)
  1761. override ALLTARGET+=fpc_loaders
  1762. override CLEANTARGET+=fpc_loaders_clean
  1763. override INSTALLTARGET+=fpc_loaders_install
  1764. override LOADEROFILES:=$(addsuffix $(OEXT),$(TARGET_LOADERS))
  1765. endif
  1766. %$(OEXT): %$(LOADEREXT)
  1767. ifdef COMPILER_UNITTARGETDIR
  1768. $(AS) -o $(COMPILER_UNITTARGETDIR)/$*$(OEXT) $<
  1769. else
  1770. $(AS) -o $*$(OEXT) $<
  1771. endif
  1772. fpc_loaders: $(COMPILER_UNITTARGETDIR) $(LOADEROFILES)
  1773. fpc_loaders_clean:
  1774. ifdef COMPILER_UNITTARGETDIR
  1775. -$(DEL) $(addprefix $(COMPILER_UNITTARGETDIR)/,$(LOADEROFILES))
  1776. else
  1777. -$(DEL) $(LOADEROFILES)
  1778. endif
  1779. fpc_loaders_install:
  1780. $(MKDIR) $(INSTALL_UNITDIR)
  1781. ifdef COMPILER_UNITTARGETDIR
  1782. $(INSTALL) $(addprefix $(COMPILER_UNITTARGETDIR)/,$(LOADEROFILES)) $(INSTALL_UNITDIR)
  1783. else
  1784. $(INSTALL) $(LOADEROFILES) $(INSTALL_UNITDIR)
  1785. endif
  1786. .PHONY: fpc_units
  1787. ifneq ($(TARGET_UNITS)$(TARGET_IMPLICITUNITS),)
  1788. override ALLTARGET+=fpc_units
  1789. override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS))
  1790. override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS))
  1791. override INSTALLPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
  1792. override CLEANPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
  1793. endif
  1794. fpc_units: $(COMPILER_UNITTARGETDIR) $(UNITPPUFILES)
  1795. ifdef TARGET_RSTS
  1796. override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
  1797. override CLEANRSTFILES+=$(RSTFILES)
  1798. endif
  1799. .PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared
  1800. $(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
  1801. @$(ECHOREDIR) Compiled > $(FPCMADE)
  1802. fpc_all: $(FPCMADE)
  1803. fpc_smart:
  1804. $(MAKE) all LINKSMART=1 CREATESMART=1
  1805. fpc_debug:
  1806. $(MAKE) all DEBUG=1
  1807. fpc_release:
  1808. $(MAKE) all RELEASE=1
  1809. .SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) $(LTOEXT) .pas .lpr .dpr .pp .rc .res
  1810. $(COMPILER_UNITTARGETDIR):
  1811. $(MKDIRTREE) $(COMPILER_UNITTARGETDIR)
  1812. $(COMPILER_TARGETDIR):
  1813. $(MKDIRTREE) $(COMPILER_TARGETDIR)
  1814. %$(PPUEXT): %.pp
  1815. $(COMPILER) $<
  1816. $(EXECPPAS)
  1817. %$(PPUEXT): %.pas
  1818. $(COMPILER) $<
  1819. $(EXECPPAS)
  1820. %$(EXEEXT): %.pp
  1821. $(COMPILER) $<
  1822. $(EXECPPAS)
  1823. %$(EXEEXT): %.pas
  1824. $(COMPILER) $<
  1825. $(EXECPPAS)
  1826. %$(EXEEXT): %.lpr
  1827. $(COMPILER) $<
  1828. $(EXECPPAS)
  1829. %$(EXEEXT): %.dpr
  1830. $(COMPILER) $<
  1831. $(EXECPPAS)
  1832. %.res: %.rc
  1833. windres -i $< -o $@
  1834. vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1835. vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1836. vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1837. vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1838. vpath %.inc $(COMPILER_INCLUDEDIR)
  1839. vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
  1840. vpath %$(LTOEXT) $(COMPILER_UNITTARGETDIR)
  1841. vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
  1842. .PHONY: fpc_shared
  1843. override INSTALLTARGET+=fpc_shared_install
  1844. ifndef SHARED_LIBVERSION
  1845. SHARED_LIBVERSION=$(FPC_VERSION)
  1846. endif
  1847. ifndef SHARED_LIBNAME
  1848. SHARED_LIBNAME=$(PACKAGE_NAME)
  1849. endif
  1850. ifndef SHARED_FULLNAME
  1851. SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION)$(SHAREDLIBEXT)
  1852. endif
  1853. ifndef SHARED_LIBUNITS
  1854. SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS)
  1855. override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_LIBUNITS))
  1856. endif
  1857. fpc_shared:
  1858. ifdef HASSHAREDLIB
  1859. $(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1
  1860. ifneq ($(SHARED_BUILD),n)
  1861. $(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR) -P$(BINUTILSPREFIX)
  1862. endif
  1863. else
  1864. @$(ECHO) Shared Libraries not supported
  1865. endif
  1866. fpc_shared_install:
  1867. ifneq ($(SHARED_BUILD),n)
  1868. ifneq ($(SHARED_LIBUNITS),)
  1869. ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),)
  1870. $(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(INSTALL_SHAREDDIR)
  1871. endif
  1872. endif
  1873. endif
  1874. .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
  1875. ifdef INSTALL_UNITS
  1876. override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
  1877. endif
  1878. ifdef INSTALL_BUILDUNIT
  1879. override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
  1880. endif
  1881. ifdef INSTALLPPUFILES
  1882. ifneq ($(IMPORTLIBPREFIX)-$(STATICLIBEXT),$(STATICLIBPREFIX)-$(STATICLIBEXT))
  1883. override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(subst $(PPUEXT),$(LTOEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
  1884. else
  1885. override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(subst $(PPUEXT),$(LTOEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
  1886. endif
  1887. ifneq ($(UNITTARGETDIRPREFIX),)
  1888. override INSTALLPPUFILENAMES:=$(notdir $(INSTALLPPUFILES))
  1889. override INSTALLPPULINKFILENAMES:=$(notdir $(INSTALLPPULINKFILES))
  1890. override INSTALLPPUFILES=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILENAMES))
  1891. override INSTALLPPULINKFILES=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPULINKFILENAMES)))
  1892. endif
  1893. override INSTALL_CREATEPACKAGEFPC=1
  1894. endif
  1895. ifdef INSTALLEXEFILES
  1896. ifneq ($(TARGETDIRPREFIX),)
  1897. override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(notdir $(INSTALLEXEFILES)))
  1898. endif
  1899. endif
  1900. fpc_install: all $(INSTALLTARGET)
  1901. ifdef INSTALLEXEFILES
  1902. $(MKDIR) $(INSTALL_BINDIR)
  1903. $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
  1904. endif
  1905. ifdef INSTALL_CREATEPACKAGEFPC
  1906. ifdef FPCMAKE
  1907. ifdef PACKAGE_VERSION
  1908. ifneq ($(wildcard Makefile.fpc),)
  1909. $(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
  1910. $(MKDIR) $(INSTALL_UNITDIR)
  1911. $(INSTALL) Package.fpc $(INSTALL_UNITDIR)
  1912. endif
  1913. endif
  1914. endif
  1915. endif
  1916. ifdef INSTALLPPUFILES
  1917. $(MKDIR) $(INSTALL_UNITDIR)
  1918. $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
  1919. ifneq ($(INSTALLPPULINKFILES),)
  1920. $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
  1921. endif
  1922. ifneq ($(wildcard $(LIB_FULLNAME)),)
  1923. $(MKDIR) $(INSTALL_LIBDIR)
  1924. $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
  1925. ifdef inUnix
  1926. ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
  1927. endif
  1928. endif
  1929. endif
  1930. ifdef INSTALL_FILES
  1931. $(MKDIR) $(INSTALL_DATADIR)
  1932. $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
  1933. endif
  1934. fpc_sourceinstall: distclean
  1935. $(MKDIR) $(INSTALL_SOURCEDIR)
  1936. $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
  1937. fpc_exampleinstall: $(EXAMPLEINSTALLTARGET) $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
  1938. ifdef HASEXAMPLES
  1939. $(MKDIR) $(INSTALL_EXAMPLEDIR)
  1940. endif
  1941. ifdef EXAMPLESOURCEFILES
  1942. $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
  1943. endif
  1944. ifdef TARGET_EXAMPLEDIRS
  1945. $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
  1946. endif
  1947. .PHONY: fpc_clean fpc_cleanall fpc_distclean
  1948. ifdef EXEFILES
  1949. override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
  1950. override CLEANEXEDBGFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEDBGFILES))
  1951. endif
  1952. ifdef CLEAN_PROGRAMS
  1953. override CLEANEXEFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEEXT), $(CLEAN_PROGRAMS)))
  1954. override CLEANEXEDBGFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEDBGEXT), $(CLEAN_PROGRAMS)))
  1955. endif
  1956. ifdef CLEAN_UNITS
  1957. override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
  1958. endif
  1959. ifdef CLEANPPUFILES
  1960. override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(subst $(PPUEXT),$(LTOEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
  1961. ifdef DEBUGSYMEXT
  1962. override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
  1963. endif
  1964. override CLEANPPUFILENAMES:=$(CLEANPPUFILES)
  1965. override CLEANPPUFILES=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILENAMES))
  1966. override CLEANPPULINKFILENAMES:=$(CLEANPPULINKFILES)
  1967. override CLEANPPULINKFILES=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILENAMES)))
  1968. endif
  1969. fpc_clean: $(CLEANTARGET)
  1970. ifdef CLEANEXEFILES
  1971. -$(DEL) $(CLEANEXEFILES)
  1972. endif
  1973. ifdef CLEANEXEDBGFILES
  1974. -$(DELTREE) $(CLEANEXEDBGFILES)
  1975. endif
  1976. ifdef CLEANPPUFILES
  1977. -$(DEL) $(CLEANPPUFILES)
  1978. endif
  1979. ifneq ($(CLEANPPULINKFILES),)
  1980. -$(DEL) $(CLEANPPULINKFILES)
  1981. endif
  1982. ifdef CLEANRSTFILES
  1983. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  1984. endif
  1985. ifdef CLEAN_FILES
  1986. -$(DEL) $(CLEAN_FILES)
  1987. endif
  1988. ifdef LIB_NAME
  1989. -$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
  1990. endif
  1991. -$(DEL) $(FPCMADE) *$(FULL_TARGET).fpm Package.fpc *$(ASMEXT)
  1992. -$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_script.res *_link.res
  1993. -$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT)
  1994. fpc_cleanall: $(CLEANTARGET)
  1995. ifdef CLEANEXEFILES
  1996. -$(DEL) $(CLEANEXEFILES)
  1997. endif
  1998. ifdef COMPILER_UNITTARGETDIR
  1999. ifdef CLEANPPUFILES
  2000. -$(DEL) $(CLEANPPUFILES)
  2001. endif
  2002. ifneq ($(CLEANPPULINKFILES),)
  2003. -$(DEL) $(CLEANPPULINKFILES)
  2004. endif
  2005. ifdef CLEANRSTFILES
  2006. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  2007. endif
  2008. endif
  2009. ifdef CLEAN_FILES
  2010. -$(DEL) $(CLEAN_FILES)
  2011. endif
  2012. -$(DELTREE) units
  2013. -$(DELTREE) bin
  2014. -$(DEL) *$(OEXT) *$(LTOEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
  2015. ifneq ($(PPUEXT),.ppu)
  2016. -$(DEL) *.o *.ppu *.a
  2017. endif
  2018. -$(DELTREE) *$(SMARTEXT)
  2019. -$(DEL) fpcmade.* Package.fpc *.fpm
  2020. -$(DEL) $(FPCEXTFILE) $(REDIRFILE) script*.res link*.res *_script.res *_link.res
  2021. -$(DEL) $(PPAS) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT)
  2022. ifdef AOUTEXT
  2023. -$(DEL) *$(AOUTEXT)
  2024. endif
  2025. ifdef DEBUGSYMEXT
  2026. -$(DEL) *$(DEBUGSYMEXT)
  2027. endif
  2028. ifdef LOCALFPMAKEBIN
  2029. -$(DEL) $(LOCALFPMAKEBIN)
  2030. -$(DEL) $(FPMAKEBINOBJ)
  2031. endif
  2032. fpc_distclean: cleanall
  2033. .PHONY: fpc_baseinfo
  2034. override INFORULES+=fpc_baseinfo
  2035. fpc_baseinfo:
  2036. @$(ECHO)
  2037. @$(ECHO) == Package info ==
  2038. @$(ECHO) Package Name..... $(PACKAGE_NAME)
  2039. @$(ECHO) Package Version.. $(PACKAGE_VERSION)
  2040. @$(ECHO)
  2041. @$(ECHO) == Configuration info ==
  2042. @$(ECHO)
  2043. @$(ECHO) FPC.......... $(FPC)
  2044. @$(ECHO) FPC Version.. $(FPC_VERSION)
  2045. @$(ECHO) Source CPU... $(CPU_SOURCE)
  2046. @$(ECHO) Target CPU... $(CPU_TARGET)
  2047. @$(ECHO) Source OS.... $(OS_SOURCE)
  2048. @$(ECHO) Target OS.... $(OS_TARGET)
  2049. @$(ECHO) Full Source.. $(FULL_SOURCE)
  2050. @$(ECHO) Full Target.. $(FULL_TARGET)
  2051. @$(ECHO) SourceSuffix. $(SOURCESUFFIX)
  2052. @$(ECHO) TargetSuffix. $(TARGETSUFFIX)
  2053. @$(ECHO) FPC fpmake... $(FPCFPMAKE)
  2054. @$(ECHO)
  2055. @$(ECHO) == Directory info ==
  2056. @$(ECHO)
  2057. @$(ECHO) Required pkgs... $(REQUIRE_PACKAGES)
  2058. @$(ECHO)
  2059. @$(ECHO) Basedir......... $(BASEDIR)
  2060. @$(ECHO) FPCDir.......... $(FPCDIR)
  2061. @$(ECHO) CrossBinDir..... $(CROSSBINDIR)
  2062. @$(ECHO) UnitsDir........ $(UNITSDIR)
  2063. @$(ECHO) PackagesDir..... $(PACKAGESDIR)
  2064. @$(ECHO)
  2065. @$(ECHO) GCC library..... $(GCCLIBDIR)
  2066. @$(ECHO) Other library... $(OTHERLIBDIR)
  2067. @$(ECHO)
  2068. @$(ECHO) == Tools info ==
  2069. @$(ECHO)
  2070. @$(ECHO) As........ $(AS)
  2071. @$(ECHO) Ld........ $(LD)
  2072. @$(ECHO) Ar........ $(AR)
  2073. @$(ECHO) Rc........ $(RC)
  2074. @$(ECHO)
  2075. @$(ECHO) Mv........ $(MVPROG)
  2076. @$(ECHO) Cp........ $(CPPROG)
  2077. @$(ECHO) Rm........ $(RMPROG)
  2078. @$(ECHO) GInstall.. $(GINSTALL)
  2079. @$(ECHO) Echo...... $(ECHO)
  2080. @$(ECHO) Shell..... $(SHELL)
  2081. @$(ECHO) Date...... $(DATE)
  2082. @$(ECHO) FPCMake... $(FPCMAKE)
  2083. @$(ECHO) PPUMove... $(PPUMOVE)
  2084. @$(ECHO) Zip....... $(ZIPPROG)
  2085. @$(ECHO)
  2086. @$(ECHO) == Object info ==
  2087. @$(ECHO)
  2088. @$(ECHO) Target Loaders........ $(TARGET_LOADERS)
  2089. @$(ECHO) Target Units.......... $(TARGET_UNITS)
  2090. @$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS)
  2091. @$(ECHO) Target Programs....... $(TARGET_PROGRAMS)
  2092. @$(ECHO) Target Dirs........... $(TARGET_DIRS)
  2093. @$(ECHO) Target Examples....... $(TARGET_EXAMPLES)
  2094. @$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
  2095. @$(ECHO)
  2096. @$(ECHO) Clean Units......... $(CLEAN_UNITS)
  2097. @$(ECHO) Clean Files......... $(CLEAN_FILES)
  2098. @$(ECHO)
  2099. @$(ECHO) Install Units....... $(INSTALL_UNITS)
  2100. @$(ECHO) Install Files....... $(INSTALL_FILES)
  2101. @$(ECHO)
  2102. @$(ECHO) == Install info ==
  2103. @$(ECHO)
  2104. @$(ECHO) DateStr.............. $(DATESTR)
  2105. @$(ECHO) ZipName.............. $(ZIPNAME)
  2106. @$(ECHO) ZipPrefix............ $(ZIPPREFIX)
  2107. @$(ECHO) ZipCrossPrefix....... $(ZIPCROSSPREFIX)
  2108. @$(ECHO) ZipSuffix............ $(ZIPSUFFIX)
  2109. @$(ECHO) FullZipName.......... $(FULLZIPNAME)
  2110. @$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE)
  2111. @$(ECHO)
  2112. @$(ECHO) Install base dir..... $(INSTALL_BASEDIR)
  2113. @$(ECHO) Install binary dir... $(INSTALL_BINDIR)
  2114. @$(ECHO) Install library dir.. $(INSTALL_LIBDIR)
  2115. @$(ECHO) Install units dir.... $(INSTALL_UNITDIR)
  2116. @$(ECHO) Install source dir... $(INSTALL_SOURCEDIR)
  2117. @$(ECHO) Install doc dir...... $(INSTALL_DOCDIR)
  2118. @$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR)
  2119. @$(ECHO) Install data dir..... $(INSTALL_DATADIR)
  2120. @$(ECHO)
  2121. @$(ECHO) Dist destination dir. $(DIST_DESTDIR)
  2122. @$(ECHO) Dist zip name........ $(DIST_ZIPNAME)
  2123. @$(ECHO)
  2124. .PHONY: fpc_info
  2125. fpc_info: $(INFORULES)
  2126. .PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
  2127. fpc_makefile_dirs
  2128. fpc_makefile:
  2129. $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
  2130. fpc_makefile_sub1:
  2131. ifdef TARGET_DIRS
  2132. $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
  2133. endif
  2134. ifdef TARGET_EXAMPLEDIRS
  2135. $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
  2136. endif
  2137. fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
  2138. fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
  2139. fpc_makefiles: fpc_makefile fpc_makefile_dirs
  2140. all: fpc_all
  2141. debug: fpc_debug
  2142. smart: fpc_smart
  2143. release: fpc_release
  2144. units: fpc_units
  2145. examples:
  2146. shared: fpc_shared
  2147. install: fpc_install
  2148. sourceinstall: fpc_sourceinstall
  2149. exampleinstall: fpc_exampleinstall
  2150. distinstall:
  2151. zipinstall:
  2152. zipsourceinstall:
  2153. zipexampleinstall:
  2154. zipdistinstall:
  2155. clean: fpc_clean
  2156. distclean: fpc_distclean
  2157. cleanall: fpc_cleanall
  2158. info: fpc_info
  2159. makefiles: fpc_makefiles
  2160. .PHONY: all debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
  2161. ifneq ($(wildcard fpcmake.loc),)
  2162. include fpcmake.loc
  2163. endif
  2164. ifndef OSDIR
  2165. OSDIR=.
  2166. endif
  2167. ifndef NSOSDIR
  2168. NSOSDIR=$(NSDIR)/$(OS_TARGET)
  2169. endif
  2170. ifndef PORTSDIR
  2171. PORTSDIR=$(OSDIR)
  2172. endif
  2173. ifndef DYNLIBSINCDIR
  2174. DYNLIBSINCDIR=$(OSDIR)
  2175. endif
  2176. ifndef INITCDIR
  2177. INITCDIR=$(OSDIR)
  2178. endif
  2179. ifndef DOSDIR
  2180. DOSDIR=$(OSDIR)
  2181. NSDOSDIR=$(NSDIR)/$(DOSDIR)
  2182. endif
  2183. ifndef OS2DIR
  2184. OS2DIR=.
  2185. endif
  2186. ifndef NSOS2DIR
  2187. NSOS2DIR=$(NSDIR)/os2
  2188. endif
  2189. ifndef SYSUTILSDIR
  2190. SYSUTILSDIR=$(OSDIR)
  2191. endif
  2192. ifndef NSSYSUTILSDIR
  2193. NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
  2194. endif
  2195. ifndef CLASSESDIR
  2196. CLASSESDIR=$(OSDIR)
  2197. endif
  2198. ifndef NSCLASSESDIR
  2199. NSCLASSESDIR=$(NSDIR)/$(CLASSESDIR)
  2200. endif
  2201. ifndef NSBSDDIR
  2202. NSBSDDIR=$(NSDIR)/bsd
  2203. endif
  2204. ifdef FPC_DOTTEDUNITS
  2205. MACPAS_OPT:=$(MACPAS_OPT) -dFPC_DOTTEDUNITS
  2206. EXTPAS_OPT:=$(EXTPAS_OPT) -dFPC_DOTTEDUNITS
  2207. endif
  2208. ifndef SYSTEMUNITEXT
  2209. SYSTEMUNITEXT=pp
  2210. endif
  2211. ifndef DOSUNITEXT
  2212. DOSUNITEXT=pp
  2213. endif
  2214. ifndef PORTSUNITEXT
  2215. PORTSUNITEXT=pp
  2216. endif
  2217. ifndef BASEUNIXDIR
  2218. BASEUNIXDIR=$(UNIXINC)
  2219. endif
  2220. ifndef EXTPAS_DEPS_OS
  2221. EXTPAS_DEPS_OS=$(DOSUNIT)$(PPUEXT)
  2222. endif
  2223. ifdef FPC_DOTTEDUNITS
  2224. BLOCKRTL_OPT:=$(BLOCKRTL_OPT) -dFPC_DOTTEDUNITS
  2225. FPEXTRES_OPT:=$(FPEXTRES_OPT) -dFPC_DOTTEDUNITS
  2226. OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
  2227. OBJCBASE_OPT:=$(OBJCBASE_OPT) -dFPC_DOTTEDUNITS
  2228. FPCYLIX_OPT:=$(FPCYLIX_OPT) -dFPC_DOTTEDUNITS
  2229. endif
  2230. $(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
  2231. $(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
  2232. UUCHAR_DEPS=$(INC)/uuchar.pp \
  2233. $(SYSTEMUNIT)$(PPUEXT) \
  2234. $(UUCHAR_DEPS_OS) $(UUCHAR_DEPS_CPU)
  2235. uuchar$(PPUEXT): $(UUCHAR_DEPS)
  2236. $(COMPILER) $(UUCHAR_OPT) $<
  2237. UACHAR_DEPS=$(INC)/uachar.pp \
  2238. $(SYSTEMUNIT)$(PPUEXT) \
  2239. $(UACHAR_DEPS_OS) $(UACHAR_DEPS_CPU)
  2240. uachar$(PPUEXT): $(UACHAR_DEPS)
  2241. $(COMPILER) $(UACHAR_OPT) $<
  2242. OBJPAS_DEPS= $(OBJPASDIR)/objpas.pp $(INC)/except.inc \
  2243. $(SYSTEMUNIT)$(PPUEXT) \
  2244. $(OBJPAS_DEPS_OS) $(OBJPAS_DEPS_SPU)
  2245. objpas$(PPUEXT): $(OBJPAS_DEPS)
  2246. $(COMPILER) $(OBJPAS_OPT) -Fi$(OBJPASDIR) $<
  2247. MACPAS_DEPS=$(INC)/macpas.pp \
  2248. objpas$(PPUEXT) $(MATHUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2249. $(MACPAS_DEPS_OS) $(MACPAS_DEPS_CPU)
  2250. macpas$(PPUEXT) : $(MACPAS_DEPS)
  2251. $(COMPILER) $(MACPAS_OPT) $<
  2252. ISO7185_DEPS= $(INC)/$(ISO7185UNIT).pp \
  2253. $(SYSTEMUNIT)$(PPUEXT) \
  2254. $(ISO7185_DEPS_OS) $(ISO7185_DEPS_CPU)
  2255. iso7185$(PPUEXT) : $(ISO7185_DEPS)
  2256. $(COMPILER) $(ISO7185_OPT) $<
  2257. EXTPAS_DEPS=$(INC)/extpas.pp \
  2258. $(SYSTEMUNIT)$(PPUEXT) \
  2259. $(EXTPAS_DEPS_OS) $(EXTPAS_DEPS_CPU)
  2260. extpas$(PPUEXT) : $(EXTPAS_DEPS)
  2261. $(COMPILER) $(EXTPAS_OPT) $<
  2262. FPINTRES_DEPS= $(INC)/fpintres.pp $(SYSTEMUNIT)$(PPUEXT) \
  2263. $(FPINTRES_DEPS_OS) $(FPINTRES_DEPS_CPU)
  2264. fpintres$(PPUEXT) : $(FPINTRES_DEPS)
  2265. $(COMPILER) $(FPINTRES_OPT) $<
  2266. FPEXTRES_DEPS= $(INC)/fpextres.pp $(SYSTEMUNIT)$(PPUEXT) \
  2267. $(FPEXTRES_DEPS_OS) $(FPEXTRES_DEPS_CPU)
  2268. fpextres$(PPUEXT) : $(FPEXTRES_DEPS)
  2269. $(COMPILER) -Sg $(FPEXTRES_OPT) $<
  2270. HEAPTRC_DEPS=$(INC)/heaptrc.pp \
  2271. $(SYSTEMUNIT)$(PPUEXT) \
  2272. $(HEAPTRC_DEPS_OS) $(HEAPTRC_DEPS_CPU)
  2273. heaptrc$(PPUEXT) : $(HEAPTRC_DEPS)
  2274. $(COMPILER) $(HEAPTRC_OPT) $<
  2275. SOFTFPU_DEPS=$(INC)/softfpu.pp \
  2276. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
  2277. $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
  2278. softfpu$(PPUEXT) : $(SOFTFPU_DEPS)
  2279. $(COMPILER) $(SOFTFPU_OPT) $<
  2280. System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS)
  2281. $(COMPILER) $(SOFTFPU_OPT) $<
  2282. SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
  2283. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
  2284. $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU)
  2285. sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
  2286. $(COMPILER) $(SFPUX80_OPT) $<
  2287. System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp $(SFPUX80_DEPS)
  2288. $(COMPILER) $(SFPUX80_OPT) $<
  2289. SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
  2290. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
  2291. $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
  2292. sfpu128$(PPUEXT) : $(SFPU128_DEPS)
  2293. $(COMPILER) $(SFPUX128_OPT) $<
  2294. System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
  2295. $(COMPILER) $(SFPUX128_OPT) $<
  2296. UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
  2297. $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2298. $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
  2299. ufloatx80$(PPUEXT) : $(UFLOATX80_DEPS)
  2300. $(COMPILER) $(UFLOATX80_OPT) $<
  2301. System.UFloatX80$(PPUEXT) : $(NSINC)/System.UFloatX80.pp $(UFLOATX80_DEPS)
  2302. $(COMPILER) $(UFLOATX80_OPT) $<
  2303. UFLOAT128_DEPS=$(INC)/ufloat128.pp \
  2304. $(SFPU128UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2305. $(UFLOAT128_DEPS_OS) $(UFLOAT128_DEPS_CPU)
  2306. ufloat128$(PPUEXT) : $(UFLOAT128_DEPS)
  2307. $(COMPILER) $(UFLOAT128_OPT) $<
  2308. System.UFloat128$(PPUEXT) : $(NSINC)/System.UFloat128.pp $(UFLOAT128_DEPS)
  2309. $(COMPILER) $(UFLOAT128_OPT) $<
  2310. STRINGS_DEPS=$(INC)/strings.pp $(INC)/stringsi.inc $(PROCINC)/stringss.inc $(PROCINC)/strings.inc \
  2311. $(SYSTEMUNIT)$(PPUEXT) \
  2312. $(STRINGS_DEPS_OS)
  2313. strings$(PPUEXT) : $(STRINGS_DEPS)
  2314. $(COMPILER) $(STRINGS_OPT) $<
  2315. System.Strings$(PPUEXT) : $(NSINC)/System.Strings.pp $(STRINGS_DEPS)
  2316. $(COMPILER) $(STRINGS_OPT) $<
  2317. PORTS_DEPS=$(PORTSDIR)/ports.$(PORTSUNITEXT) \
  2318. $(SYSTEMUNIT)$(PPUEXT) \
  2319. $(PORTS_DEPS_OS) $(PORTS_DEPS_CPU)
  2320. ports$(PPUEXT) : $(PORTS_DEPS)
  2321. $(COMPILER) $(PORTS_OPT) $<
  2322. System.Ports$(PPUEXT) : $(NSINC)/System.Ports.$(PORTSUNITEXT) $(PORTS_DEPS)
  2323. $(COMPILER) $(PORTS_OPT) $<
  2324. DYNLIBS_DEPS=$(INC)/dynlibs.pas $(OSDIR)/dynlibs.inc \
  2325. objpas$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) \
  2326. $(DYNLIBS_DEPS_OS) $(DYNLIBS_DEPS_CPU)
  2327. dynlibs$(PPUEXT) : $(DYNLIBS_DEPS)
  2328. $(COMPILER) $(DYNLIBS_OPT) $<
  2329. System.DynLibs$(PPUEXT) : $(NSINC)/System.DynLibs.pas $(DYNLIBS_DEPS)
  2330. $(COMPILER) $(DYNLIBS_OPT) $<
  2331. INITC_DEPS=$(INITCDIR)/initc.pp $(CTYPESUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2332. $(INITC_DEPS_OS) $(INITC_DEPS_CPU)
  2333. initc$(PPUEXT) : $(INITC_DEPS)
  2334. $(COMPILER) $(INITC_OPT) $<
  2335. System.InitC$(PPUEXT) : $(NSINC)/System.InitC.pp $(INITC_DEPS)
  2336. $(COMPILER) $(INITC_OPT) $<
  2337. UNIXCP_DEPS=$(UNIXINC)/unixcp.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) \
  2338. $(UNIXCP_DEPS_OS) $(UNIXCP_DEPS_CPU)
  2339. unixcp$(PPUEXT) : $(UNIXCP_DEPS)
  2340. $(COMPILER) $(UNIXCP_OPT) $(UNIXINC)/unixcp.pp
  2341. UnixApi.CP$(PPUEXT) : $(NSINC)/UnixApi.CP.pp $(UNIXCP_DEPS)
  2342. $(COMPILER) $(UNIXCP_OPT) $<
  2343. LINUX_DEPS=$(OSDIR)/linux.pp \
  2344. $(BASEUNIXUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(SYSCALLUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2345. $(LINUX_DEPS_OS) $(LINUX_DEPS_CPU)
  2346. linux$(PPUEXT): $(LINUX_DEPS)
  2347. $(COMPILER) $<
  2348. LinuxApi$(PPUEXT): $(NSOSDIR)/LinuxApi.pp $(LINUX_DEPS)
  2349. $(COMPILER) $(LINUX_OPT) $<
  2350. LINUXVCS_DEPS=$(OSDIR)/linuxvcs.pp $(BASEUNIXUNIT)$(PPUEXT) $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2351. $(LINUXVCS_DEPS_OS) $(LINUXVCS_DEPS_CPU)
  2352. linuxvcs$(PPUEXT): $(LINUXVCS_DEPS)
  2353. $(COMPILER) $(LINUXVCS_OPT) $<
  2354. LinuxApi.Vcs$(PPUEXT): $(NSOSDIR)/LinuxApi.Vcs.pp $(LINUXVCS_DEPS)
  2355. $(COMPILER) $(LINUXVCS_OPT) $<
  2356. FPCYLIX_DEPS=fpcylix.pp \
  2357. $(CTHREADSUNIT)$(PPUEXT) $(CWSTRINGUNIT)$(PPUEXT) $(DYNLIBSUNIT)$(PPUEXT) \
  2358. objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2359. $(FPCYLIX_DEPS_OS) $(FPCYLIX_DEPS_CPU)
  2360. fpcylix$(PPUEXT) : $(FPCYLIX_DEPS)
  2361. $(COMPILER) $(FPCYLIX_OPT) $<
  2362. TERMIO_DEPS=$(OSDIR)/termio.pp $(BASEUNIXUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2363. $(TERMIO_DEPS_OS) $(TERMIO_DEPS_CPU)
  2364. termio$(PPUEXT) : $(TERMIO_DEPS)
  2365. $(COMPILER) $(TERMIO_OPT) $<
  2366. UnixApi.TermIO$(PPUEXT) : $(NSINC)/UnixApi.TermIO.pp $(TERMIO_DEPS)
  2367. $(COMPILER) $(TERMIO_OPT) $<
  2368. DOS_DEPS=$(DOSDIR)/dos.$(DOSUNITEXT) $(INC)/filerec.inc $(INC)/textrec.inc \
  2369. $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2370. $(DOS_DEPS_OS) $(DOS_DEPS_CPU)
  2371. dos$(PPUEXT): $(DOS_DEPS)
  2372. $(COMPILER) $(DOS_OPTS) $<
  2373. TP.DOS$(PPUEXT): $(NSINC)/TP.DOS.$(DOSUNITEXT) $(DOS_DEPS)
  2374. $(COMPILER) $(DOS_OPTS) $(DOS_NS_OPTS) $<
  2375. MSMOUSE_DEPS=msmouse.pp $(SYSTEMUNIT)$(PPUEXT)
  2376. msmouse$(PPUEXT) : $(MSMOUSE_DEPS)
  2377. $(COMPILER) $(MSMOUSE_OPTS) $<
  2378. DOSApi.MSMouse$(PPUEXT) : $(NSOSDIR)/DOSApi.MSMouse.pp $(MSMOUSE_DEPS)
  2379. $(COMPILER) $(MSMOUSE_OPTS) $<
  2380. SYSUTILS_UNIX_DEPS=$(UNIXUNIT)$(PPUEXT) $(ERRORSUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
  2381. $(SYSCALLUNIT)$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
  2382. $(UNIXUTILUNIT)$(PPUEXT) $(INITCUNIT)$(PPUEXT)
  2383. SYSUTILS_DEPS=$(SYSUTILSDIR)/sysutils.pp $(wildcard $(OBJPASDIR)/$(SYSUTILSUNIT)/*.inc) \
  2384. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) $(SYSCONSTUNIT)$(PPUEXT) \
  2385. $(SYSUTILS_DEPS_OS) $(SYSUTILS_DEPS_CPU)
  2386. sysutils$(PPUEXT) : $(SYSUTILS_DEPS)
  2387. $(COMPILER) -Fi$(OBJPASDIR)/$(SYSUTILSUNIT) $<
  2388. System.SysUtils$(PPUEXT) : $(NSINC)/System.SysUtils.pp $(SYSUTILS_DEPS)
  2389. $(COMPILER) $(SYSUTILS_OPT) -Fi$(OBJPASDIR)/sysutils $<
  2390. CLASSES_DEPS=$(CLASSESDIR)/classes.pp $(wildcard $(OBJPASDIR)/$(CLASSESUNIT)/*.inc) \
  2391. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
  2392. $(SYSUTILSUNIT)$(PPUEXT) $(TYPINFOUNIT)$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) \
  2393. $(FGLUNIT)$(PPUEXT) $(TYPESUNIT)$(PPUEXT) \
  2394. $(CLASSES_DEPS_OS) $(CLASSES_DEPS_CPU)
  2395. classes$(PPUEXT) : $(CLASSES_DEPS)
  2396. $(COMPILER) -Fi$(OBJPASDIR)/classes $(CLASSES_OPT) $<
  2397. System.Classes$(PPUEXT) : $(NSINC)/System.Classes.pp $(CLASSES_DEPS)
  2398. $(COMPILER) -Fi$(OBJPASDIR)/classes $(CLASSES_OPT) $<
  2399. TYPINFO_DEPS=$(OBJPASDIR)/typinfo.pp \
  2400. objpas$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) \
  2401. $(TYPINFO_DEPS_OS) $(TYPINFO_DEPS_CPU)
  2402. typinfo$(PPUEXT): $(TYPINFO_DEPS)
  2403. $(COMPILER) -Sg $(TYPINFO_OPT) $<
  2404. System.TypInfo$(PPUEXT): $(NSINC)/System.TypInfo.pp $(TYPINFO_DEPS)
  2405. $(COMPILER) -Fi$(OBJPASDIR) -Sg $(TYPINFO_OPT) $<
  2406. CHARACTER_DEPS=$(OBJPASDIR)/character.pas \
  2407. $(SYSUTILSUNIT)$(PPUEXT) objpas$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) \
  2408. $(CHARACTER_DEPS_OS) $(CHARACTER_DEPS_CPU)
  2409. character$(PPUEXT): $(CHARACTER_DEPS)
  2410. $(COMPILER) $(CHARACTER_OPT) $<
  2411. System.Character$(PPUEXT): $(NSINC)/System.Character.pas $(CHARACTER_DEPS)
  2412. $(COMPILER) $(CHARACTER_OPT) -Fi$(OBJPASDIR) $<
  2413. MATH_DEPS= $(OBJPASDIR)/math.pp \
  2414. objpas$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2415. $(MATH_DEPS_OS) $(MATH_DEPS_CPU)
  2416. math$(PPUEXT): $(MATH_DEPS)
  2417. $(COMPILER) $(MATH_OPT) $<
  2418. System.Math$(PPUEXT): $(NSINC)/System.Math.pp $(MATH_DEPS)
  2419. $(COMPILER) $(MATH_OPT) -Fi$(OBJPASDIR) $<
  2420. FGL_DEPS=$(OBJPASDIR)/fgl.pp \
  2421. objpas$(PPUEXT) $(TYPESUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2422. $(SYSUTILSUNIT)$(PPUEXT) $(SORTBASEUNIT)$(PPUEXT) \
  2423. $(RTLCONSTSUNIT)$(PPUEXT) \
  2424. $(FGL_DEPS_OS) $(FGL_DEPS_CPU)
  2425. fgl$(PPUEXT) : $(FGL_DEPS)
  2426. $(COMPILER) $(FGL_OPT) $<
  2427. System.FGL$(PPUEXT) : $(NSINC)/System.FGL.pp $(FGL_DEPS)
  2428. $(COMPILER) -Fi$(OBJPASDIR) $(FGL_OPT) $<
  2429. TYPES_DEPS=$(OBJPASDIR)/types.pp \
  2430. objpas$(PPUEXT) $(MATHUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2431. $(TYPES_DEPS_OS) $(TYPES_DEPS_CPU)
  2432. types$(PPUEXT) : $(TYPES_DEPS)
  2433. $(COMPILER) $(TYPES_OPT) $<
  2434. System.Types$(PPUEXT) : $(NSINC)/System.Types.pp $(TYPES_DEPS)
  2435. $(COMPILER) -Fi$(OBJPASDIR) $(TYPES_OPT) $<
  2436. SYSCONST_DEPS=$(OBJPASDIR)/sysconst.pp \
  2437. objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2438. $(SYSCONST_DEPS_OS) $(SYSCONST_DEPS_CPU)
  2439. sysconst$(PPUEXT) : $(SYSCONST_DEPS)
  2440. $(COMPILER) $(SYSCONST_OPT) $<
  2441. System.SysConst$(PPUEXT) : $(NSINC)/System.SysConst.pp $(SYSCONST_DEPS)
  2442. $(COMPILER) -Fi$(OBJPASDIR) $(SYSCONST_OPT) $<
  2443. ifdef FPC_DOTTEDUNITS
  2444. RTLCONSTS_DEPS=$(OBJPASDIR)/rtlconsts.pp \
  2445. objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2446. $(RTLCONSTS_DEPS_OS) $(RTLCONSTS_DEPS_CPU)
  2447. System.RtlConsts$(PPUEXT) : $(NSINC)/System.RtlConsts.pp $(RTLCONSTS_DEPS)
  2448. $(COMPILER) -Fi$(OBJPASDIR) $(RTLCONSTS_OPT) $<
  2449. else
  2450. RTLCONSTS_DEPS=$(OBJPASDIR)/$(RTLCONSTSUNIT).pp \
  2451. objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2452. $(RTLCONSTS_DEPS_OS) $(RTLCONSTS_DEPS_CPU)
  2453. $(RTLCONSTSUNIT)$(PPUEXT) : $(RTLCONSTS_DEPS)
  2454. $(COMPILER) $(RTLCONSTS_OPT) $<
  2455. endif
  2456. ifneq ($(findstring $(ARCH),x86_64 i386 i8086),)
  2457. CPU_DEPS_CPU:=$(CPU_DEPS_CPU) $(SYSUTILSUNIT)$(PPUEXT)
  2458. endif
  2459. CPU_DEPS=$(PROCINC)/cpu.pp \
  2460. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) \
  2461. $(CPU_DEPS_OS) $(CPU_DEPS_CPU)
  2462. cpu$(PPUEXT) : $(CPU_DEPS)
  2463. $(COMPILER) $(CPU_OPT) $<
  2464. System.CPU$(PPUEXT) : $(NSINC)/System.CPU.pp $(CPU_DEPS)
  2465. $(COMPILER) $(CPU_OPT) $<
  2466. MMX_DEPS=$(PROCINC)/mmx.pp \
  2467. $(CPUUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2468. $(MMX_DEPS_OS) $(MMX_DEPS_CPU)
  2469. mmx$(PPUEXT) : $(MMX_DEPS)
  2470. $(COMPILER) $(MMX_OPT) $<
  2471. System.CPU.MMX$(PPUEXT) : $(NSINC)/System.CPU.MMX.pp $(MMX_DEPS)
  2472. $(COMPILER) $(MMX_OPT) $<
  2473. X86_DEPS = $(UNIXINC)/x86.pp \
  2474. $(BASEUNIXUNIT)$(PPUEXT) $(SYSCALLUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2475. $(X86_DEPS_OS) $(X86_DEPS_CPU)
  2476. x86$(PPUEXT) : $(X86_DEPS)
  2477. $(COMPILER) $(X86_OPT) $<
  2478. System.X86$(PPUEXT) : $(NSINC)/System.X86.pp $(X86_DEPS)
  2479. $(COMPILER) $(X86_OPT) $<
  2480. GETOPTS_DEPS=$(INC)/getopts.pp \
  2481. $(SYSTEMUNIT)$(PPUEXT) \
  2482. $(GETOPTS_DEPS_OS) $(GETOPTS_DEPS_CPU)
  2483. getopts$(PPUEXT) : $(GETOPTS_DEPS)
  2484. $(COMPILER) $(GETOPTS_OPT) $<
  2485. System.GetOpts$(PPUEXT) : $(NSINC)/System.GetOpts.pp $(GETOPTS_DEPS)
  2486. $(COMPILER) $(GETOPTS_OPT) $<
  2487. LINEINFO_DEPS=$(INC)/lineinfo.pp \
  2488. $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) $(EXEINFOUNIT)$(PPUEXT) \
  2489. $(LINEINFO_DEPS_OS) $(LINEINFO_DEPS_CPU)
  2490. lineinfo$(PPUEXT) : $(LINEINFO_DEPS)
  2491. $(COMPILER) $(LINEINFO_OPT) $<
  2492. System.LineInfo$(PPUEXT) : $(NSINC)/System.LineInfo.pp $(LINEINFO_DEPS)
  2493. $(COMPILER) $(LINEINFO_OPT) $<
  2494. EXEINFO_DEPS=$(INC)/exeinfo.pp \
  2495. $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2496. $(EXEINFO_DEPS_OS) $(EXEINFO_DEPS_CPU)
  2497. exeinfo$(PPUEXT) : $(EXEINFO_DEPS)
  2498. $(COMPILER) $(EXEINFO_OPT) $<
  2499. System.ExeInfo$(PPUEXT) : $(NSINC)/System.ExeInfo.pp $(EXEINFO_DEPS)
  2500. $(COMPILER) $(EXEINFO_OPT) $<
  2501. LNFODWRF_DEPS=$(INC)/lnfodwrf.pp \
  2502. $(SYSTEMUNIT)$(PPUEXT) $(STRINGSUNIT)$(PPUEXT) \
  2503. $(SYSUTILSUNIT)$(PPUEXT) $(EXEINFOUNIT)$(PPUEXT) \
  2504. $(LNFODWRF_DEPS_OS) $(LNFODWRF_DEPS_CPU)
  2505. lnfodwrf$(PPUEXT) : $(LNFODWRF_DEPS)
  2506. $(COMPILER) $(LNFODWRF_OPT) $<
  2507. System.LineInfo.Dwarf$(PPUEXT) : $(NSINC)/System.LineInfo.Dwarf.pp $(LNFODWRF_DEPS)
  2508. $(COMPILER) $(LNFODWRF_OPT) $<
  2509. LNFOGDB_DEPS=$(UNIXINC)/lnfogdb.pp \
  2510. $(SYSTEMUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) \
  2511. $(BASEUNIXUNIT)$(PPUEXT) $(UNIXUNIT)$(PPUEXT) \
  2512. $(LNFOGDB_DEPS_OS) $(LNFOGDB_DEPS_CPU)
  2513. lnfogdb$(PPUEXT) : $(LNFOGDB_DEPS)
  2514. $(COMPILER) $(LNFOGDB_OPT) $<
  2515. System.LineInfo.Gdb$(PPUEXT) : $(NSINC)/System.LineInfo.Gdb.pp $(LNFOGDB_DEPS)
  2516. $(COMPILER) $(LNFOGDB_OPT) $<
  2517. CHARSET_DEPS=$(INC)/charset.pp \
  2518. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
  2519. $(CHARSET_DEPS_OS) $(CHARSET_DEPS_CPU)
  2520. charset$(PPUEXT) : $(CHARSET_DEPS)
  2521. $(COMPILER) $(CHARSET_OPT) $<
  2522. System.CharSet$(PPUEXT) : $(NSINC)/System.CharSet.pp $(CHARSET_DEPS)
  2523. $(COMPILER) $(CHARSET_OPT) $<
  2524. CPALL_DEPS=$(RTL)/charmaps/cpall.pas \
  2525. system$(PPUEXT) $(CHARSETUNIT)$(PPUEXT) \
  2526. $(CPALL_DEPS_OS) $(CPALL_DEPS_CPU)
  2527. cpall$(PPUEXT): $(CPALL_DEPS)
  2528. $(COMPILER) $(CPALL_OPT) -Fu$(INC) -Fi$(RTL)/charmaps $<
  2529. System.CodePages.All$(PPUEXT): $(NSINC)/System.CodePages.All.pas $(CPALL_DEPS)
  2530. $(COMPILER) $(CPALL_OPT) -Fu$(INC) -Fi$(RTL)/charmaps $<
  2531. FPWIDESTRING_DEPS=$(OBJPASDIR)/fpwidestring.pp \
  2532. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
  2533. $(CHARACTERUNIT)$(PPUEXT) $(CPALLUNIT)$(PPUEXT) \
  2534. $(FPWIDESTRING_DEPS_OS) $(FPWIDESTRING_DEPS_CPU)
  2535. fpwidestring$(PPUEXT): $(FPWIDESTRING_DEPS)
  2536. $(COMPILER) $(FPWIDESTRING_OPT) $<
  2537. System.FPWideString$(PPUEXT): $(NSINC)/System.FPWideString.pp $(FPWIDESTRING_DEPS)
  2538. $(COMPILER) -Fi$(OBJPASDIR) $(FPWIDESTRING_OPT) $<
  2539. SORTBASE_DEPS=$(INC)/sortbase.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2540. $(SORTBASE_DEPS_OS) $(SORTBASE_DEPS_CPU)
  2541. sortbase$(PPUEXT) : $(SORTBASE_DEPS)
  2542. $(COMPILER) $(SORTBASE_OPT) $<
  2543. System.SortBase$(PPUEXT) : $(NSINC)/System.SortBase.pp $(SORTBASE_DEPS)
  2544. $(COMPILER) $(SORTBASE_OPT) $<
  2545. CALLSPEC_DEPS=$(INC)/callspec.pp \
  2546. $(SYSTEMUNIT)$(PPUEXT) \
  2547. $(CALLSPEC_DEPS_OS) $(CALLSPEC_DEPS_CPU)
  2548. callspec$(PPUEXT) : $(CALLSPEC_DEPS)
  2549. $(COMPILER) $(CALLSPEC_OPT) $<
  2550. System.CallSpec$(PPUEXT) : $(NSINC)/System.CallSpec.pp $(CALLSPEC_DEPS)
  2551. $(COMPILER) $(CALLSPEC_OPT) $<
  2552. CMEM_DEPS=$(INC)/cmem.pp \
  2553. $(SYSTEMUNIT)$(PPUEXT) \
  2554. $(CMEM_DEPS_OS) $(CMEM_DEPS_CPU)
  2555. cmem$(PPUEXT) : $(CMEM_DEPS)
  2556. $(COMPILER) $(CMEM_OPT) $<
  2557. System.CMem$(PPUEXT) : $(NSINC)/System.CMem.pp $(CMEM_DEPS)
  2558. $(COMPILER) $(CMEM_OPT) $<
  2559. BASEUNIX_DEPS=$(BASEUNIXDIR)/baseunix.pp $(UNIXINC)/ctypes.inc \
  2560. $(UNIXINC)/bunxh.inc $(UNIXINC)/gensigset.inc $(OSDIR)/ptypes.inc $(OSDIR)/errno.inc \
  2561. $(UNIXTYPEUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2562. $(BASEUNIX_DEPS_OS) $(BASEUNIX_DEPS_CPU)
  2563. baseunix$(PPUEXT): $(BASEUNIX_DEPS)
  2564. $(COMPILER) $(BASEUNIX_OPT) $<
  2565. UnixApi.Base$(PPUEXT): $(NSINC)/UnixApi.Base.pp $(BASEUNIX_DEPS)
  2566. $(COMPILER) $(BASEUNIX_OPT) $<
  2567. UNIX_DEPS=$(UNIXINC)/unix.pp \
  2568. $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) \
  2569. $(UNIXUTILUNIT)$(PPUEXT) \
  2570. $(INC)/textrec.inc $(INC)/filerec.inc $(UNIXINC)/timezone.inc \
  2571. $(OSDIR)/unxconst.inc $(OSDIR)/unxfunc.inc \
  2572. $(UNIX_DEPS_OS) $(UNIX_DEPS_CPU)
  2573. unix$(PPUEXT): $(UNIX_DEPS)
  2574. $(COMPILER) $(UNIX_OPT) $<
  2575. UnixApi.Unix$(PPUEXT) : $(NSINC)/UnixApi.Unix.pp $(UNIX_DEPS)
  2576. $(COMPILER) $(UNIX_OPT) $<
  2577. SYSCALL_DEPS=$(UNIXINC)/syscall.pp \
  2578. $(SYSTEMUNIT)$(PPUEXT) \
  2579. $(SYSCALL_DEPS_OS) $(SYSCALL_DEPS_CPU)
  2580. syscall$(PPUEXT) : $(SYSCALL_DEPS)
  2581. $(COMPILER) $(SYSCALL_OPT) $<
  2582. UnixApi.SysCall$(PPUEXT) : $(NSINC)/UnixApi.SysCall.pp $(SYSCALL_DEPS)
  2583. $(COMPILER) $(SYSCALL_OPT) $<
  2584. UNIXUTIL_DEPS=$(UNIXINC)/unixutil.pp $(INC)/textrec.inc $(INC)/filerec.inc \
  2585. $(SYSTEMUNIT)$(PPUEXT) \
  2586. $(UNIXUTIL_DEPS_OS)
  2587. unixutil$(PPUEXT) : $(UNIXUTIL_DEPS)
  2588. $(COMPILER) $(UNIXUTIL_OPT) $<
  2589. UnixApi.Utils$(PPUEXT) : $(NSINC)/UnixApi.Utils.pp $(UNIXUTIL_DEPS)
  2590. $(COMPILER) $(UNIXUTIL_OPT) $<
  2591. UNIXTYPE_DEPS=$(UNIXINC)/unixtype.pp \
  2592. $(SYSTEMUNIT)$(PPUEXT) $(OSDIR)/ptypes.inc $(UNIXINC)/ctypes.inc \
  2593. $(UNIXTYPE_DEPS_OS) $(UNIXTYPE_DEPS_CPU)
  2594. unixtype$(PPUEXT) : $(UNIXTYPE_DEPS)
  2595. $(COMPILER) $(UNIXTYPE_OPT) $(UNIXINC)/unixtype.pp
  2596. UnixApi.Types$(PPUEXT) : $(NSINC)/UnixApi.Types.pp $(UNIXTYPE_DEPS)
  2597. $(COMPILER) $(UNIXTYPE_OPT) $<
  2598. DL_DEPS=$(UNIXINC)/dl.pp \
  2599. $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) \
  2600. $(DL_DEPS_OS) $(DL_DEPS_CPU)
  2601. dl$(PPUEXT) : $(DL_DEPS)
  2602. $(COMPILER) $(DL_OPT) $<
  2603. UnixApi.Dl$(PPUEXT) : $(NSINC)/UnixApi.Dl.pp $(DL_DEPS)
  2604. $(COMPILER) $(DL_OPT) $<
  2605. ERRORS_DEPS=$(UNIXINC)/errors.pp \
  2606. $(STRINGSUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2607. $(ERRORS_DEPS_OS) $(ERRORS_DEPS_CPU)
  2608. errors$(PPUEXT) : $(ERRORS_DEPS)
  2609. $(COMPILER) $(ERRORS_OPT) $<
  2610. UnixApi.Errors$(PPUEXT) : $(NSINC)/UnixApi.Errors.pp $(ERRORS_DEPS)
  2611. $(COMPILER) $(ERRORS_OPT) $<
  2612. CTHREADS_DEPS=$(UNIXINC)/cthreads.pp \
  2613. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(UNIXUNIT)$(PPUEXT) \
  2614. $(BASEUNIXUNIT)$(PPUEXT) $(INITCUNIT)$(PPUEXT) $(DLUNIT)$(PPUEXT) \
  2615. $(CTHREADS_DEPS_OS) $(CTHREADS_DEPS_CPU)
  2616. cthreads$(PPUEXT) : $(CTHREADS_DEPS)
  2617. $(COMPILER) $(CTHREADS_OPT) $<
  2618. UnixApi.CThreads$(PPUEXT) : $(NSINC)/UnixApi.CThreads.pp $(CTHREADS_DEPS)
  2619. $(COMPILER) $(CTHREADS_OPT) $<
  2620. CWSTRING_DEPS=$(UNIXINC)/cwstring.pp \
  2621. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) \
  2622. $(UNIXUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) \
  2623. $(DYNLIBSUNIT)$(PPUEXT) $(UNIXCPUNIT)$(PPUEXT) \
  2624. $(CWSTRING_DEPS_OS) $(CWSTRING_DEPS_CPU)
  2625. cwstring$(PPUEXT) : $(CWSTRING_DEPS)
  2626. $(COMPILER) $(CWSTRING_OPT) $<
  2627. UnixApi.CWString$(PPUEXT) : $(NSINC)/UnixApi.CWString.pp $(CWSTRING_DEPS)
  2628. $(COMPILER) $(CWSTRING_OPT) $<
  2629. CTYPES_DEPS=$(INC)/ctypes.pp \
  2630. $(SYSTEMUNIT)$(PPUEXT) \
  2631. $(CTYPES_DEPS_OS) $(CTYPES_DEPS_CPU)
  2632. ctypes$(PPUEXT) : $(CTYPES_DEPS)
  2633. $(COMPILER) $(CTYPES_OPT) $<
  2634. System.CTypes$(PPUEXT) : $(NSINC)/System.CTypes.pp $(CTYPES_DEPS)
  2635. $(COMPILER) $(CTYPES_OPT) $<
  2636. OBJC_DEPS=$(INC)/objc.pp $(INC)/objc.pp $(INC)/objc1.inc $(INC)/objcnf.inc \
  2637. $(SYSTEMUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
  2638. $(OBJC_DEPS_OS) $(OBJC_DEPS_CPU)
  2639. objc$(PPUEXT) : $(OBJC_DEPS)
  2640. $(COMPILER) $(OBJC_OPT) $<
  2641. OBJCBASE_DEPS=$(INC)/objcbase.pp \
  2642. $(SYSTEMUNIT)$(PPUEXT) $(OBJCUNIT)$(PPUEXT) \
  2643. $(OBJCBASE_DEPS_OS) $(OBJCBASE_DEPS_CPU)
  2644. objcbase$(PPUEXT) : $(OBJCBASE_DEPS)
  2645. $(COMPILER) $(OBJCBASE_OPT) $<
  2646. BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
  2647. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) $(INITCUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) \
  2648. $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
  2649. blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
  2650. $(COMPILER) $(BLOCKRTL_OPT) $<
  2651. WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
  2652. $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
  2653. windows$(PPUEXT): $(WINDOWS_DEPS)
  2654. $(COMPILER) $(WINDOWS_OPT) $<
  2655. WinApi.Windows$(PPUEXT): $(NSOSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
  2656. $(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
  2657. WINDIRS_DEPS=$(WINDIRSDIR)/windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2658. $(WINDIRS_DEPS_OS) $(WINDIRS_DEPS_CPU)
  2659. windirs$(PPUEXT): $(WINDIRS_DEPS)
  2660. $(COMPILER) $(WINDIRS_OPT) $<
  2661. WinApi.WinDirs$(PPUEXT): $(NSOSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
  2662. $(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
  2663. SYSCTL_DEPS=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
  2664. $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
  2665. sysctl$(PPUEXT) : $(SYSCTL_DEPS)
  2666. $(COMPILER) $(SYSCTL_OPT) $<
  2667. BsdApi.SysCtl$(PPUEXT) : $(NSBSDDIR)/BsdApi.SysCtl.pp $(SYSCTL_DEPS)
  2668. $(COMPILER) $(SYSCTL_OPT) $<
  2669. BSD_DEPS=$(BSDINC)/bsd.pas $(INITCUNIT)$(PPUEXT) $(UNIXUNIT)$(PPUEXT) \
  2670. $(BSD_DEPS_OS) $(BSD_DEPS_CPU)
  2671. bsd$(PPUEXT): $(BSD_DEPS)
  2672. $(COMPILER) $(BSD_OPT) $<
  2673. BsdApi$(PPUEXT): $(NSBSDDIR)/BsdApi.pp $(BSD_DEPS)
  2674. $(COMPILER) $(BSD_OPT) $<
  2675. DOSCALLS_DEPS = $(OS2DIR)/doscalls.pas $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2676. $(DOSCALLS_DEPS_OS) $(DOSCALLS_DEPS_CPU)
  2677. doscalls$(PPUEXT) : $(DOSCALLS_DEPS)
  2678. $(COMPILER) $<
  2679. OS2Api.doscalls$(PPUEXT) : $(NSOS2DIR)/OS2Api.doscalls.pas $(DOSCALLS_DEPS)
  2680. $(COMPILER) -Fi$(OS2DIR) $<
  2681. VIOCALLS_DEPS = $(OS2DIR)/viocalls.pas $(SYSTEMUNIT)$(PPUEXT) \
  2682. $(VIOCALLS_DEPS_OS) $(VIOCALLS_DEPS_CPU)
  2683. viocalls$(PPUEXT) : $(VIOCALLS_DEPS)
  2684. $(COMPILER) $<
  2685. OS2Api.viocalls$(PPUEXT) : $(NSOS2DIR)/OS2Api.viocalls.pas $(VIOCALLS_DEPS)
  2686. $(COMPILER) -Fi$(OS2DIR) $<
  2687. SO32DLL_DEPS = $(OS2DIR)/so32dll.pas $(SYSTEMUNIT)$(PPUEXT) \
  2688. $(SO32DLL_DEPS_OS) $(SO32DLL_DEPS_CPU)
  2689. so32dll$(PPUEXT) : $(SO32DLL_DEPS)
  2690. $(COMPILER) $<
  2691. OS2Api.so32dll$(PPUEXT) : $(NSOS2DIR)/OS2Api.so32dll.pas $(SO32DLL_DEPS)
  2692. $(COMPILER) -Fi$(OS2DIR) $<
  2693. KBDCALLS_DEPS = $(OS2DIR)/kbdcalls.pas $(SYSTEMUNIT)$(PPUEXT) \
  2694. $(KBDCALLS_DEPS_OS) $(KBDCALLS_DEPS_CPU)
  2695. kbdcalls$(PPUEXT) : $(KBDCALLS_DEPS)
  2696. $(COMPILER) $<
  2697. OS2Api.kbdcalls$(PPUEXT) : $(NSOS2DIR)/OS2Api.kbdcalls.pas $(KBDCALLS_DEPS)
  2698. $(COMPILER) -Fi$(OS2DIR) $<
  2699. MOUCALLS_DEPS = $(OS2DIR)/moucalls.pas $(SYSTEMUNIT)$(PPUEXT) \
  2700. $(MOUCALLS_DEPS_OS) $(MOUCALLS_DEPS_CPU)
  2701. moucalls$(PPUEXT) : $(MOUCALLS_DEPS)
  2702. $(COMPILER) $<
  2703. OS2Api.moucalls$(PPUEXT) : $(NSOS2DIR)/OS2Api.moucalls.pas $(MOUCALLS_DEPS)
  2704. $(COMPILER) -Fi$(OS2DIR) $<
  2705. MONCALLS_DEPS = $(OS2DIR)/moncalls.pas $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2706. $(MONCALLS_DEPS_OS) $(MONCALLS_DEPS_CPU)
  2707. moncalls$(PPUEXT) : $(MONCALLS_DEPS)
  2708. $(COMPILER) $<
  2709. OS2Api.moncalls$(PPUEXT) : $(NSOS2DIR)/OS2Api.moncall.pas $(MONCALLS_DEPS)
  2710. $(COMPILER) -Fi$(OS2DIR) $<
  2711. OS2DEF_DEPS = $(OS2DIR)/os2def.pas $(SYSTEMUNIT)$(PPUEXT) \
  2712. $(OS2DEF_DEPS_OS) $(OS2DEF_DEPS_CPU)
  2713. os2def$(PPUEXT) : $(OS2DEF_DEPS)
  2714. $(COMPILER) $<
  2715. OS2Api.os2def$(PPUEXT) : $(NSOS2DIR)/OS2Api.os2def.pas $(OS2DEF_DEPS)
  2716. $(COMPILER) -Fi$(OS2DIR) $<
  2717. DOSCALL2_DEPS = $(OS2DIR)/doscall2.pas $(DOSCALLSUNIT)$(PPUEXT) $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2718. $(DOSCALL2_DEPS_OS) $(DOSCALL2_DEPS_CPU)
  2719. doscall2$(PPUEXT) : $(DOSCALL2_DEPS)
  2720. $(COMPILER) $<
  2721. OS2Api.doscall2$(PPUEXT) : $(NSOS2DIR)/OS2Api.doscall2.pas $(DOSCALL2_DEPS)
  2722. $(COMPILER) -Fi$(OS2DIR) $<
  2723. PMWIN_DEPS = $(OS2DIR)/pmwin.pas $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2724. $(PMWIN_DEPS_OS) $(PMWIN_DEPS_CPU)
  2725. pmwin$(PPUEXT) : $(PMWIN_DEPS)
  2726. $(COMPILER) $<
  2727. OS2Api.pmwin$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmwin.pas $(PMWIN_DEPS)
  2728. $(COMPILER) -Fi$(OS2DIR) $<
  2729. PMBITMAP_DEPS = $(OS2DIR)/pmbitmap.pas $(SYSTEMUNIT)$(PPUEXT) \
  2730. $(PMBITMAP_DEPS_OS) $(PMBITMAP_DEPS_CPU)
  2731. pmbitmap$(PPUEXT) : $(PMBITMAP_DEPS)
  2732. $(COMPILER) $<
  2733. OS2Api.pmbitmap$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmbitmap.pas $(PMBITMAP_DEPS)
  2734. $(COMPILER) -Fi$(OS2DIR) $<
  2735. PMGPI_DEPS = $(OS2DIR)/pmgpi.pas $(PMBITMAPUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2736. $(PMGPI_DEPS_OS) $(PMGPI_DEPS_CPU)
  2737. pmgpi$(PPUEXT) : $(PMGPI_DEPS)
  2738. $(COMPILER) $<
  2739. OS2Api.pmgpi$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmgpi.pas $(PMGPI_DEPS)
  2740. $(COMPILER) -Fi$(OS2DIR) $<
  2741. PMSTDDLG_DEPS = $(OS2DIR)/pmstddlg.pas $(OS2DEFUNIT)$(PPUEXT) $(DOSCALLSUNIT)$(PPUEXT) \
  2742. $(PMWINUNIT)$(PPUEXT) $(PMGPIUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2743. $(PMSTDDLG_DEPS_OS) $(PMSTDDLG_DEPS_CPU)
  2744. pmstddlg$(PPUEXT) : $(PMSTDDLG_DEPS)
  2745. $(COMPILER) $<
  2746. OS2Api.pmstddlg$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmstddlg.pas $(PMSTDDLG_DEPS)
  2747. $(COMPILER) -Fi$(OS2DIR) $<
  2748. PMHELP_DEPS = $(OS2DIR)/pmhelp.pas $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2749. $(PMHELP_DEPS_OS) $(PMHELP_DEPS_CPU)
  2750. pmhelp$(PPUEXT) : $(PMHELP_DEPS)
  2751. $(COMPILER) $<
  2752. OS2Api.pmhelp$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmhelp.pas $(PMHELP_DEPS)
  2753. $(COMPILER) -Fi$(OS2DIR) $<
  2754. PMDEV_DEPS = $(OS2DIR)/pmdev.pas $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2755. $(PMDEV_DEPS_OS) $(PMDEV_DEPS_CPU)
  2756. pmdev$(PPUEXT) : $(PMDEV_DEPS)
  2757. $(COMPILER) $<
  2758. OS2Api.pmdev$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmdev.pas $(PMDEV_DEPS)
  2759. $(COMPILER) -Fi$(OS2DIR) $<
  2760. PMSPL_DEPS = $(OS2DIR)/pmspl.pas $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2761. $(PMSPL_DEPS_OS) $(PMSPL_DEPS_CPU)
  2762. pmspl$(PPUEXT) : $(PMSPL_DEPS)
  2763. $(COMPILER) $<
  2764. OS2Api.pmspl$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmspl.pas $(PMSPL_DEPS)
  2765. $(COMPILER) -Fi$(OS2DIR) $<
  2766. PMSHL_DEPS = $(OS2DIR)/pmshl.pas $(OS2DEFUNIT)$(PPUEXT) $(PMWINUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2767. $(PMSHL_DEPS_OS) $(PMSHL_DEPS_CPU)
  2768. pmshl$(PPUEXT) : $(PMSHL_DEPS)
  2769. $(COMPILER) $<
  2770. OS2Api.pmshl$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmshl.pas $(PMSHL_DEPS)
  2771. $(COMPILER) -Fi$(OS2DIR) $<
  2772. PMWP_DEPS = $(OS2DIR)/pmwp.pas $(OS2DEFUNIT)$(PPUEXT) $(PMWINUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2773. $(PMWP_DEPS_OS) $(PMWP_DEPS_CPU)
  2774. pmwp$(PPUEXT) : $(PMWP_DEPS)
  2775. $(COMPILER) $<
  2776. OS2Api.pmwp$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmwp.pas $(PMWP_DEPS)
  2777. $(COMPILER) -Fi$(OS2DIR) $<
  2778. PMWSOCK_DEPS = $(OS2DIR)/pmwsock.pas $(OS2DEFUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2779. $(PMWSOCK_DEPS_OS) $(PMWSOCK_DEPS_CPU)
  2780. pmwsock$(PPUEXT) : $(PMWSOCK_DEPS)
  2781. $(COMPILER) $<
  2782. OS2Api.pmwsock$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmwsock.pas $(PMWSOCK_DEPS)
  2783. $(COMPILER) -Fi$(OS2DIR) $<
  2784. PMBIDI_DEPS = $(OS2DIR)/pmbidi.pas $(OS2DEFUNIT)$(PPUEXT) $(PMWIN)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  2785. $(PMBIDI_DEPS_OS) $(PMBIDI_DEPS_CPU)
  2786. pmbidi$(PPUEXT) : $(PMBIDI_DEPS)
  2787. $(COMPILER) $<
  2788. OS2Api.pmbidi$(PPUEXT) : $(NSOS2DIR)/OS2Api.pmbidi.pas $(PMBIDI_DEPS)
  2789. $(COMPILER) -Fi$(OS2DIR) $<
  2790. EXE_DEPS = $(OS2DIR)/exe.pas $(SYSTEMUNIT)$(PPUEXT) \
  2791. $(EXE_DEPS_OS) $(EXE_DEPS_CPU)
  2792. exe$(PPUEXT) : $(EXE_DEPS)
  2793. $(COMPILER) $<
  2794. OS2Api.exe$(PPUEXT) : $(NSOS2DIR)/OS2Api.exe.pas $(EXE_DEPS)
  2795. $(COMPILER) -Fi$(OS2DIR) $<
  2796. NEWEXE_DEPS = $(OS2DIR)/newexe.pas $(SYSTEMUNIT)$(PPUEXT) \
  2797. $(NEWEXE_DEPS_OS) $(NEWEXE_DEPS_CPU)
  2798. newexe$(PPUEXT) : $(NEWEXE_DEPS)
  2799. $(COMPILER) $<
  2800. OS2Api.newexe$(PPUEXT) : $(NSOS2DIR)/OS2Api.newexe.pas $(NEWEXE_DEPS)
  2801. $(COMPILER) -Fi$(OS2DIR) $<
  2802. .NOTPARALLEL:
  2803. include $(INC)/makefile.inc
  2804. SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
  2805. include $(PROCINC)/makefile.cpu
  2806. SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
  2807. SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) qdos.inc qdosh.inc qdosfuncs.inc sms.inc
  2808. $(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp $(SYSDEPS)
  2809. $(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg @rtl.cfg $(SYSTEMUNIT).pp $(REDIR)
  2810. uuchar$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT) $(INC)/uuchar.pp
  2811. $(COMPILER) $(INC)/uuchar.pp
  2812. objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT)
  2813. $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp $(REDIR)
  2814. iso7185$(PPUEXT) : $(INC)/iso7185.pp buildrtl$(PPUEXT)
  2815. $(COMPILER) $(INC)/iso7185.pp
  2816. extpas$(PPUEXT) : $(INC)/extpas.pp buildrtl$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  2817. $(COMPILER) $(INC)/extpas.pp
  2818. buildrtl$(PPUEXT): buildrtl.pp system$(PPUEXT) objpas$(PPUEXT)
  2819. $(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(CPU_TARGET) -Fu$(PROCINC) -Fu$(AMIINC) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl
  2820. cpall$(PPUEXT): $(RTL)/charmaps/cpall.pas system$(PPUEXT) objpas$(PPUEXT)
  2821. $(COMPILER) -Fu$(INC) -Fi$(RTL)/charmaps $(RTL)/charmaps/cpall.pas