Makefile 86 KB

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