2
0

Makefile.fpc 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467
  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=Wasm.Api
  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. ifndef SYSTEMUNITEXT
  569. SYSTEMUNITEXT=pp
  570. endif
  571. ifndef DOSUNITEXT
  572. DOSUNITEXT=pp
  573. endif
  574. ifndef PORTSUNITEXT
  575. PORTSUNITEXT=pp
  576. endif
  577. ifndef BASEUNIXDIR
  578. BASEUNIXDIR=$(UNIXINC)
  579. endif
  580. #
  581. # Some units have the same name for dotted/non-dotted RTL.
  582. # These units must be passed FPC_DOTTEDUNITS explicitly
  583. # so they can correctly load dependencies.
  584. #
  585. ifdef FPC_DOTTEDUNITS
  586. BLOCKRTL_OPT:=$(BLOCKRTL_OPT) -dFPC_DOTTEDUNITS
  587. FPEXTRES_OPT:=$(FPEXTRES_OPT) -dFPC_DOTTEDUNITS
  588. OBJC_OPT:=$(OBJC_OPT) -dFPC_DOTTEDUNITS
  589. endif
  590. #
  591. # Make rules
  592. #
  593. ###################################################
  594. # Units for which there is no namespaced equivalent
  595. # Because they are included by the compiler automatically
  596. ########################################
  597. # System
  598. $(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).$(SYSTEMUNITEXT) $(SYSDEPS)
  599. $(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $<
  600. # uuchar
  601. UUCHAR_DEPS=$(INC)/uuchar.pp \
  602. $(SYSTEMUNIT)$(PPUEXT) \
  603. $(UUCHAR_DEPS_OS) $(UUCHAR_DEPS_CPU)
  604. uuchar$(PPUEXT): $(UUCHAR_DEPS)
  605. $(COMPILER) $(UUCHAR_OPT) $<
  606. # uachar
  607. UACHAR_DEPS=$(INC)/uachar.pp \
  608. $(SYSTEMUNIT)$(PPUEXT) \
  609. $(UACHAR_DEPS_OS) $(UACHAR_DEPS_CPU)
  610. uachar$(PPUEXT): $(UACHAR_DEPS)
  611. $(COMPILER) $(UACHAR_OPT) $<
  612. # objpas
  613. OBJPAS_DEPS= $(OBJPASDIR)/objpas.pp $(INC)/except.inc \
  614. $(SYSTEMUNIT)$(PPUEXT) \
  615. $(OBJPAS_DEPS_OS) $(OBJPAS_DEPS_SPU)
  616. objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT)
  617. $(COMPILER) $(OBJPAS_OPT) -I$(OBJPASDIR) $<
  618. # macpas
  619. MACPAS_DEPS=$(INC)/macpas.pp \
  620. objpas$(PPUEXT) $(MATHUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  621. $(MACPAS_DEPS_OS) $(MACPAS_DEPS_CPU)
  622. macpas$(PPUEXT) : $(MACPAS_DEPS)
  623. $(COMPILER) $(MACPAS_OPT) $<
  624. # iso7185
  625. ISO7185_DEPS= $(INC)/$(ISO7185UNIT).pp \
  626. $(SYSTEMUNIT)$(PPUEXT) \
  627. $(ISO7185_DEPS_OS) $(ISO7185_DEPS_CPU)
  628. iso7185$(PPUEXT) : $(ISO7185_DEPS)
  629. $(COMPILER) $(ISO7185_OPT) $<
  630. # extpas
  631. EXTPAS_DEPS=$(INC)/extpas.pp \
  632. $(DOSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  633. $(EXTPAS_DEPS_OS) $(EXTPAS_DEPS_CPU)
  634. extpas$(PPUEXT) : $(EXTPAS_DEPS)
  635. $(COMPILER) $(EXTPAS_OPT) $<
  636. # fpintres
  637. FPINTRES_DEPS= $(INC)/fpintres.pp $(SYSTEMUNIT)$(PPUEXT) \
  638. $(FPINTRES_DEPS_OS) $(FPINTRES_DEPS_CPU)
  639. fpintres$(PPUEXT) : $(FPINTRES_DEPS)
  640. $(COMPILER) $(FPINTRES_OPT) $<
  641. # fpextres
  642. FPEXTRES_DEPS= $(INC)/fpextres.pp $(SYSTEMUNIT)$(PPUEXT) \
  643. $(FPEXTRES_DEPS_OS) $(FPEXTRES_DEPS_CPU)
  644. fpextres$(PPUEXT) : $(FPEXTRES_DEPS)
  645. $(COMPILER) -Sg $(FPEXTRES_OPT) $<
  646. # heaptrc
  647. HEAPTRC_DEPS=$(INC)/heaptrc.pp \
  648. $(SYSTEMUNIT)$(PPUEXT) \
  649. $(HEAPTRC_DEPS_OS) $(HEAPTRC_DEPS_CPU)
  650. heaptrc$(PPUEXT) : $(HEAPTRC_DEPS)
  651. $(COMPILER) $(HEAPTRC_OPT) $<
  652. # softfpu
  653. SOFTFPU_DEPS=$(INC)/softfpu.pp \
  654. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
  655. $(SOFTFPU_DEPS_OS) $(SOFTFPU_DEPS_CPU)
  656. softfpu$(PPUEXT) : $(SOFTFPU_DEPS)
  657. $(COMPILER) $(SOFTFPU_OPT) $<
  658. System.SoftFPU$(PPUEXT) : $(NSINC)/System.SoftFPU.pp $(SOFTFPU_DEPS)
  659. $(COMPILER) $(SOFTFPU_OPT) $<
  660. # sfpux80
  661. SFPUX80_DEPS=$(INC)/sfpux80.pp $(INC)/softfpu.pp \
  662. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
  663. $(SFPUX80_DEPS_OS) $(SFPUX80_DEPS_CPU)
  664. sfpux80$(PPUEXT) : $(SFPUX80_DEPS)
  665. $(COMPILER) $(SFPUX80_OPT) $<
  666. System.SoftFpuX80$(PPUEXT) : $(NSINC)/System.SoftFpuX80.pp $(SFPUX80_DEPS)
  667. $(COMPILER) $(SFPUX80_OPT) $<
  668. # sfpu128
  669. SFPU128_DEPS=$(INC)/sfpu128.pp $(INC)/softfpu.pp \
  670. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
  671. $(SFPU128_DEPS_OS) $(SFPU128_DEPS_CPU)
  672. sfpu128$(PPUEXT) : $(SFPU128_DEPS)
  673. $(COMPILER) $(SFPUX128_OPT) $<
  674. System.SoftFpu128$(PPUEXT) : $(NSINC)/System.SoftFpu128.pp $(SFPU128_DEPS)
  675. $(COMPILER) $(SFPUX128_OPT) $<
  676. # ufloat80x
  677. UFLOATX80_DEPS=$(INC)/ufloatx80.pp \
  678. $(SFPUX80UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  679. $(UFLOATX80_DEPS_OS) $(UFLOATX80_DEPS_CPU)
  680. ufloatx80$(PPUEXT) : $(UFLOATX80_DEPS)
  681. $(COMPILER) $(UFLOATX80_OPT) $<
  682. System.UFloatX80$(PPUEXT) : $(NSINC)/System.UFloatX80.pp $(UFLOATX80_DEPS)
  683. $(COMPILER) $(UFLOATX80_OPT) $<
  684. # ufloat128
  685. UFLOAT128_DEPS=$(INC)/ufloat128.pp \
  686. $(SFPU128UNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  687. $(UFLOAT128_DEPS_OS) $(UFLOAT128_DEPS_CPU)
  688. ufloat128$(PPUEXT) : $(UFLOAT128_DEPS)
  689. $(COMPILER) $(UFLOAT128_OPT) $<
  690. System.UFloat128$(PPUEXT) : $(NSINC)/System.UFloat128.pp $(UFLOAT128_DEPS)
  691. $(COMPILER) $(UFLOAT128_OPT) $<
  692. #
  693. # $(STRINGSUNIT)
  694. #
  695. STRINGS_DEPS=$(INC)/strings.pp $(INC)/stringsi.inc $(PROCINC)/stringss.inc $(PROCINC)/strings.inc \
  696. $(SYSTEMUNIT)$(PPUEXT) \
  697. $(STRINGS_DEPS_OS)
  698. strings$(PPUEXT) : $(STRINGS_DEPS)
  699. $(COMPILER) $(STRINGS_OPT) $<
  700. System.Strings$(PPUEXT) : $(NSINC)/System.Strings.pp $(STRINGS_DEPS)
  701. $(COMPILER) $(STRINGS_OPT) $<
  702. #
  703. # System Dependent Units
  704. #
  705. #
  706. # Ports
  707. #
  708. PORTS_DEPS=$(PORTSDIR)/ports.$(PORTSUNITEXT) \
  709. $(SYSTEMUNIT)$(PPUEXT) \
  710. $(PORTS_DEPS_OS) $(PORTS_DEPS_CPU)
  711. ports$(PPUEXT) : $(PORTS_DEPS)
  712. $(COMPILER) $(PORTS_OPT) $<
  713. System.Ports$(PPUEXT) : $(NSINC)/System.Ports.pp $(PORTS_DEPS)
  714. $(COMPILER) $(PORTS_OPT) $<
  715. #
  716. # Dynlibs
  717. #
  718. DYNLIBS_DEPS=$(INC)/dynlibs.pas $(OSDIR)/dynlibs.inc \
  719. objpas$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) \
  720. $(DYNLIBS_DEPS_OS) $(DYNLIBS_DEPS_CPU)
  721. dynlibs$(PPUEXT) : $(DYNLIBS_DEPS)
  722. $(COMPILER) $(DYNLIBS_OPT) $<
  723. System.DynLibs$(PPUEXT) : $(NSINC)/System.DynLibs.pas $(DYNLIBS_DEPS)
  724. $(COMPILER) $(DYNLIBS_OPT) $<
  725. #
  726. # InitC
  727. #
  728. INITC_DEPS=$(INITCDIR)/initc.pp $(CTYPESUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  729. $(INITC_DEPS_OS) $(INITC_DEPS_CPU)
  730. initc$(PPUEXT) : $(INITC_DEPS)
  731. $(COMPILER) $(INITC_OPT) $<
  732. System.InitC$(PPUEXT) : $(NSINC)/System.InitC.pp $(INITC_DEPS)
  733. $(COMPILER) $(INITC_OPT) $<
  734. #
  735. # UnixCP
  736. #
  737. UNIXCP_DEPS=$(UNIXINC)/unixcp.pp $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) \
  738. $(UNIXCP_DEPS_OS) $(UNIXCP_DEPS_CPU)
  739. unixcp$(PPUEXT) : $(UNIXCP_DEPS)
  740. $(COMPILER) $(UNIXCP_OPT) $(UNIXINC)/unixcp.pp
  741. UnixApi.CP$(PPUEXT) : $(NSINC)/UnixApi.CP.pp $(UNIXCP_DEPS)
  742. $(COMPILER) $(UNIXCP_OPT) $<
  743. #
  744. # Linux
  745. #
  746. LINUX_DEPS=$(OSDIR)/linux.pp \
  747. $(BASEUNIXUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(SYSCALLUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  748. $(LINUX_DEPS_OS) $(LINUX_DEPS_CPU)
  749. linux$(PPUEXT): $(LINUX_DEPS)
  750. $(COMPILER) $<
  751. LinuxApi$(PPUEXT): $(NSOSDIR)/LinuxApi.pp $(LINUX_DEPS)
  752. $(COMPILER) $(LINUX_OPT) $<
  753. #
  754. # linuxvcs
  755. #
  756. LINUXVCS_DEPS=$(OSDIR)/linuxvcs.pp $(BASEUNIXUNIT)$(PPUEXT) $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  757. $(LINUXVCS_DEPS_OS) $(LINUXVCS_DEPS_CPU)
  758. linuxvcs$(PPUEXT): $(LINUXVCS_DEPS)
  759. $(COMPILER) $(LINUXVCS_OPT) $<
  760. LinuxApi.Vcs$(PPUEXT): $(NSOSDIR)/LinuxApi.Vcs.pp $(LINUXVCS_DEPS)
  761. $(COMPILER) $(LINUXVCS_OPT) $<
  762. #
  763. # fpcylix
  764. #
  765. FPCYLIX_DEPS=fpcylix.pp \
  766. $(CTHREADSUNIT)$(PPUEXT) $(CWSTRINGUNIT)$(PPUEXT) $(DYNLIBSUNIT)$(PPUEXT) \
  767. objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  768. $(FPCYLIX_DEPS_OS) $(FPCYLIX_DEPS_CPU)
  769. fpcylix$(PPUEXT) : $(FPCYLIX_DEPS)
  770. $(COMPILER) $(FPCYLIX_OPT) $<
  771. #
  772. # Termio
  773. #
  774. TERMIO_DEPS=$(OSDIR)/termio.pp $(BASEUNIXUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)\
  775. $(TERMIO_DEPS_OS) $(TERMIO_DEPS_CPU)
  776. termio$(PPUEXT) : $(TERMIO_DEPS)
  777. $(COMPILER) $(TERMIO_OPT) $<
  778. UnixApi.TermIO$(PPUEXT) : $(NSINC)/UnixApi.TermIO.pp $(TERMIO_DEPS)
  779. $(COMPILER) $(TERMIO_OPT) $<
  780. #
  781. # TP7 Compatible RTL Units
  782. #
  783. DOS_DEPS=$(DOSDIR)/dos.$(DOSUNITEXT) $(INC)/filerec.inc $(INC)/textrec.inc \
  784. $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  785. $(DOS_DEPS_OS) $(DOS_DEPS_CPU)
  786. dos$(PPUEXT): $(DOS_DEPS)
  787. $(COMPILER) $(DOS_OPTS) $<
  788. TP.DOS$(PPUEXT): $(NSINC)/TP.DOS.pp $(DOS_DEPS)
  789. $(COMPILER) $(DOS_OPTS) $<
  790. ###########################################
  791. # Delphi Compatible Units
  792. ###########################################
  793. #
  794. # SysUtils
  795. #
  796. # for convenience this can be reused in SYSUTILS_DEPS_OS
  797. SYSUTILS_UNIX_DEPS=$(UNIXUNIT)$(PPUEXT) $(ERRORSUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
  798. $(SYSCALLUNIT)$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
  799. $(UNIXUTILUNIT)$(PPUEXT) $(INITCUNIT)$(PPUEXT)
  800. SYSUTILS_DEPS=$(SYSUTILSDIR)/sysutils.pp $(wildcard $(OBJPASDIR)/$(SYSUTILSUNIT)/*.inc) \
  801. objpas$(PPUEXT) $(SYSCONSTUNIT)$(PPUEXT) \
  802. $(SYSUTILS_DEPS_OS) $(SYSUTILS_DEPS_CPU)
  803. sysutils$(PPUEXT) : $(SYSUTILS_DEPS)
  804. $(COMPILER) -Fi$(OBJPASDIR)/$(SYSUTILSUNIT) $<
  805. System.SysUtils$(PPUEXT) : $(NSINC)/System.SysUtils.pp $(SYSUTILS_DEPS)
  806. $(COMPILER) $(SYSUTILS_OPT) -Fi$(OBJPASDIR)/sysutils $<
  807. #
  808. # Classes
  809. #
  810. CLASSES_DEPS=$(CLASSESDIR)/classes.pp $(wildcard $(OBJPASDIR)/$(CLASSESUNIT)/*.inc) \
  811. $(SYSUTILSUNIT)$(PPUEXT) $(TYPINFOUNIT)$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) \
  812. $(FGLUNIT)$(PPUEXT) $(TYPESUNIT)$(PPUEXT) \
  813. $(CLASSES_DEPS_OS) $(CLASSES_DEPS_CPU)
  814. classes$(PPUEXT) : $(CLASSES_DEPS)
  815. $(COMPILER) -Fi$(OBJPASDIR)/classes $(CLASSES_OPT) $<
  816. System.Classes$(PPUEXT) : $(NSINC)/System.Classes.pp $(CLASSES_DEPS)
  817. $(COMPILER) -Fi$(OBJPASDIR)/classes $(CLASSES_OPT) $<
  818. #
  819. # TypInfo
  820. #
  821. TYPINFO_DEPS=$(OBJPASDIR)/typinfo.pp \
  822. objpas$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) \
  823. $(TYPINFO_DEPS_OS) $(TYPINFO_DEPS_CPU)
  824. typinfo$(PPUEXT): $(TYPINFO_DEPS)
  825. $(COMPILER) -Sg $(TYPINFO_OPT) $<
  826. System.TypInfo$(PPUEXT): $(NSINC)/System.TypInfo.pp $(TYPINFO_DEPS)
  827. $(COMPILER) -Fi$(OBJPASDIR) -Sg $(TYPINFO_OPT) $<
  828. #
  829. # Character
  830. #
  831. # let it depend on buildcollations to prevent simultaneous building of $(UNICODEDATAUNIT)
  832. CHARACTER_DEPS=$(OBJPASDIR)/character.pas \
  833. $(SYSUTILSUNIT)$(PPUEXT) objpas$(PPUEXT) $(RTLCONSTSUNIT)$(PPUEXT) \
  834. $(CHARACTER_DEPS_OS) $(CHARACTER_DEPS_CPU)
  835. character$(PPUEXT): $(CHARACTER_DEPS)
  836. $(COMPILER) $(CHARACTER_OPT) $<
  837. System.Character$(PPUEXT): $(NSINC)/System.Character.pas $(CHARACTER_DEPS)
  838. $(COMPILER) $(CHARACTER_OPT) -Fi$(OBJPASDIR) $<
  839. #
  840. # Math
  841. #
  842. MATH_DEPS= $(OBJPASDIR)/math.pp \
  843. objpas$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  844. $(MATH_DEPS_OS) $(MATH_DEPS_CPU)
  845. math$(PPUEXT): $(MATH_DEPS)
  846. $(COMPILER) $(MATH_OPT) $<
  847. System.Math$(PPUEXT): $(NSINC)/System.Math.pp $(MATH_DEPS)
  848. $(COMPILER) $(MATH_OPT) -Fi$(OBJPASDIR) $<
  849. #
  850. # FGL
  851. #
  852. FGL_DEPS=$(OBJPASDIR)/fgl.pp \
  853. objpas$(PPUEXT) $(TYPESUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  854. $(SYSUTILSUNIT)$(PPUEXT) $(SORTBASEUNIT)$(PPUEXT) \
  855. $(FCL_DEPS_OS) $(FCL_DEPS_CPU)
  856. fgl$(PPUEXT) : $(FGL_DEPS)
  857. $(COMPILER) $(FGL_OPT) $<
  858. System.FGL$(PPUEXT) : $(NSINC)/System.FGL.pp $(FGL_DEPS)
  859. $(COMPILER) -Fi$(OBJPASDIR) $(FGL_OPT) $<
  860. #
  861. # Types
  862. #
  863. TYPES_DEPS=$(OBJPASDIR)/types.pp \
  864. objpas$(PPUEXT) $(MATHUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  865. $(TYPES_DEPS_OS) $(TYPES_DEPS_CPU)
  866. types$(PPUEXT) : $(TYPES_DEPS)
  867. $(COMPILER) $(TYPES_OPT) $<
  868. System.Types$(PPUEXT) : $(NSINC)/System.Types.pp $(TYPES_DEPS)
  869. $(COMPILER) -Fi$(OBJPASDIR) $(TYPES_OPT) $<
  870. #
  871. # SysConst
  872. #
  873. SYSCONST_DEPS=$(OBJPASDIR)/sysconst.pp \
  874. objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  875. $(SYSCONST_DEPS_OS) $(SYSCONST_DEPS_CPU)
  876. sysconst$(PPUEXT) : $(SYSCONST_DEPS)
  877. $(COMPILER) $(SYSCONST_OPT) $<
  878. System.SysConst$(PPUEXT) : $(NSINC)/System.SysConst.pp $(SYSCONST_DEPS)
  879. $(COMPILER) -Fi$(OBJPASDIR) $(SYSCONST_OPT) $<
  880. #
  881. # RTLConst
  882. #
  883. RTLCONSTS_DEPS=$(OBJPASDIR)/rtlconsts.pp \
  884. objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  885. $(RTLCONST_DEPS_OS) $(RTLCONST_DEPS_CPU)
  886. rtlconsts$(PPUEXT) : $(RTLCONSTS_DEPS)
  887. $(COMPILER) $(RTLCONSTS_OPT) $<
  888. System.RtlConsts$(PPUEXT) : $(NSINC)/System.RtlConsts.pp $(RTLCONSTS_DEPS)
  889. $(COMPILER) -Fi$(OBJPASDIR) $(RTLCONSTS_OPT) $<
  890. #######################################
  891. # Other System-independent RTL Units
  892. #######################################
  893. #
  894. # Cpu
  895. #
  896. ifneq ($(findstring $(ARCH),x86_64 i386),)
  897. CPU_DEPS_OS:=$(CPU_DEPS_OS) $(SYSUTILSUNIT)$(PPUEXT)
  898. endif
  899. CPU_DEPS=$(PROCINC)/cpu.pp \
  900. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
  901. $(CPU_DEPS_OS) $(CPU_DEPS_CPU)
  902. cpu$(PPUEXT) : $(CPU_DEPS)
  903. $(COMPILER) $(CPU_OPT) $<
  904. System.CPU$(PPUEXT) : $(NSINC)/System.CPU.pp
  905. $(COMPILER) $(CPU_OPT) $<
  906. #
  907. # mmx
  908. #
  909. MMX_DEPS=$(PROCINC)/mmx.pp \
  910. $(CPUUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  911. $(MMX_DEPS_OS) $(MMX_DEPS_CPU)
  912. mmx$(PPUEXT) : $(MMX_DEPS)
  913. $(COMPILER) $(MMX_OPT) $<
  914. System.MMX$(PPUEXT) : $(NSINC)/System.MMX $(MMX_DEPS)
  915. $(COMPILER) $(MMX_OPT) $<
  916. #
  917. # X86
  918. #
  919. X86_DEPS = $(UNIXINC)/x86.pp \
  920. $(BASEUNIXUNIT)$(PPUEXT) $(SYSCALLUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  921. $(X86_DEPS_OS) $(X86_DEPS_CPU)
  922. x86$(PPUEXT) : $(X86_DEPS)
  923. $(COMPILER) $(X86_OPT) $<
  924. System.X86$(PPUEXT) : $(NSINC)/System.X86.pp $(X86_DEPS)
  925. $(COMPILER) $(X86_OPT) $<
  926. #
  927. # getopts
  928. #
  929. GETOPTS_DEPS=$(INC)/getopts.pp \
  930. $(SYSTEMUNIT)$(PPUEXT) \
  931. $(GETOPTS_DEPS_OS) $(GETOPTS_DEPS_CPU)
  932. getopts$(PPUEXT) : $(GETOPTS_DEPS)
  933. $(COMPILER) $(GETOPTS_OPT) $<
  934. System.GetOpts$(PPUEXT) : $(NSINC)/System.GetOpts.pp $(GETOPTS_DEPS)
  935. $(COMPILER) $(GETOPTS_OPT) $<
  936. #
  937. # lineinfo
  938. #
  939. LINEINFO_DEPS=$(INC)/lineinfo.pp \
  940. $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(SYSUTILSUNIT)$(PPUEXT) \
  941. $(LINEINFO_DEPS_OS) $(LINEINFO_DEPS_CPU)
  942. lineinfo$(PPUEXT) : $(LINEINFO_DEPS)
  943. $(COMPILER) $(LINEINFO_OPT) $<
  944. System.LineInfo$(PPUEXT) : $(NSINC)/System.LineInfo.pp $(LINEINFO_DEPS)
  945. $(COMPILER) $(LINEINFO_OPT) $<
  946. EXEINFO_DEPS=$(INC)/exeinfo.pp \
  947. $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  948. $(EXEINFO_DEPS_OS) $(EXEINFO_DEPS_CPU)
  949. exeinfo$(PPUEXT) : $(EXEINFO_DEPS)
  950. $(COMPILER) $(EXEINFO_OPT) $<
  951. System.ExeInfo$(PPUEXT) : $(NSINC)/System.ExeInfo.pp $(LINEINFO_DEPS)
  952. $(COMPILER) $(EXEINFO_OPT) $<
  953. #
  954. # lnfodwrf
  955. #
  956. LNFODWRF_DEPS=$(INC)/lnfodwrf.pp \
  957. $(SYSTEMUNIT)$(PPUEXT) $(STRINGSUNIT)$(PPUEXT) $(LINEINFOUNIT)$(PPUEXT) \
  958. $(SYSUTILSUNIT)$(PPUEXT) $(EXEINFOUNIT)$(PPUEXT) \
  959. $(LNFODWRF_DEPS_OS) $(LNFODWRF_DEPS_CPU)
  960. lnfodwrf$(PPUEXT) : $(LNFODWRF_DEPS)
  961. $(COMPILER) $(LNFODWRF_OPT) $<
  962. System.LineInfo.Dwarf$(PPUEXT) : $(NSINC)/System.LineInfo.Dwarf.pp $(LNFODWRF_DEPS)
  963. $(COMPILER) $(LNFODWRF_OPT) $<
  964. #
  965. # lnfodgdb
  966. #
  967. LNFOGDB_DEPS=$(UNIXINC)/lnfogdb.pp \
  968. $(SYSTEMUNIT)$(PPUEXT) $(STRINGSUNIT)$(PPUEXT) $(LINEINFOUNIT)$(PPUEXT) \
  969. $(SYSUTILSUNIT)$(PPUEXT) $(EXEINFOUNIT)$(PPUEXT) \
  970. $(LNFOGDB_DEPS_OS) $(LNFOGDB_DEPS_CPU)
  971. lnfogdb$(PPUEXT) : $(LNFOGDB_DEPS)
  972. $(COMPILER) $(LNFOGDB_OPT) $<
  973. System.LineInfo.Gdb$(PPUEXT) : $(NSINC)/System.LineInfo.Gdb.pp $(LNFOGDB_DEPS)
  974. $(COMPILER) $(LNFOGDB_OPT) $<
  975. #
  976. # Charset
  977. #
  978. CHARSET_DEPS=$(INC)/charset.pp \
  979. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) \
  980. $(CHARSET_DEPS_OS) $(CHARSET_DEPS_CPU)
  981. charset$(PPUEXT) : $(CHARSET_DEPS)
  982. $(COMPILER) $(CHARSET_OPT) $<
  983. System.CharSet$(PPUEXT) : $(NSINC)/System.CharSet.pp $(CHARSET_DEPS)
  984. $(COMPILER) $(CHARSET_OPT) $<
  985. #
  986. # cpall (in fact a build unit for all CP_)
  987. #
  988. CPALL_DEPS=$(RTL)/charmaps/cpall.pas \
  989. system$(PPUEXT) $(CHARSETUNIT)$(PPUEXT) \
  990. $(CPALL_DEPS_OS) $(CPALL_DEPS_CPU)
  991. cpall$(PPUEXT): $(CPALL_DEPS)
  992. $(COMPILER) $(CPALL_OPT) -Fu$(INC) -Fi$(RTL)/charmaps $<
  993. System.CodePages.All$(PPUEXT): $(NSINC)/System.CodePages.All.pas $(CPALL_DEPS)
  994. $(COMPILER) $(CPALL_OPT) -Fu$(INC) -Fi$(RTL)/charmaps $<
  995. #
  996. # fpwidestring
  997. #
  998. FPWIDESTRING_DEPS=$(OBJPASDIR)/fpwidestring.pp \
  999. $(CHARACTERUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(CPALLUNIT)$(PPUEXT) \
  1000. $(FPWIDESTRING_DEPS_OS) $(FPWIDESTRING_DEPS_CPU)
  1001. fpwidestring$(PPUEXT): $(FPWIDESTRING_DEPS)
  1002. $(COMPILER) $(FPWIDESTRING_OPT) $<
  1003. System.FPWideString$(PPUEXT): $(NSINC)/System.FPWideString.pp $(FPWIDESTRING_DEPS)
  1004. $(COMPILER) -Fi$(OBJPASDIR) $(FPWIDESTRING_OPT) $<
  1005. #
  1006. # sortbase
  1007. #
  1008. SORTBASE_DEPS=$(INC)/sortbase.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  1009. $(SORTBASE_DEPS_OS) $(SORTBASE_DEPS_CPU)
  1010. sortbase$(PPUEXT) : $(SORTBASE_DEPS)
  1011. $(COMPILER) $(SORTBASE_OPT) $<
  1012. System.SortBase$(PPUEXT) : $(NSINC)/System.SortBase.pp $(SORTBASE_DEPS)
  1013. $(COMPILER) $(SORTBASE_OPT) $<
  1014. #
  1015. # Other system-dependent RTL Units
  1016. #
  1017. CALLSPEC_DEPS=$(INC)/callspec.pp \
  1018. $(SYSTEMUNIT)$(PPUEXT) \
  1019. $(CALLSPEC_DEPS_OS) $(CALLSPEC_DEPS_CPU)
  1020. callspec$(PPUEXT) : $(CALLSPEC_DEPS)
  1021. $(COMPILER) $(CALLSPEC_OPT) $<
  1022. System.CallSpec$(PPUEXT) : $(NSINC)/System.CallSpec.pp $(CALLSPEC_DEPS)
  1023. $(COMPILER) $(CALLSPEC_OPT) $<
  1024. #
  1025. # cmem
  1026. #
  1027. CMEM_DEPS=$(INC)/cmem.pp \
  1028. $(SYSTEMUNIT)$(PPUEXT) \
  1029. $(CMEM_DEPS_OS) $(CMEM_DEPS_CPU)
  1030. cmem$(PPUEXT) : $(CMEM_DEPS)
  1031. $(COMPILER) $(CMEM_OPT) $<
  1032. System.CMem$(PPUEXT) : $(NSINC)/System.CMem.pp $(CMEM_DEPS)
  1033. $(COMPILER) $(CMEM_OPT) $<
  1034. #####################
  1035. # Unix-specific
  1036. #####################
  1037. #
  1038. # Baseunix
  1039. #
  1040. BASEUNIX_DEPS=$(BASEUNIXDIR)/baseunix.pp $(UNIXINC)/ctypes.inc \
  1041. $(UNIXINC)/bunxh.inc $(UNIXINC)/gensigset.inc $(OSDIR)/ptypes.inc $(OSDIR)/errno.inc \
  1042. $(UNIXTYPEUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  1043. $(BASEUNIX_DEPS_OS) $(BASEUNIX_DEPS_CPU)
  1044. baseunix$(PPUEXT): $(BASEUNIX_DEPS)
  1045. $(COMPILER) $(BASEUNIX_OPT) $<
  1046. UnixApi.Base$(PPUEXT): $(NSINC)/UnixApi.Base.pp $(BASEUNIX_DEPS)
  1047. $(COMPILER) $(BASEUNIX_OPT) $<
  1048. #
  1049. # Unix
  1050. #
  1051. UNIX_DEPS=$(UNIXINC)/unix.pp \
  1052. $(STRINGSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) \
  1053. $(UNIXUTILUNIT)$(PPUEXT) \
  1054. $(INC)/textrec.inc $(INC)/filerec.inc $(UNIXINC)/timezone.inc \
  1055. $(OSDIR)/unxconst.inc $(OSDIR)/unxfunc.inc \
  1056. $(UNIX_DEPS_OS) $(UNIX_DEPS_CPU)
  1057. unix$(PPUEXT): $(UNIX_DEPS)
  1058. $(COMPILER) $(UNIX_OPT) $<
  1059. UnixApi.Unix$(PPUEXT) : $(NSINC)/UnixApi.Unix.pp $(UNIX_DEPS)
  1060. $(COMPILER) $(UNIX_OPT) $<
  1061. #
  1062. # SysCall
  1063. #
  1064. SYSCALL_DEPS=$(UNIXINC)/syscall.pp \
  1065. $(SYSTEMUNIT)$(PPUEXT)\
  1066. $(SYSCALL_DEPS_OS) $(SYSCALL_DEPS_CPU)
  1067. syscall$(PPUEXT) : $(SYSCALL_DEPS)
  1068. $(COMPILER) $(SYSCALL_OPT) $<
  1069. UnixApi.SysCall$(PPUEXT) : $(NSINC)/UnixApi.SysCall.pp $(SYSCALL_DEPS)
  1070. $(COMPILER) $(SYSCALL_OPT) $<
  1071. #
  1072. # UnixUtil
  1073. #
  1074. UNIXUTIL_DEPS=$(UNIXINC)/unixutil.pp $(INC)/textrec.inc $(INC)/filerec.inc\
  1075. $(SYSTEMUNIT)$(PPUEXT)\
  1076. $(UNIXUTIL_DEPS_OS)
  1077. unixutil$(PPUEXT) : $(UNIXUTIL_DEPS)
  1078. $(COMPILER) $(UNIXUTIL_OPT) $<
  1079. UnixApi.Utils$(PPUEXT) : $(NSINC)/UnixApi.Utils.pp $(UNIXUTIL_DEPS)
  1080. $(COMPILER) $(UNIXUTIL_OPT) $<
  1081. #
  1082. # UnixType
  1083. #
  1084. UNIXTYPE_DEPS=$(UNIXINC)/unixtype.pp \
  1085. $(SYSTEMUNIT)$(PPUEXT) $(OSDIR)/ptypes.inc $(UNIXINC)/ctypes.inc \
  1086. $(UNIXTYPE_DEPS_OS) $(UNIXTYPE_DEPS_CPU)
  1087. unixtype$(PPUEXT) : $(UNIXTYPE_DEPS)
  1088. $(COMPILER) $(UNIXTYPE_OPT) $(UNIXINC)/unixtype.pp
  1089. UnixApi.Types$(PPUEXT) : $(NSINC)/UnixApi.Types.pp $(UNIXTYPE_DEPS)
  1090. $(COMPILER) $(UNIXTYPE_OPT) $<
  1091. #
  1092. # dl unit
  1093. #
  1094. DL_DEPS=$(UNIXINC)/dl.pp \
  1095. $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) \
  1096. $(DL_DEPS_OS) $(DL_DEPS_CPU)
  1097. dl$(PPUEXT) : $(DL_DEPS)
  1098. $(COMPILER) $(DL_OPT) $<
  1099. UnixApi.Dl$(PPUEXT) : $(NSINC)/UnixApi.Dl.pp $(DL_DEPS)
  1100. $(COMPILER) $(DL_OPT) $<
  1101. #
  1102. # Errors
  1103. #
  1104. ERRORS_DEPS=$(UNIXINC)/errors.pp \
  1105. $(STRINGSUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  1106. $(ERRORS_DEPS_OS) $(ERRORS_DEPS_CPU)
  1107. errors$(PPUEXT) : $(ERRORS_DEPS)
  1108. $(COMPILER) $(ERRORS_OPT) $<
  1109. UnixApi.Errors$(PPUEXT) : $(NSINC)/UnixApi.Errors.pp $(ERRORS_DEPS)
  1110. $(COMPILER) $(ERRORS_OPT) $<
  1111. #
  1112. # CThreads
  1113. #
  1114. CTHREADS_DEPS=$(UNIXINC)/cthreads.pp \
  1115. $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(UNIXUNIT)$(PPUEXT) \
  1116. $(BASEUNIXUNIT)$(PPUEXT) $(INITCUNIT)$(PPUEXT) $(DLUNIT)$(PPUEXT) \
  1117. $(CTHREADS_DEPS_OS) $(CTHREADS_DEPS_CPU)
  1118. cthreads$(PPUEXT) : $(CTHREADS_DEPS)
  1119. $(COMPILER) $(CTHREADS_OPT) $<
  1120. UnixApi.CThreads$(PPUEXT) : $(NSINC)/UnixApi.CThreads.pp $(CTHREADS_DEPS)
  1121. $(COMPILER) $(CTHREADS_OPT) $<
  1122. #
  1123. # CWString
  1124. #
  1125. CWSTRING_DEPS=$(UNIXINC)/cwstring.pp \
  1126. $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) \
  1127. $(UNIXUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) \
  1128. $(DYNLIBSUNIT)$(PPUEXT) $(UNIXCPUNIT)$(PPUEXT) \
  1129. $(CWSTRING_DEPS_OS) $(CWSTRING_DEPS_CPU)
  1130. cwstring$(PPUEXT) : $(CWSTRING_DEPS)
  1131. $(COMPILER) $(CWSTRING_OPT) $<
  1132. UnixApi.CWString$(PPUEXT) : $(NSINC)/UnixApi.CWString.pp $(CWSTRING_DEPS)
  1133. $(COMPILER) $(CWSTRING_OPT) $<
  1134. #
  1135. # Ctypes
  1136. #
  1137. CTYPES_DEPS=$(INC)/ctypes.pp \
  1138. $(SYSTEMUNIT)$(PPUEXT) \
  1139. $(CTYPES_DEPS_OS) $(CTYPES_DEPS_CPU)
  1140. ctypes$(PPUEXT) : $(CTYPES_DEPS)
  1141. $(COMPILER) $(CTYPES_OPT) $<
  1142. System.CTypes$(PPUEXT) : $(NSINC)/System.CTypes.pp $(CTYPES_DEPS)
  1143. $(COMPILER) $(CTYPES_OPT) $<
  1144. #
  1145. # ObjC
  1146. #
  1147. OBJC_DEPS=$(INC)/objc.pp $(INC)/objc.pp $(INC)/objc1.inc $(INC)/objcnf.inc \
  1148. $(SYSTEMUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
  1149. $(OBJC_DEPS_OS) $(OBJC_DEPS_CPU)
  1150. objc$(PPUEXT) : $(OBJC_DEPS)
  1151. $(COMPILER) $(OBJC_OPT) $<
  1152. #
  1153. # ObjCBase
  1154. #
  1155. OBJCBASE_DEPS=$(INC)/objcbase.pp \
  1156. $(SYSTEMUNIT)$(PPUEXT) $(OBJCUNIT)$(PPUEXT) \
  1157. $(OBJCBASE_DEPS_OS) $(OBJCBASE_DEPS_CPU)
  1158. objcbase$(PPUEXT) : $(OBJCBASE_DEPS)
  1159. $(COMPILER) $(OBJCBASE_OPT) $<
  1160. #
  1161. # BlockRTL
  1162. #
  1163. BLOCKRTL_DEPS=$(INC)/blockrtl.pp \
  1164. $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) $(INITCUNIT)$(PPUEXT) $(CTYPESUNIT)$(PPUEXT) \
  1165. $(BLOCKRTL_DEPS_OS) $(BLOCKRTL_DEPS_CPU)
  1166. blockrtl$(PPUEXT) : $(BLOCKRTL_DEPS)
  1167. $(COMPILER) $(BLOCKRTL_OPT) $<
  1168. ####################
  1169. # Windows Units
  1170. ####################
  1171. #
  1172. # Windows
  1173. #
  1174. WINDOWS_DEPS=windows.pp $(SYSTEMUNIT)$(PPUEXT) \
  1175. $(WINDOWS_DEPS_OS) $(WINDOWS_DEPS_CPU)
  1176. windows$(PPUEXT): $(WINDOWS_DEPS)
  1177. $(COMPILER) $(WINDOWS_OPT) $<
  1178. WinApi.Windows$(PPUEXT): $(NSOSDIR)/WinApi.Windows.pp $(WINDOWS_DEPS)
  1179. $(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDOWS_OPT) $<
  1180. #
  1181. # Windirs
  1182. #
  1183. WINDIRS_DEPS=windirs.pp $(WINDOWSUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  1184. $(WINDIRS_DEPS_OS) $(WINDIRS_DEPS_CPU)
  1185. windirs$(PPUEXT): $(WINDIRS_DEPS)
  1186. $(COMPILER) $(WINDIRS_OPT) $<
  1187. WinApi.WinDirs$(PPUEXT): $(NSOSDIR)/WinApi.WinDirs.pp $(WINDIRS_DEPS)
  1188. $(COMPILER) -Fi$(WININC) -Fi$(WINDIR) $(WINDIRS_OPT) $<
  1189. ###################
  1190. # BSD units
  1191. ###################
  1192. #
  1193. # sysctl
  1194. #
  1195. SYSCTL_DEPS=$(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) $(UNIXTYPEUNIT)$(PPUEXT) \
  1196. $(SYSCTL_DEPS_OS) $(SYSCTL_DEPS_CPU)
  1197. sysctl$(PPUEXT) : $(SYSCTL_DEPS)
  1198. $(COMPILER) $(SYSCTL_OPT) $<
  1199. BsdApi.SysCtl$(PPUEXT) : $(NSBSDDIR)/BsdApi.SysCtl.pp $(SYSCTL_DEPS)
  1200. $(COMPILER) $(BSD_OPT) $<
  1201. #
  1202. # bsd unit
  1203. #
  1204. BSD_DEPS=$(BSDINC)/bsd.pas $(INITCUNIT)$(PPUEXT) $(UNIXUNIT)$(PPUEXT) \
  1205. $(BSD_DEPS_OS) $(BSD_DEPS_CPU)
  1206. bsd$(PPUEXT): $(BSD_DEPS)
  1207. $(COMPILER) $(BSD_OPT) $<
  1208. BsdApi$(PPUEXT): $(NSBSDDIR)/BsdApi.pp $(BSD_DEPS)
  1209. $(COMPILER) $(BSD_OPT) $<