Makefile 96 KB

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