Makefile.fpc 36 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433
  1. [require]
  2. nortl=y
  3. [prerules]
  4. #
  5. # All units
  6. #
  7. #
  8. # Macros for all unit names. Depends on FPC_DOTTEDUNITS
  9. #
  10. ifdef FPC_DOTTEDUNITS
  11. #
  12. # Here all dotted units
  13. #
  14. AIOUNIT=NetWareApi.Aio
  15. ALLWINNER_A20UNIT=Embedded.Allwinner_a20
  16. ANDROIDR14UNIT=AndroidAPI.AndroidR14
  17. ATHREADSUNIT=AmigaApi.AThreads
  18. BASEUNIXUNIT=UnixApi.Base
  19. BETHREADSUNIT=BeosApi.Bethreads
  20. BLOCKRTLUNIT=blockrtl
  21. BSDUNIT=BsdApi
  22. CHARACTERUNIT=System.Character
  23. CHARSETUNIT=System.CharSet
  24. CLASSESUNIT=System.Classes
  25. CMEMUNIT=System.CMem
  26. COMMONUNIT=PalmApi.Common
  27. CONSOLEUNIT=System.Console
  28. CONSOLEIOUNIT=EmbeddedApi.ConsoleIO
  29. CORTEXM0UNIT=ARMApi.Cortexm0
  30. CORTEXM3UNIT=ARMApi.Cortexm3
  31. CORTEXM4UNIT=ARMApi.Cortexm4
  32. CORTEXM7UNIT=ARMApi.Cortexm7
  33. CP1250UNIT=System.CodePages.CP1250
  34. CP1251UNIT=System.CodePages.CP1251
  35. CP1252UNIT=System.CodePages.CP1252
  36. CP1253UNIT=System.CodePages.CP1253
  37. CP1254UNIT=System.CodePages.CP1254
  38. CP1255UNIT=System.CodePages.CP1255
  39. CP1256UNIT=System.CodePages.CP1256
  40. CP1257UNIT=System.CodePages.CP1257
  41. CP1258UNIT=System.CodePages.CP1258
  42. CP3021UNIT=System.CodePages.CP3021
  43. CP437UNIT=System.CodePages.CP437
  44. CP646UNIT=System.CodePages.CP646
  45. CP737UNIT=System.CodePages.CP737
  46. CP775UNIT=System.CodePages.CP775
  47. CP850UNIT=System.CodePages.CP850
  48. CP852UNIT=System.CodePages.CP852
  49. CP855UNIT=System.CodePages.CP855
  50. CP856UNIT=System.CodePages.CP856
  51. CP857UNIT=System.CodePages.CP857
  52. CP860UNIT=System.CodePages.CP860
  53. CP861UNIT=System.CodePages.CP861
  54. CP862UNIT=System.CodePages.CP862
  55. CP863UNIT=System.CodePages.CP863
  56. CP864UNIT=System.CodePages.CP864
  57. CP865UNIT=System.CodePages.CP865
  58. CP866UNIT=System.CodePages.CP866
  59. CP869UNIT=System.CodePages.CP869
  60. CP874UNIT=System.CodePages.CP874
  61. CP8859_1UNIT=System.CodePages.CP8859_1
  62. CP8859_10UNIT=System.CodePages.CP8859_10
  63. CP8859_11UNIT=System.CodePages.CP8859_11
  64. CP8859_13UNIT=System.CodePages.CP8859_13
  65. CP8859_14UNIT=System.CodePages.CP8859_14
  66. CP8859_15UNIT=System.CodePages.CP8859_15
  67. CP8859_16UNIT=System.CodePages.CP8859_16
  68. CP8859_2UNIT=System.CodePages.CP8859_2
  69. CP8859_3UNIT=System.CodePages.CP8859_3
  70. CP8859_4UNIT=System.CodePages.CP8859_4
  71. CP8859_5UNIT=System.CodePages.CP8859_5
  72. CP8859_6UNIT=System.CodePages.CP8859_6
  73. CP8859_7UNIT=System.CodePages.CP8859_7
  74. CP8859_8UNIT=System.CodePages.CP8859_8
  75. CP8859_9UNIT=System.CodePages.CP8859_9
  76. CPALLUNIT=System.CodePages.All
  77. CPKOI8_RUNIT=System.CodePages.CPkoi8_r
  78. CPKOI8_UUNIT=System.CodePages.CPkoi8_u
  79. CPUUNIT=System.CPU
  80. CTHREADSUNIT=UnixApi.CThreads
  81. CTYPESUNIT=System.CTypes
  82. CWSTRINGUNIT=UnixApi.CWString
  83. DDKUNIT=NTApi.Ddk
  84. DLUNIT=UnixApi.Dl
  85. DOSUNIT=TP.DOS
  86. DOSCALL2UNIT=OS2Api.Doscall2
  87. DOSCALLSUNIT=OS2Api.Doscalls
  88. DPMIEXCPUNIT=DOSApi.Dpmiexcp
  89. DXELOADUNIT=DOSApi.Dxeload
  90. DXETYPEUNIT=DOSApi.Dxetype
  91. DYNLIBSUNIT=System.DynLibs
  92. EMU387UNIT=DOSApi.EMU387
  93. EMXUNIT=DOSApi.EMX
  94. ERRORSUNIT=System.Errors
  95. ESP32UNIT=System.Esp32
  96. ESP8266UNIT=System.Esp8266
  97. ESP8266RTOS_30300UNIT=System.Esp8266rtos_30300
  98. ESP8266RTOS_30400UNIT=System.Esp8266rtos_30400
  99. ESPIDF_40100UNIT=System.Espidf_40100
  100. ESPIDF_40200UNIT=System.Espidf_40200
  101. ESPIDF_40400UNIT=System.Espidf_40400
  102. EXEUNIT=OS2Api.Exe
  103. EXEINFOUNIT=System.Exeinfo
  104. EXTPASUNIT=extpas
  105. FE310G000UNIT=EmbeddedApi.Fe310g000
  106. FE310G002UNIT=EmbeddedApi.Fe310g002
  107. FGLUNIT=System.FGL
  108. FPCMEMDLLUNIT=System.FPCMemDLL
  109. FPCYLIXUNIT=fpcylix
  110. FPWIDESTRINGUNIT=System.FPWideString
  111. FREEBSDUNIT=FreeBSDApi.FreeBSD
  112. GD32VF103XXUNIT=EmbeddedApi.Gd32vf103xx
  113. GETOPTSUNIT=System.GetOpts
  114. GO32UNIT=DOSApi.GO32
  115. GPIOUNIT=EmbeddedApi.Gpio
  116. HEAPMGRUNIT=EmbeddedApi.HeapMGR
  117. INITCUNIT=System.InitC
  118. INTRINSICSUNIT=System.Intrinsics
  119. ISO7185UNIT=iso7185
  120. JDK15UNIT=JavaApi.JDK15
  121. KBDCALLSUNIT=OS2Api.Kbdcalls
  122. LIBCUNIT=NetwareLibCApi.Libc
  123. LINEINFOUNIT=System.LineInfo
  124. LINUXUNIT=LinuxApi
  125. LINUXVCSUNIT=LinuxApi.Vcs
  126. LM3FURYUNIT=EmbeddedApi.Lm3fury
  127. LM3TEMPESTUNIT=EmbeddedApi.Lm3tempest
  128. LM4F120UNIT=EmbeddedApi.Lm4f120
  129. LNFODWRFUNIT=System.LineInfo.Dwarf
  130. LNFOGDBUNIT=System.LineInfo.Gdb
  131. LPC11XXUNIT=EmbeddedApi.Lpc11xx
  132. LPC122XUNIT=EmbeddedApi.Lpc122x
  133. LPC13XXUNIT=EmbeddedApi.Lpc13xx
  134. LPC1768UNIT=EmbeddedApi.Lpc1768
  135. LPC21X4UNIT=EmbeddedApi.Lpc21x4
  136. LPC8XXUNIT=EmbeddedApi.Lpc8xx
  137. LSTRINGSUNIT=System.LStrings
  138. MACOSUNIT=MacOSApi.MacOS
  139. MACOSTPUNIT=MacOSApi.MacOSTP
  140. MACUTILSUNIT=MacOSApi.MacUtils
  141. MAILBOXUNIT=EmbeddedApi.Mailbox
  142. MATHUNIT=System.Math
  143. MESSAGESUNIT=WinApi.Messages
  144. MK20D5UNIT=EmbeddedApi.Mk20d5
  145. MK20D7UNIT=EmbeddedApi.Mk20d7
  146. MK22F51212UNIT=EmbeddedApi.Mk22f51212
  147. MK64F12UNIT=EmbeddedApi.Mk64f12
  148. MMIOUNIT=EmbeddedApi.Mmio
  149. MMXUNIT=System.CPU.MMX
  150. MONCALLSUNIT=OS2Api.Moncalls
  151. MOUCALLSUNIT=OS2Api.Moucalls
  152. MSMOUSEUNIT=DOSApi.MSMouse
  153. MULTIBOOTUNIT=EmbeddedApi.Multiboot
  154. NDKUNIT=NTApi.NDK
  155. NDKUTILSUNIT=NTApi.NDKUtils
  156. NETWAREUNIT=NetwareApi.NetWare
  157. NEWEXEUNIT=OS2Api.Newexe
  158. NRF51UNIT=EmbeddedApi.Nrf51
  159. NRF52UNIT=EmbeddedApi.Nrf52
  160. NWCALLSUNIT=NetWareApi.Nwcalls
  161. NWNITUNIT=NetWareApi.Nwnit
  162. NWPREUNIT=NetWareApi.Nwpre
  163. NWPROTUNIT=NetWareApi.Nwprot
  164. NWSERVUNIT=NetWareApi.Nwserv
  165. NWSNUTUNIT=NetWareApi.Nwsnut
  166. OBJCUNIT=objc
  167. OBJCBASEUNIT=objcbase
  168. OS2DEFUNIT=OS2Api.Os2def
  169. PAGEMEMUNIT=System.PageMem
  170. PILOTUNIT=PalmApi.Pilot
  171. PMBIDIUNIT=OS2Api.Pmbidi
  172. PMBITMAPUNIT=OS2Api.Pmbitmap
  173. PMDEVUNIT=OS2Api.Pmdev
  174. PMGPIUNIT=OS2Api.Pmgpi
  175. PMHELPUNIT=OS2Api.Pmhelp
  176. PMSHLUNIT=OS2Api.Pmshl
  177. PMSPLUNIT=OS2Api.Pmspl
  178. PMSTDDLGUNIT=OS2Api.Pmstddlg
  179. PMWINUNIT=OS2Api.Pmwin
  180. PMWPUNIT=OS2Api.Pmwp
  181. PMWSOCKUNIT=OS2Api.Pmwsock
  182. PORTSUNIT=System.Ports
  183. POSIXUNIT=QNXApi.Posix
  184. PROFILEUNIT=DOSApi.Profile
  185. RASPI2UNIT=EmbeddedApi.Raspi2
  186. RASPI3UNIT=EmbeddedApi.Raspi3
  187. RASPIUARTUNIT=EmbeddedApi.Raspiuart
  188. RTLCONSTSUNIT=System.RtlConsts
  189. SAM3X8EUNIT=EmbeddedApi.Sam3x8e
  190. SAMD51P19AUNIT=EmbeddedApi.Samd51p19a
  191. SC32442BUNIT=EmbeddedApi .Sc32442b
  192. SFPU128UNIT=System.SoftFpu128
  193. SFPUX80UNIT=System.SoftFpuX80
  194. SHAREMEMUNIT=WinApi.ShareMem
  195. SIGNALSUNIT=WinApi.Signals
  196. SO32DLLUNIT=OS2Api.So32dll
  197. SOFTFPUUNIT=System.SoftFPU
  198. SORTBASEUNIT=System.SortBase
  199. STM32F0XXUNIT=EmbeddedApi.Stm32f0xx
  200. STM32F103XEUNIT=EmbeddedApi.Stm32f103xe
  201. STM32F10X_CLUNIT=EmbeddedApi.Stm32f10x_cl
  202. STM32F10X_CONNUNIT=EmbeddedApi.Stm32f10x_conn
  203. STM32F10X_HDUNIT=EmbeddedApi.Stm32f10x_hd
  204. STM32F10X_LDUNIT=EmbeddedApi.Stm32f10x_ld
  205. STM32F10X_MDUNIT=EmbeddedApi.Stm32f10x_md
  206. STM32F10X_XLUNIT=EmbeddedApi.Stm32f10x_xl
  207. STM32F401XEUNIT=EmbeddedApi.Stm32f401xe
  208. STM32F401XXUNIT=EmbeddedApi.Stm32f401xx
  209. STM32F407XXUNIT=EmbeddedApi.Stm32f407xx
  210. STM32F411XEUNIT=EmbeddedApi.Stm32f411xe
  211. STM32F429UNIT=EmbeddedApi.Stm32f429
  212. STM32F429XXUNIT=EmbeddedApi.Stm32f429xx
  213. STM32F446XXUNIT=EmbeddedApi.Stm32f446xx
  214. STM32F745UNIT=EmbeddedApi.Stm32f745
  215. STM32F746UNIT=EmbeddedApi.Stm32f746
  216. STM32F756UNIT=EmbeddedApi.Stm32f756
  217. STM32G071XXUNIT=EmbeddedApi.Stm32g071xx
  218. STRINGSUNIT=System.Strings
  219. SYMBIANUNIT=SymbianApi.Symbian
  220. SYSALLUNIT=PalmApi.Sysall
  221. SYSCALLUNIT=UnixApi.SysCall
  222. SYSCONSTUNIT=System.SysConst
  223. SYSCTLUNIT=BsdApi.SysCtl
  224. SYSEMXUNIT=DOSApi.Sysemx
  225. SYSOS2UNIT=OS2Api.Sysos2
  226. SYSTRAPSUNIT=PalmApi.Systraps
  227. SYSUTILSUNIT=System.SysUtils
  228. TERMIOUNIT=UnixApi.TermIO
  229. TYPESUNIT=System.Types
  230. TYPINFOUNIT=System.TypInfo
  231. UFLOAT128UNIT=System.UFloat128
  232. UFLOATX80UNIT=System.UFloatX80
  233. UIUNIT=PalmApi.Ui
  234. UIQUNIT=SymbianApi.Uiq
  235. UIQCLASSESUNIT=SymbianApi.Uiqclasses
  236. UNICODEDATAUNIT=System.CodePages.Unicodedata
  237. UNIXUNIT=UnixApi.Unix
  238. UNIXCPUNIT=UnixApi.CP
  239. UNIXTYPEUNIT=UnixApi.Types
  240. UNIXUTILUNIT=UnixApi.Utils
  241. VIOCALLSUNIT=OS2Api.Viocalls
  242. WASIAPIUNIT=WASIApi.WASIApi
  243. WASIUTILUNIT=WASIApi.WASIUtil
  244. WATCOMUNIT=WatcomApi.WatCom
  245. WEBASSEMBLYUNIT=WebAssemblyAPI.WebAssembly
  246. WIN31UNIT=WinApi.Win31
  247. WINDIRSUNIT=WinApi.WinDirs
  248. WINDOWSUNIT=WinApi.Windows
  249. WINPROCSUNIT=WinApi.WinProcs
  250. WINSYSUTUNIT=WinApi.WinSysUt
  251. WINTYPESUNIT=WinApi.WinTypes
  252. X86UNIT=System.X86
  253. XMC4500UNIT=EmbeddedApi.Xmc4500
  254. EXEINFOUNIT=System.ExeInfo
  255. ERRORSUNIT=UnixApi.Errors
  256. #
  257. #
  258. #
  259. else
  260. #
  261. # Here all non-dotted units
  262. #
  263. AIOUNIT=aio
  264. ALLWINNER_A20UNIT=allwinner_a20
  265. ANDROIDR14UNIT=androidr14
  266. ATHREADSUNIT=athreads
  267. BASEUNIXUNIT=baseunix
  268. BETHREADSUNIT=bethreads
  269. BLOCKRTLUNIT=blockrtl
  270. BSDUNIT=bsd
  271. CHARACTERUNIT=character
  272. CHARSETUNIT=charset
  273. CLASSESUNIT=classes
  274. CMEMUNIT=cmem
  275. COMMONUNIT=common
  276. CONSOLEUNIT=console
  277. CONSOLEIOUNIT=consoleio
  278. CORTEXM0UNIT=cortexm0
  279. CORTEXM3UNIT=cortexm3
  280. CORTEXM4UNIT=cortexm4
  281. CORTEXM7UNIT=cortexm7
  282. CP1250UNIT=cp1250
  283. CP1251UNIT=cp1251
  284. CP1252UNIT=cp1252
  285. CP1253UNIT=cp1253
  286. CP1254UNIT=cp1254
  287. CP1255UNIT=cp1255
  288. CP1256UNIT=cp1256
  289. CP1257UNIT=cp1257
  290. CP1258UNIT=cp1258
  291. CP3021UNIT=cp3021
  292. CP437UNIT=cp437
  293. CP646UNIT=cp646
  294. CP737UNIT=cp737
  295. CP775UNIT=cp775
  296. CP850UNIT=cp850
  297. CP852UNIT=cp852
  298. CP855UNIT=cp855
  299. CP856UNIT=cp856
  300. CP857UNIT=cp857
  301. CP860UNIT=cp860
  302. CP861UNIT=cp861
  303. CP862UNIT=cp862
  304. CP863UNIT=cp863
  305. CP864UNIT=cp864
  306. CP865UNIT=cp865
  307. CP866UNIT=cp866
  308. CP869UNIT=cp869
  309. CP874UNIT=cp874
  310. CP8859_1UNIT=cp8859_1
  311. CP8859_10UNIT=cp8859_10
  312. CP8859_11UNIT=cp8859_11
  313. CP8859_13UNIT=cp8859_13
  314. CP8859_14UNIT=cp8859_14
  315. CP8859_15UNIT=cp8859_15
  316. CP8859_16UNIT=cp8859_16
  317. CP8859_2UNIT=cp8859_2
  318. CP8859_3UNIT=cp8859_3
  319. CP8859_4UNIT=cp8859_4
  320. CP8859_5UNIT=cp8859_5
  321. CP8859_6UNIT=cp8859_6
  322. CP8859_7UNIT=cp8859_7
  323. CP8859_8UNIT=cp8859_8
  324. CP8859_9UNIT=cp8859_9
  325. CPALLUNIT=cpall
  326. CPKOI8_RUNIT=cpkoi8_r
  327. CPKOI8_UUNIT=cpkoi8_u
  328. CPUUNIT=cpu
  329. CTHREADSUNIT=cthreads
  330. CTYPESUNIT=ctypes
  331. CWSTRINGUNIT=cwstring
  332. DDKUNIT=ddk
  333. DLUNIT=dl
  334. DOSUNIT=dos
  335. DOSCALL2UNIT=doscall2
  336. DOSCALLSUNIT=doscalls
  337. DPMIEXCPUNIT=dpmiexcp
  338. DXELOADUNIT=dxeload
  339. DXETYPEUNIT=dxetype
  340. DYNLIBSUNIT=dynlibs
  341. EMU387UNIT=emu387
  342. EMXUNIT=emx
  343. ERRORSUNIT=errors
  344. ESP32UNIT=esp32
  345. ESP8266UNIT=esp8266
  346. ESP8266RTOS_30300UNIT=esp8266rtos_30300
  347. ESP8266RTOS_30400UNIT=esp8266rtos_30400
  348. ESPIDF_40100UNIT=espidf_40100
  349. ESPIDF_40200UNIT=espidf_40200
  350. ESPIDF_40400UNIT=espidf_40400
  351. EXEUNIT=exe
  352. EXEINFOUNIT=exeinfo
  353. EXTPASUNIT=extpas
  354. FE310G000UNIT=fe310g000
  355. FE310G002UNIT=fe310g002
  356. FGLUNIT=fgl
  357. FPCMEMDLLUNIT=fpcmemdll
  358. FPCYLIXUNIT=fpcylix
  359. FPWIDESTRINGUNIT=fpwidestring
  360. FREEBSDUNIT=freebsd
  361. GD32VF103XXUNIT=gd32vf103xx
  362. GETOPTSUNIT=getopts
  363. GO32UNIT=go32
  364. GPIOUNIT=gpio
  365. HEAPMGRUNIT=heapmgr
  366. INITCUNIT=initc
  367. INTRINSICSUNIT=intrinsics
  368. ISO7185UNIT=iso7185
  369. JDK15UNIT=jdk15
  370. KBDCALLSUNIT=kbdcalls
  371. LIBCUNIT=libc
  372. LINEINFOUNIT=lineinfo
  373. LINUXUNIT=linux
  374. LINUXVCSUNIT=linuxvcs
  375. LM3FURYUNIT=lm3fury
  376. LM3TEMPESTUNIT=lm3tempest
  377. LM4F120UNIT=lm4f120
  378. LNFODWRFUNIT=lnfodwrf
  379. LNFOGDBUNIT=lnfogdb
  380. LPC11XXUNIT=lpc11xx
  381. LPC122XUNIT=lpc122x
  382. LPC13XXUNIT=lpc13xx
  383. LPC1768UNIT=lpc1768
  384. LPC21X4UNIT=lpc21x4
  385. LPC8XXUNIT=lpc8xx
  386. LSTRINGSUNIT=lstrings
  387. MACOSUNIT=macos
  388. MACOSTPUNIT=macostp
  389. MACUTILSUNIT=macutils
  390. MAILBOXUNIT=mailbox
  391. MATHUNIT=math
  392. MESSAGESUNIT=messages
  393. MK20D5UNIT=mk20d5
  394. MK20D7UNIT=mk20d7
  395. MK22F51212UNIT=mk22f51212
  396. MK64F12UNIT=mk64f12
  397. MMIOUNIT=mmio
  398. MMXUNIT=mmx
  399. MONCALLSUNIT=moncalls
  400. MOUCALLSUNIT=moucalls
  401. MSMOUSEUNIT=msmouse
  402. MULTIBOOTUNIT=multiboot
  403. NDKUNIT=ndk
  404. NDKUTILSUNIT=ndkutils
  405. NETWAREUNIT=netware
  406. NEWEXEUNIT=newexe
  407. NRF51UNIT=nrf51
  408. NRF52UNIT=nrf52
  409. NWCALLSUNIT=nwcalls
  410. NWNITUNIT=nwnit
  411. NWPREUNIT=nwpre
  412. NWPROTUNIT=nwprot
  413. NWSERVUNIT=nwserv
  414. NWSNUTUNIT=nwsnut
  415. OBJCUNIT=objc
  416. OBJCBASEUNIT=objcbase
  417. OS2DEFUNIT=os2def
  418. PAGEMEMUNIT=pagemem
  419. PILOTUNIT=pilot
  420. PMBIDIUNIT=pmbidi
  421. PMBITMAPUNIT=pmbitmap
  422. PMDEVUNIT=pmdev
  423. PMGPIUNIT=pmgpi
  424. PMHELPUNIT=pmhelp
  425. PMSHLUNIT=pmshl
  426. PMSPLUNIT=pmspl
  427. PMSTDDLGUNIT=pmstddlg
  428. PMWINUNIT=pmwin
  429. PMWPUNIT=pmwp
  430. PMWSOCKUNIT=pmwsock
  431. PORTSUNIT=ports
  432. POSIXUNIT=posix
  433. PROFILEUNIT=profile
  434. RASPI2UNIT=raspi2
  435. RASPI3UNIT=raspi3
  436. RASPIUARTUNIT=raspiuart
  437. RTLCONSTSUNIT=rtlconsts
  438. SAM3X8EUNIT=sam3x8e
  439. SAMD51P19AUNIT=samd51p19a
  440. SC32442BUNIT=sc32442b
  441. SFPU128UNIT=sfpu128
  442. SFPUX80UNIT=sfpux80
  443. SHAREMEMUNIT=sharemem
  444. SIGNALSUNIT=signals
  445. SO32DLLUNIT=so32dll
  446. SOFTFPUUNIT=softfpu
  447. SORTBASEUNIT=sortbase
  448. STM32F0XXUNIT=stm32f0xx
  449. STM32F103XEUNIT=stm32f103xe
  450. STM32F10X_CLUNIT=stm32f10x_cl
  451. STM32F10X_CONNUNIT=stm32f10x_conn
  452. STM32F10X_HDUNIT=stm32f10x_hd
  453. STM32F10X_LDUNIT=stm32f10x_ld
  454. STM32F10X_MDUNIT=stm32f10x_md
  455. STM32F10X_XLUNIT=stm32f10x_xl
  456. STM32F401XEUNIT=stm32f401xe
  457. STM32F401XXUNIT=stm32f401xx
  458. STM32F407XXUNIT=stm32f407xx
  459. STM32F411XEUNIT=stm32f411xe
  460. STM32F429UNIT=stm32f429
  461. STM32F429XXUNIT=stm32f429xx
  462. STM32F446XXUNIT=stm32f446xx
  463. STM32F745UNIT=stm32f745
  464. STM32F746UNIT=stm32f746
  465. STM32F756UNIT=stm32f756
  466. STM32G071XXUNIT=stm32g071xx
  467. STRINGSUNIT=strings
  468. SYMBIANUNIT=symbian
  469. SYSALLUNIT=sysall
  470. SYSCALLUNIT=syscall
  471. SYSCONSTUNIT=sysconst
  472. SYSCTLUNIT=sysctl
  473. SYSEMXUNIT=sysemx
  474. SYSOS2UNIT=sysos2
  475. SYSTRAPSUNIT=systraps
  476. SYSUTILSUNIT=sysutils
  477. TERMIOUNIT=termio
  478. TYPESUNIT=types
  479. TYPINFOUNIT=typinfo
  480. UFLOAT128UNIT=ufloat128
  481. UFLOATX80UNIT=ufloatx80
  482. UIUNIT=ui
  483. UIQUNIT=uiq
  484. UIQCLASSESUNIT=uiqclasses
  485. UNICODEDATAUNIT=unicodedata
  486. UNIXUNIT=unix
  487. UNIXCPUNIT=unixcp
  488. UNIXTYPEUNIT=unixtype
  489. UNIXUTILUNIT=unixutil
  490. VIOCALLSUNIT=viocalls
  491. WASIAPIUNIT=wasiapi
  492. WASIUTILUNIT=wasiutil
  493. WATCOMUNIT=watcom
  494. WEBASSEMBLYUNIT=webassembly
  495. WIN31UNIT=win31
  496. WINDIRSUNIT=windirs
  497. WINDOWSUNIT=windows
  498. WINPROCSUNIT=winprocs
  499. WINSYSUTUNIT=winsysut
  500. WINTYPESUNIT=wintypes
  501. X86UNIT=x86
  502. XMC4500UNIT=xmc4500
  503. #
  504. #
  505. #
  506. endif
  507. #
  508. # End of unit names definitions
  509. #
  510. #
  511. # Set up namespaced names
  512. #
  513. ifdef FPC_DOTTEDUNITS
  514. NS_SYSTEM=System.
  515. NS_CPUNITS=System.CodePages.
  516. NSDIR=$(RTL)/namespaced
  517. NSINC=$(NSDIR)/common
  518. OPT:=$(OPT) -dFPC_DOTTEDUNITS
  519. BASEINCLUDE=$(INC) $(PROCINC)
  520. BASESOURCE=$(INC) $(PROCINC) $($(COMMONUNIT))
  521. endif
  522. CPUNITSBASE=$(CP1250UNIT) $(CP1251UNIT) $(CP1252UNIT) $(CP1253UNIT) $(CP1254UNIT) $(CP1255UNIT) $(CP1256UNIT) $(CP1257UNIT) $(CP1258UNIT) \
  523. $(CP437UNIT) $(CP646UNIT) $(CP737UNIT) $(CP775UNIT) $(CP850UNIT) $(CP852UNIT) $(CP855UNIT) $(CP856UNIT) $(CP857UNIT) $(CP860UNIT) $(CP861UNIT) $(CP862UNIT) \
  524. $(CP863UNIT) $(CP864UNIT) $(CP865UNIT) $(CP866UNIT) $(CP869UNIT) $(CP874UNIT) $(CP3021UNIT) $(CP8859_1UNIT) $(CP8859_2UNIT) $(CP8859_3UNIT) $(CP8859_4UNIT) \
  525. $(CP8859_5UNIT) $(CP8859_6UNIT) $(CP8859_7UNIT) $(CP8859_8UNIT) $(CP8859_9UNIT) $(CP8859_10UNIT) $(CP8859_11UNIT) \
  526. $(CP8859_13UNIT) $(CP8859_14UNIT) $(CP8859_15UNIT) $(CP8859_16UNIT) $(CPKOI8_RUNIT) $(CPKOI8_UUNIT)
  527. CPUNITS=$(addprefix $(NS_CPUNITS),$(CPUNITSBASE))
  528. [install]
  529. fpcpackage=y
  530. [default]
  531. fpcdir=../..
  532. [rules]
  533. ifndef OSDIR
  534. OSDIR=.
  535. endif
  536. ifndef PORTSDIR
  537. PORTSDIR=$(OSDIR)
  538. endif
  539. ifndef DYNLIBSINCDIR
  540. DYNLIBSINCDIR=$(OSDIR)
  541. endif
  542. ifndef INITCDIR
  543. INITCDIR=$(OSDIR)
  544. endif
  545. ifndef DOSDIR
  546. DOSDIR=$(OSDIR)
  547. NSDOSDIR=$(NSDIR)/$(DOSDIR)
  548. endif
  549. ifndef SYSUTILSDIR
  550. SYSUTILSDIR=$(OSDIR)
  551. endif
  552. ifndef NSSYSUTILSDIR
  553. NSSYSUTILSDIR=$(NSDIR)/$(SYSUTILSDIR)
  554. endif
  555. ifndef CLASSESDIR
  556. CLASSESDIR=$(OSDIR)
  557. endif
  558. ifndef NSCLASSESDIR
  559. NSCLASSESDIR=$(NSDIR)/$(CLASSESDIR)
  560. endif
  561. ifndef NSBSDDIR
  562. NSBSDDIR=$(NSDIR)/bsd
  563. endif
  564. ifdef FPC_DOTTEDUNITS
  565. MACPAS_OPT:=$(MACPAS_OPT) -dFPC_DOTTEDUNITS
  566. EXTPAS_OPT:=$(EXTPAS_OPT) -dFPC_DOTTEDUNITS
  567. endif
  568. #
  569. # Make rules
  570. #
  571. ###################################################
  572. # Units for which there is no namespaced equivalent
  573. # Because they are included by the compiler automatically
  574. ########################################
  575. # System
  576. $(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp $(SYSDEPS)
  577. $(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
  578. # uuchar
  579. UUCHAR_DEPS=$(INC)/uuchar.pp \
  580. $(SYSTEMUNIT)$(PPUEXT) \
  581. $(UUCHAR_DEPS_OS) $(UUCHAR_DEPS_CPU)
  582. uuchar$(PPUEXT): $(UUCHAR_DEPS)
  583. $(COMPILER) $(UUCHAR_OPT) $<
  584. # uachar
  585. UACHAR_DEPS=$(INC)/uachar.pp \
  586. $(SYSTEMUNIT)$(PPUEXT) \
  587. $(UACHAR_DEPS_OS) $(UACHAR_DEPS_CPU)
  588. uachar$(PPUEXT): $(UACHAR_DEPS)
  589. $(COMPILER) $(UACHAR_OPT) $<
  590. # objpas
  591. OBJPAS_DEPS= $(OBJPASDIR)/objpas.pp $(INC)/except.inc \
  592. $(SYSTEMUNIT)$(PPUEXT) \
  593. $(OBJPAS_DEPS_OS) $(OBJPAS_DEPS_SPU)
  594. objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT)
  595. $(COMPILER) $(OBJPAS_OPT) -I$(OBJPASDIR) $<
  596. # macpas
  597. MACPAS_DEPS=$(INC)/macpas.pp \
  598. objpas$(PPUEXT) $(MATHUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  599. $(MACPAS_DEPS_OS) $(MACPAS_DEPS_CPU)
  600. macpas$(PPUEXT) : $(MACPAS_DEPS)
  601. $(COMPILER) $(MACPAS_OPT) $<
  602. # iso7185
  603. ISO7185_DEPS= $(INC)/$(ISO7185UNIT).pp \
  604. $(SYSTEMUNIT)$(PPUEXT) \
  605. $(ISO7185_DEPS_OS) $(ISO7185_DEPS_CPU)
  606. iso7185$(PPUEXT) : $(ISO7185_DEPS)
  607. $(COMPILER) $(ISO7185_OPT) $<
  608. # extpas
  609. EXTPAS_DEPS=$(INC)/extpas.pp \
  610. $(DOSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  611. $(EXTPAS_DEPS_OS) $(EXTPAS_DEPS_CPU)
  612. extpas$(PPUEXT) : $(EXTPAS_DEPS)
  613. $(COMPILER) $(EXTPAS_OPT) $<
  614. # fintres
  615. FPINTRES_DEPS= $(INC)/fpintres.pp $(SYSTEMUNIT)$(PPUEXT) \
  616. $(FPINTRES_DEPS_OS) $(FPINTRES_DEPS_CPU)
  617. fpintres$(PPUEXT) : $(FPINTRES_DEPS)
  618. $(COMPILER) $(FPINTRES_OPT) $<
  619. # heaptrc
  620. HEAPTRC_DEPS=$(INC)/heaptrc.pp \
  621. $(SYSTEMUNIT)$(PPUEXT) \
  622. $(HEAPTRC_DEPS_OS) $(HEAPTRC_DEPS_CPU)
  623. heaptrc$(PPUEXT) : $(HEAPTRC_DEPS)
  624. $(COMPILER) $(HEAPTRC_OPT) $<
  625. # softfpu
  626. SOFTFPU_DEPS=$(INC)/softfpu.pp \
  627. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
  628. $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
  629. softfpu$(PPUEXT) : $(SOFTFPU_DEPS)
  630. $(COMPILER) $(SOFTFPU_OPT) $<
  631. System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS)
  632. $(COMPILER) $(SOFTFPU_OPT) $<
  633. # sfpux80
  634. SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
  635. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
  636. $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU)
  637. sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
  638. $(COMPILER) $(SFPUX80_OPT) $<
  639. System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp $(SFPUX80_DEPS)
  640. $(COMPILER) $(SFPUX80_OPT) $<
  641. # sfpu128
  642. SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
  643. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
  644. $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
  645. sfpu128$(PPUEXT) : $(SFPU128_DEPS)
  646. $(COMPILER) $(SFPUX128_OPT) $<
  647. System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
  648. $(COMPILER) $(SFPUX128_OPT) $<
  649. # ufloat80x
  650. UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
  651. $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  652. $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
  653. ufloatx80$(PPUEXT) : $(UFLOATX80_DEPS)
  654. $(COMPILER) $(UFLOATX80_OPT) $<
  655. System.UFloatX80$(PPUEXT) : $(NSINC)/System.UFloatX80.pp $(UFLOATX80_DEPS)
  656. $(COMPILER) $(UFLOATX80_OPT) $<
  657. # ufloat128
  658. UFLOAT128_DEPS=$(INC)/ufloat128.pp \
  659. $(SFPU128UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  660. $(UFLOAT128_DEPS_OS) $(UFLOAT128_DEPS_CPU)
  661. ufloat128$(PPUEXT) : $(UFLOAT128_DEPS)
  662. $(COMPILER) $(UFLOAT128_OPT) $<
  663. System.UFloat128$(PPUEXT) : $(NSINC)/System.UFloat128.pp $(UFLOAT128_DEPS)
  664. $(COMPILER) $(UFLOAT128_OPT) $<
  665. #
  666. # $(STRINGSUNIT)
  667. #
  668. STRINGS_DEPS=$(INC)/strings.pp $(INC)/stringsi.inc $(PROCINC)/stringss.inc $(PROCINC)/strings.inc \
  669. $(SYSTEMUNIT)$(PPUEXT) \
  670. $(STRINGS_DEPS_OS)
  671. strings$(PPUEXT) : $(STRINGS_DEPS)
  672. $(COMPILER) $(STRINGS_OPT) $<
  673. System.Strings$(PPUEXT) : $(NSINC)/System.Strings.pp $(STRINGS_DEPS)
  674. $(COMPILER) $(STRINGS_OPT) $<
  675. #
  676. # System Dependent Units
  677. #
  678. #
  679. # Ports
  680. #
  681. PORTS_DEPS=$(PORTSDIR)/ports.pp \
  682. $(SYSTEMUNIT)$(PPUEXT) \
  683. $(PORTS_DEPS_OS) $(PORTS_DEPS_CPU)
  684. ports$(PPUEXT) : $(PORTS_DEPS)
  685. $(COMPILER) $(PORTS_OPT) $<
  686. System.Ports$(PPUEXT) : $(NSINC)/System.Ports.pp $(PORTS_DEPS)
  687. $(COMPILER) $(PORTS_OPT) $<
  688. #
  689. # Dynlibs
  690. #
  691. DYNLIBS_DEPS=$(INC)/dynlibs.pas $(OSDIR)/dynlibs.inc \
  692. $(DLUNIT)$(PPUEXT) objpas$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) \
  693. $(DYNLIBS_DEPS_OS) $(DYNLIBS_DEPS_CPU)
  694. dynlibs$(PPUEXT) : $(DYNLIBS_DEPS)
  695. $(COMPILER) $(DYNLIBS_OPT) $<
  696. System.DynLibs$(PPUEXT) : $(NSINC)/System.DynLibs.pas $(DYNLIBS_DEPS)
  697. $(COMPILER) $(DYNLIBS_OPT) $<
  698. #
  699. # InitC
  700. #
  701. INITC_DEPS=$(INITCDIR)/initc.pp $(CTYPESUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  702. $(INITC_DEPS_OS) $(INITC_DEPS_CPU)
  703. initc$(PPUEXT) : $(INITC_DEPS)
  704. $(COMPILER) $(INITC_OPT) $<
  705. System.InitC$(PPUEXT) : $(NSINC)/System.InitC.pp $(INITC_DEPS)
  706. $(COMPILER) $(INITC_OPT) $<
  707. #
  708. # UnixCP
  709. #
  710. UNIXCP_DEPS=$(UNIXINC)/unixcp.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) \
  711. $(UNIXCP_DEPS_OS) $(UNIXCP_DEPS_CPU)
  712. unixcp$(PPUEXT) : $(UNIXCP_DEPS)
  713. $(COMPILER) $(UNIXCP_OPT) $(UNIXINC)/unixcp.pp
  714. UnixApi.CP$(PPUEXT) : $(NSINC)/UnixApi.CP.pp $(UNIXCP_DEPS)
  715. $(COMPILER) $(UNIXCP_OPT) $<
  716. #
  717. # Linux
  718. #
  719. LINUX_DEPS=$(OSDIR)/linux.pp \
  720. $(BASEUNIXUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(SYSCALLUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  721. $(LINUX_DEPS_OS) $(LINUX_DEPS_CPU)
  722. linux$(PPUEXT): $(LINUX_DEPS)
  723. $(COMPILER) $<
  724. LinuxApi$(PPUEXT): $(NSOSDIR)/LinuxApi.pp $(LINUX_DEPS)
  725. $(COMPILER) $(LINUX_OPT) $<
  726. #
  727. # linuxvcs
  728. #
  729. LINUXVCS_DEPS=$(OSDIR)/linuxvcs.pp $(BASEUNIXUNIT)$(PPUEXT) $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  730. $(LINUXVCS_DEPS_OS) $(LINUXVCS_DEPS_CPU)
  731. linuxvcs$(PPUEXT): $(LINUXVCS_DEPS)
  732. $(COMPILER) $(LINUXVCS_OPT) $<
  733. LinuxApi.Vcs$(PPUEXT): $(NSOSDIR)/LinuxApi.Vcs.pp $(LINUXVCS_DEPS)
  734. $(COMPILER) $(LINUXVCS_OPT) $<
  735. #
  736. # fpcylix
  737. #
  738. FPCYLIX_DEPS=fpcylix.pp \
  739. $(CTHREADSUNIT)$(PPUEXT) $(CWSTRINGUNIT)$(PPUEXT) $(DYNLIBSUNIT)$(PPUEXT) \
  740. objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  741. $(FPCYLIX_DEPS_OS) $(FPCYLIX_DEPS_CPU)
  742. fpcylix$(PPUEXT) : $(FPCYLIX_DEPS)
  743. $(COMPILER) $(FPCYLIX_OPT) $<
  744. #
  745. # Termio
  746. #
  747. TERMIO_DEPS=$(OSDIR)/termio.pp $(BASEUNIXUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)\
  748. $(TERMIO_DEPS_OS) $(TERMIO_DEPS_CPU)
  749. termio$(PPUEXT) : $(TERMIO_DEPS)
  750. $(COMPILER) $(TERMIO_OPT) $<
  751. UnixApi.TermIO$(PPUEXT) : $(NSINC)/UnixApi.TermIO.pp $(TERMIO_DEPS)
  752. $(COMPILER) $(TERMIO_OPT) $<
  753. #
  754. # TP7 Compatible RTL Units
  755. #
  756. DOS_DEPS=$(DOSDIR)/dos.pp $(INC)/filerec.inc $(INC)/textrec.inc \
  757. $(STRINGSUNIT)$(PPUEXT) $(UNIXUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  758. $(DOS_DEPS_OS) $(DOS_DEPS_CPU)
  759. dos$(PPUEXT): $(DOS_DEPS)
  760. $(COMPILER) $(DOS_OPTS) $<
  761. TP.DOS$(PPUEXT): $(NSINC)/TP.DOS.pp $(DOS_DEPS)
  762. $(COMPILER) $(DOS_OPTS) $<
  763. ###########################################
  764. # Delphi Compatible Units
  765. ###########################################
  766. #
  767. # SysUtils
  768. #
  769. # for convenience this can be reused in SYSUTILS_DEPS_OS
  770. SYSUTILS_UNIX_DEPS=$(UNIXUNIT)$(PPUEXT) $(ERRORSUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
  771. $(SYSCALLUNIT)$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
  772. $(UNIXUTILUNIT)$(PPUEXT) $(INITCUNIT)$(PPUEXT)
  773. SYSUTILS_DEPS=$(SYSUTILSDIR)/sysutils.pp $(wildcard $(OBJPASDIR)/$(SYSUTILSUNIT)/*.inc) \
  774. objpas$(PPUEXT) $(SYSCONSTUNIT)$(PPUEXT) \
  775. $(SYSUTILS_DEPS_OS) $(SYSUTILS_DEPS_CPU)
  776. sysutils$(PPUEXT) : $(SYSUTILS_DEPS)
  777. $(COMPILER) -Fi$(OBJPASDIR)/$(SYSUTILSUNIT) $<
  778. System.SysUtils$(PPUEXT) : $(NSINC)/System.SysUtils.pp $(SYSUTILS_DEPS)
  779. $(COMPILER) $(SYSUTILS_OPT) -Fi$(OBJPASDIR)/sysutils $<
  780. #
  781. # Classes
  782. #
  783. CLASSES_DEPS=$(CLASSESDIR)/classes.pp $(wildcard $(OBJPASDIR)/$(CLASSESUNIT)/*.inc) \
  784. $(SYSUTILSUNIT)$(PPUEXT) $(TYPINFOUNIT)$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) \
  785. $(FGLUNIT)$(PPUEXT) $(TYPESUNIT)$(PPUEXT) \
  786. $(CLASSES_DEPS_OS) $(CLASSES_DEPS_CPU)
  787. classes$(PPUEXT) : $(CLASSES_DEPS)
  788. $(COMPILER) -Fi$(OBJPASDIR)/classes $(CLASSES_OPT) $<
  789. System.Classes$(PPUEXT) : $(NSINC)/System.Classes.pp $(CLASSES_DEPS)
  790. $(COMPILER) -Fi$(OBJPASDIR)/classes $(CLASSES_OPT) $<
  791. #
  792. # TypInfo
  793. #
  794. TYPINFO_DEPS=$(OBJPASDIR)/typinfo.pp \
  795. objpas$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) \
  796. $(TYPINFO_DEPS_OS) $(TYPINFO_DEPS_CPU)
  797. typinfo$(PPUEXT): $(TYPINFO_DEPS)
  798. $(COMPILER) -Sg $(TYPINFO_OPT) $<
  799. System.TypInfo$(PPUEXT): $(NSINC)/System.TypInfo.pp
  800. $(COMPILER) -Fi$(OBJPASDIR) -Sg $(TYPINFO_OPT) $<
  801. #
  802. # Character
  803. #
  804. # let it depend on buildcollations to prevent simultaneous building of $(UNICODEDATAUNIT)
  805. CHARACTER_DEPS=$(OBJPASDIR)/character.pas \
  806. $(SYSUTILSUNIT)$(PPUEXT) objpas$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) \
  807. $(CHARACTER_DEPS_OS) $(CHARACTER_DEPS_CPU)
  808. character$(PPUEXT): $(CHARACTER_DEPS)
  809. $(COMPILER) $(CHARACTER_OPT) $<
  810. System.Character$(PPUEXT): $(NSINC)/System.Character.pas $(CHARACTER_DEPS)
  811. $(COMPILER) $(CHARACTER_OPT) -Fi$(OBJPASDIR) $<
  812. #
  813. # Math
  814. #
  815. MATH_DEPS= $(OBJPASDIR)/math.pp \
  816. objpas$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  817. $(MATH_DEPS_OS) $(MATH_DEPS_CPU)
  818. math$(PPUEXT): $(MATH_DEPS)
  819. $(COMPILER) $(MATH_OPT) $<
  820. System.Math$(PPUEXT): $(NSINC)/System.Math.pp $(MATH_DEPS)
  821. $(COMPILER) $(MATH_OPT) -Fi$(OBJPASDIR) $<
  822. #
  823. # FGL
  824. #
  825. FGL_DEPS=$(OBJPASDIR)/fgl.pp \
  826. objpas$(PPUEXT) $(TYPESUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  827. $(SYSUTILSUNIT)$(PPUEXT) $(SORTBASEUNIT)$(PPUEXT) \
  828. $(FCL_DEPS_OS) $(FCL_DEPS_CPU)
  829. fgl$(PPUEXT) : $(FGL_DEPS)
  830. $(COMPILER) $(FGL_OPT) $<
  831. System.FGL$(PPUEXT) : $(NSINC)/System.FGL.pp $(FGL_DEPS)
  832. $(COMPILER) -Fi$(OBJPASDIR) $(FGL_OPT) $<
  833. #
  834. # Types
  835. #
  836. TYPES_DEPS=$(OBJPASDIR)/types.pp \
  837. objpas$(PPUEXT) $(MATHUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  838. $(TYPES_DEPS_OS) $(TYPES_DEPS_CPU)
  839. types$(PPUEXT) : $(TYPES_DEPS)
  840. $(COMPILER) $(TYPES_OPT) $<
  841. System.Types$(PPUEXT) : $(NSINC)/System.Types.pp $(TYPES_DEPS)
  842. $(COMPILER) -Fi$(OBJPASDIR) $(TYPES_OPT) $<
  843. #
  844. # SysConst
  845. #
  846. SYSCONST_DEPS=$(OBJPASDIR)/sysconst.pp \
  847. objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  848. $(SYSCONST_DEPS_OS) $(SYSCONST_DEPS_CPU)
  849. sysconst$(PPUEXT) : $(SYSCONST_DEPS)
  850. $(COMPILER) $(SYSCONST_OPT) $<
  851. System.SysConst$(PPUEXT) : $(NSINC)/System.SysConst.pp $(SYSCONST_DEPS)
  852. $(COMPILER) -Fi$(OBJPASDIR) $(SYSCONST_OPT) $<
  853. #
  854. # RTLConst
  855. #
  856. RTLCONSTS_DEPS=$(OBJPASDIR)/rtlconsts.pp \
  857. objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  858. $(RTLCONST_DEPS_OS) $(RTLCONST_DEPS_CPU)
  859. rtlconsts$(PPUEXT) : $(RTLCONSTS_DEPS)
  860. $(COMPILER) $(RTLCONSTS_OPT) $<
  861. System.RtlConsts$(PPUEXT) : $(NSINC)/System.RtlConsts.pp $(RTLCONSTS_DEPS)
  862. $(COMPILER) -Fi$(OBJPASDIR) $(RTLCONSTS_OPT) $<
  863. #######################################
  864. # Other System-independent RTL Units
  865. #######################################
  866. #
  867. # Cpu
  868. #
  869. ifneq ($(findstring $(ARCH),x86_64 i386),)
  870. CPU_DEPS_OS:=$(CPU_DEPS_OS) $(SYSUTILSUNIT)$(PPUEXT)
  871. endif
  872. CPU_DEPS=$(PROCINC)/cpu.pp \
  873. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
  874. $(CPU_DEPS_OS) $(CPU_DEPS_CPU)
  875. cpu$(PPUEXT) : $(CPU_DEPS)
  876. $(COMPILER) $(CPU_OPT) $<
  877. System.CPU$(PPUEXT) : $(NSINC)/System.CPU.pp
  878. $(COMPILER) $(CPU_OPT) $<
  879. #
  880. # mmx
  881. #
  882. MMX_DEPS=$(PROCINC)/mmx.pp \
  883. $(CPUUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  884. $(MMX_DEPS_OS) $(MMX_DEPS_CPU)
  885. mmx$(PPUEXT) : $(MMX_DEPS)
  886. $(COMPILER) $(MMX_OPT) $<
  887. System.MMX$(PPUEXT) : $(NSINC)/System.MMX $(MMX_DEPS)
  888. $(COMPILER) $(MMX_OPT) $<
  889. #
  890. # X86
  891. #
  892. X86_DEPS = $(UNIXINC)/x86.pp \
  893. $(BASEUNIXUNIT)$(PPUEXT) $(SYSCALLUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  894. $(X86_DEPS_OS) $(X86_DEPS_CPU)
  895. x86$(PPUEXT) : $(X86_DEPS)
  896. $(COMPILER) $(X86_OPT) $<
  897. System.X86$(PPUEXT) : $(NSINC)/System.X86.pp $(X86_DEPS)
  898. $(COMPILER) $(X86_OPT) $<
  899. #
  900. # getopts
  901. #
  902. GETOPTS_DEPS=$(INC)/getopts.pp \
  903. $(SYSTEMUNIT)$(PPUEXT) \
  904. $(GETOPTS_DEPS_OS) $(GETOPTS_DEPS_CPU)
  905. getopts$(PPUEXT) : $(GETOPTS_DEPS)
  906. $(COMPILER) $(GETOPTS_OPT) $<
  907. System.GetOpts$(PPUEXT) : $(NSINC)/System.GetOpts.pp $(GETOPTS_DEPS)
  908. $(COMPILER) $(GETOPTS_OPT) $<
  909. #
  910. # lineinfo
  911. #
  912. LINEINFO_DEPS=$(INC)/lineinfo.pp \
  913. $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) \
  914. $(LINEINFO_DEPS_OS) $(LINEINFO_DEPS_CPU)
  915. lineinfo$(PPUEXT) : $(LINEINFO_DEPS)
  916. $(COMPILER) $(LINEINFO_OPT) $<
  917. System.LineInfo$(PPUEXT) : $(NSINC)/System.LineInfo.pp $(LINEINFO_DEPS)
  918. $(COMPILER) $(LINEINFO_OPT) $<
  919. EXEINFO_DEPS=$(INC)/exeinfo.pp \
  920. $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  921. $(EXEINFO_DEPS_OS) $(EXEINFO_DEPS_CPU)
  922. exeinfo$(PPUEXT) : $(EXEINFO_DEPS)
  923. $(COMPILER) $(EXEINFO_OPT) $<
  924. System.ExeInfo$(PPUEXT) : $(NSINC)/System.ExeInfo.pp $(LINEINFO_DEPS)
  925. $(COMPILER) $(EXEINFO_OPT) $<
  926. #
  927. # lnfodwrf
  928. #
  929. LNFODWRF_DEPS=$(INC)/lnfodwrf.pp \
  930. $(SYSTEMUNIT)$(PPUEXT) $(STRINGSUNIT)$(PPUEXT) $(LINEINFOUNIT)$(PPUEXT) \
  931. $(SYSUTILSUNIT)$(PPUEXT) $(EXEINFOUNIT)$(PPUEXT) \
  932. $(LNFODWRF_DEPS_OS) $(LNFODWRF_DEPS_CPU)
  933. lnfodwrf$(PPUEXT) : $(LNFODWRF_DEPS)
  934. $(COMPILER) $(LNFODWRF_OPT) $<
  935. System.LineInfo.Dwarf$(PPUEXT) : $(NSINC)/System.LineInfo.Dwarf.pp $(LNFODWRF_DEPS)
  936. $(COMPILER) $(LNFODWRF_OPT) $<
  937. #
  938. # lnfodgdb
  939. #
  940. LNFOGDB_DEPS=$(UNIXINC)/lnfogdb.pp \
  941. $(SYSTEMUNIT)$(PPUEXT) $(STRINGSUNIT)$(PPUEXT) $(LINEINFOUNIT)$(PPUEXT) \
  942. $(SYSUTILSUNIT)$(PPUEXT) $(EXEINFOUNIT)$(PPUEXT) \
  943. $(LNFOGDB_DEPS_OS) $(LNFOGDB_DEPS_CPU)
  944. lnfogdb$(PPUEXT) : $(LNFOGDB_DEPS)
  945. $(COMPILER) $(LNFOGDB_OPT) $<
  946. System.LineInfo.Gdb$(PPUEXT) : $(NSINC)/System.LineInfo.Gdb.pp $(LNFOGDB_DEPS)
  947. $(COMPILER) $(LNFOGDB_OPT) $<
  948. #
  949. # Charset
  950. #
  951. CHARSET_DEPS=$(INC)/charset.pp \
  952. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
  953. $(CHARSET_DEPS_OS) $(CHARSET_DEPS_CPU)
  954. charset$(PPUEXT) : $(CHARSET_DEPS)
  955. $(COMPILER) $(CHARSET_OPT) $<
  956. System.CharSet$(PPUEXT) : $(NSINC)/System.CharSet.pp $(CHARSET_DEPS)
  957. $(COMPILER) $(CHARSET_OPT) $<
  958. #
  959. # cpall (in fact a build unit for all CP_)
  960. #
  961. CPALL_DEPS=$(RTL)/charmaps/cpall.pas \
  962. system$(PPUEXT) $(CHARSETUNIT)$(PPUEXT) \
  963. $(CPALL_DEPS_OS) $(CPALL_DEPS_CPU)
  964. cpall$(PPUEXT): $(CPALL_DEPS)
  965. $(COMPILER) $(CPALL_OPT) -Fu$(INC) -Fi$(RTL)/charmaps $<
  966. System.CodePages.All$(PPUEXT): $(NSINC)/System.CodePages.All.pas $(CPALL_DEPS)
  967. $(COMPILER) $(CPALL_OPT) -Fu$(INC) -Fi$(RTL)/charmaps $<
  968. #
  969. # fpwidestring
  970. #
  971. FPWIDESTRING_DEPS=$(OBJPASDIR)/fpwidestring.pp \
  972. $(CHARACTERUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(CPALLUNIT)$(PPUEXT) \
  973. $(FPWIDESTRING_DEPS_OS) $(FPWIDESTRING_DEPS_CPU)
  974. fpwidestring$(PPUEXT): $(FPWIDESTRING_DEPS)
  975. $(COMPILER) $(FPWIDESTRING_OPT) $<
  976. System.FPWideString$(PPUEXT): $(NSINC)/System.FPWideString.pp $(FPWIDESTRING_DEPS)
  977. $(COMPILER) -Fi$(OBJPASDIR) $(FPWIDESTRING_OPT) $<
  978. #
  979. # sortbase
  980. #
  981. SORTBASE_DEPS=$(INC)/sortbase.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  982. $(SORTBASE_DEPS_OS) $(SORTBASE_DEPS_CPU)
  983. sortbase$(PPUEXT) : $(SORTBASE_DEPS)
  984. $(COMPILER) $(SORTBASE_OPT) $<
  985. System.SortBase$(PPUEXT) : $(NSINC)/System.SortBase.pp $(SORTBASE_DEPS)
  986. $(COMPILER) $(SORTBASE_OPT) $<
  987. #
  988. # Other system-dependent RTL Units
  989. #
  990. CALLSPEC_DEPS=$(INC)/callspec.pp \
  991. $(SYSTEMUNIT)$(PPUEXT) \
  992. $(CALLSPEC_DEPS_OS) $(CALLSPEC_DEPS_CPU)
  993. callspec$(PPUEXT) : $(CALLSPEC_DEPS)
  994. $(COMPILER) $(CALLSPEC_OPT) $<
  995. System.CallSpec$(PPUEXT) : $(NSINC)/System.CallSpec.pp $(CALLSPEC_DEPS)
  996. $(COMPILER) $(CALLSPEC_OPT) $<
  997. #
  998. # cmem
  999. #
  1000. CMEM_DEPS=$(INC)/cmem.pp \
  1001. $(SYSTEMUNIT)$(PPUEXT) \
  1002. $(CMEM_DEPS_OS) $(CMEM_DEPS_CPU)
  1003. cmem$(PPUEXT) : $(CMEM_DEPS)
  1004. $(COMPILER) $(CMEM_OPT) $<
  1005. System.CMem$(PPUEXT) : $(NSINC)/System.CMem.pp $(CMEM_DEPS)
  1006. $(COMPILER) $(CMEM_OPT) $<
  1007. #####################
  1008. # Unix-specific
  1009. #####################
  1010. #
  1011. # Baseunix
  1012. #
  1013. BASEUNIX_DEPS=$(UNIXINC)/baseunix.pp $(UNIXINC)/ctypes.inc \
  1014. $(UNIXINC)/bunxh.inc $(UNIXINC)/gensigset.inc $(OSDIR)/ptypes.inc $(OSDIR)/errno.inc \
  1015. $(UNIXTYPEUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  1016. $(BASEUNIX_DEPS_OS) $(BASEUNIX_DEPS_CPU)
  1017. baseunix$(PPUEXT): $(BASEUNIX_DEPS)
  1018. $(COMPILER) $(BASEUNIX_OPT) $<
  1019. UnixApi.Base$(PPUEXT): $(NSINC)/UnixApi.Base.pp $(BASEUNIX_DEPS)
  1020. $(COMPILER) $(BASEUNIX_OPT) $<
  1021. #
  1022. # Unix
  1023. #
  1024. UNIX_DEPS=$(UNIXINC)/unix.pp \
  1025. $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) \
  1026. $(UNIXUTILUNIT)$(PPUEXT) \
  1027. $(INC)/textrec.inc $(INC)/filerec.inc $(UNIXINC)/timezone.inc \
  1028. $(OSDIR)/unxconst.inc $(OSDIR)/unxfunc.inc \
  1029. $(UNIX_DEPS_OS) $(UNIX_DEPS_CPU)
  1030. unix$(PPUEXT): $(UNIX_DEPS)
  1031. $(COMPILER) $(UNIX_OPT) $<
  1032. UnixApi.Unix$(PPUEXT) : $(NSINC)/UnixApi.Unix.pp $(UNIX_DEPS)
  1033. $(COMPILER) $(UNIX_OPT) $<
  1034. #
  1035. # SysCall
  1036. #
  1037. SYSCALL_DEPS=$(UNIXINC)/syscall.pp \
  1038. $(SYSTEMUNIT)$(PPUEXT)\
  1039. $(SYSCALL_DEPS_OS) $(SYSCALL_DEPS_CPU)
  1040. syscall$(PPUEXT) : $(SYSCALL_DEPS)
  1041. $(COMPILER) $(SYSCALL_OPT) $<
  1042. UnixApi.SysCall$(PPUEXT) : $(NSINC)/UnixApi.SysCall.pp $(SYSCALL_DEPS)
  1043. $(COMPILER) $(SYSCALL_OPT) $<
  1044. #
  1045. # UnixUtil
  1046. #
  1047. UNIXUTIL_DEPS=$(UNIXINC)/unixutil.pp $(INC)/textrec.inc $(INC)/filerec.inc\
  1048. $(BASEUNIXUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)\
  1049. $(UNIXUTILDEPSOS)
  1050. unixutil$(PPUEXT) : $(UNIXUTIL_DEPS)
  1051. $(COMPILER) $(UNIXUTIL_OPT) $<
  1052. UnixApi.Utils$(PPUEXT) : $(NSINC)/UnixApi.Utils.pp $(UNIXUTIL_DEPS)
  1053. $(COMPILER) $(UNIXUTIL_OPT) $<
  1054. #
  1055. # UnixType
  1056. #
  1057. UNIXTYPE_DEPS=$(UNIXINC)/unixtype.pp \
  1058. $(SYSTEMUNIT)$(PPUEXT) $(OSDIR)/ptypes.inc $(UNIXINC)/ctypes.inc \
  1059. $(UNIXTYPE_DEPS_OS) $(UNIXTYPE_DEPS_CPU)
  1060. unixtype$(PPUEXT) : $(UNIXTYPE_DEPS)
  1061. $(COMPILER) $(UNIXTYPE_OPT) $(UNIXINC)/unixtype.pp
  1062. UnixApi.Types$(PPUEXT) : $(NSINC)/UnixApi.Types.pp $(UNIXTYPE_DEPS)
  1063. $(COMPILER) $(UNIXTYPE_OPT) $<
  1064. #
  1065. # dl unit
  1066. #
  1067. DL_DEPS=$(UNIXINC)/dl.pp \
  1068. $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) \
  1069. $(DL_DEPS_OS) $(DL_DEPS_CPU)
  1070. dl$(PPUEXT) : $(DL_DEPS)
  1071. $(COMPILER) $(DL_OPT) $<
  1072. UnixApi.Dl$(PPUEXT) : $(NSINC)/UnixApi.Dl.pp $(DL_DEPS)
  1073. $(COMPILER) $(DL_OPT) $<
  1074. #
  1075. # Errors
  1076. #
  1077. ERRORS_DEPS=$(UNIXINC)/errors.pp \
  1078. $(STRINGSUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  1079. $(ERRORS_DEPS_OS) $(ERRORS_DEPS_CPU)
  1080. errors$(PPUEXT) : $(ERRORS_DEPS)
  1081. $(COMPILER) $(ERRORS_OPT) $<
  1082. UnixApi.Errors$(PPUEXT) : $(NSINC)/UnixApi.Errors.pp $(ERRORS_DEPS)
  1083. $(COMPILER) $(ERRORS_OPT) $<
  1084. #
  1085. # CThreads
  1086. #
  1087. CTHREADS_DEPS=$(UNIXINC)/cthreads.pp \
  1088. $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(UNIXUNIT)$(PPUEXT) \
  1089. $(BASEUNIXUNIT)$(PPUEXT) $(INITCUNIT)$(PPUEXT) $(DLUNIT)$(PPUEXT) \
  1090. $(CTHREADS_DEPS_OS) $(CTHREADS_DEPS_CPU)
  1091. cthreads$(PPUEXT) : $(CTHREADS_DEPS)
  1092. $(COMPILER) $(CTHREADS_OPT) $<
  1093. UnixApi.CThreads$(PPUEXT) : $(NSINC)/UnixApi.CThreads.pp $(CTHREADS_DEPS)
  1094. $(COMPILER) $(CTHREADS_OPT) $<
  1095. #
  1096. # CWString
  1097. #
  1098. CWSTRING_DEPS=$(UNIXINC)/cwstring.pp \
  1099. $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) \
  1100. $(UNIXUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) \
  1101. $(DYNLIBSUNIT)$(PPUEXT) $(UNIXCPUNIT)$(PPUEXT) \
  1102. $(CWSTRING_DEPS_OS) $(CWSTRING_DEPS_CPU)
  1103. cwstring$(PPUEXT) : $(CWSTRING_DEPS)
  1104. $(COMPILER) $(CWSTRING_OPT) $<
  1105. UnixApi.CWString$(PPUEXT) : $(NSINC)/UnixApi.CWString.pp $(CWSTRING_DEPS)
  1106. $(COMPILER) $(CWSTRING_OPT) $<
  1107. #
  1108. # Ctypes
  1109. #
  1110. CTYPES_DEPS=$(INC)/ctypes.pp \
  1111. $(SYSTEMUNIT)$(PPUEXT) \
  1112. $(CTYPES_DEPS_OS) $(CTYPES_DEPS_CPU)
  1113. ctypes$(PPUEXT) : $(CTYPES_DEPS)
  1114. $(COMPILER) $(CTYPES_OPT) $<
  1115. System.CTypes$(PPUEXT) : $(NSINC)/System.CTypes.pp $(CTYPES_DEPS)
  1116. $(COMPILER) $(CTYPES_OPT) $<
  1117. #
  1118. # ObjC
  1119. #
  1120. OBJC_DEPS=$(INC)/objc.pp $(INC)/objc.pp $(INC)/objc1.inc $(INC)/objcnf.inc \
  1121. $(SYSTEMUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
  1122. $(OBJC_DEPS_OS) $(OBJC_DEPS_CPU)
  1123. objc$(PPUEXT) : $(OBJC_DEPS)
  1124. $(COMPILER) $(OBJC_OPT) $<
  1125. #
  1126. # ObjCBase
  1127. #
  1128. OBJCBASE_DEPS=$(INC)/objcbase.pp \
  1129. $(SYSTEMUNIT)$(PPUEXT) $(OBJCUNIT)$(PPUEXT) \
  1130. $(OBJCBASE_DEPS_OS) $(OBJCBASE_DEPS_CPU)
  1131. objcbase$(PPUEXT) : $(OBJCBASE_DEPS)
  1132. $(COMPILER) $(OBJCBASE_OPT) $<
  1133. #
  1134. # BlockRTL
  1135. #
  1136. BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
  1137. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) $(INITCUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) \
  1138. $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
  1139. blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
  1140. $(COMPILER) $(BLOCKRTL_OPT) $<
  1141. ####################
  1142. # Windows Units
  1143. ####################
  1144. #
  1145. # Windows
  1146. #
  1147. WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) \
  1148. $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
  1149. windows$(PPUEXT): $(WINDOWS_DEPS)
  1150. $(COMPILER) $(WINDOWS_OPT) $<
  1151. WinApi.Windows$(PPUEXT): $(NSOSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
  1152. $(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
  1153. #
  1154. # Windirs
  1155. #
  1156. WINDIRS_DEPS=windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  1157. $(WINDIRS_DEPS_OS) $(WINDIRS_DEPS_CPU)
  1158. windirs$(PPUEXT): $(WINDIRS_DEPS)
  1159. $(COMPILER) $(WINDIRS_OPT) $<
  1160. WinApi.WinDirs$(PPUEXT): $(NSOSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
  1161. $(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
  1162. ###################
  1163. # BSD units
  1164. ###################
  1165. #
  1166. # sysctl
  1167. #
  1168. SYSCTL_DEPS=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
  1169. $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
  1170. sysctl$(PPUEXT) : $(SYSCTL_DEPS)
  1171. $(COMPILER) $(SYSCTL_OPT) $<
  1172. BsdApi.SysCtl$(PPUEXT) : $(NSBSDDIR)/BsdApi.SysCtl.pp $(SYSCTL_DEPS)
  1173. $(COMPILER) $(BSD_OPT) $<
  1174. #
  1175. # bsd unit
  1176. #
  1177. BSD_DEPS=$(BSDINC)/bsd.pas $(INITCUNIT)$(PPUEXT) $(UNIXUNIT)$(PPUEXT) \
  1178. $(BSD_DEPS_OS) $(BSD_DEPS_CPU)
  1179. bsd$(PPUEXT): $(BSD_DEPS)
  1180. $(COMPILER) $(BSD_OPT) $<
  1181. BsdApi$(PPUEXT): $(NSBSDDIR)/BsdApi.pp $(BSD_DEPS)
  1182. $(COMPILER) $(BSD_OPT) $<