Makefile 96 KB

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