BUILD 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. load("//sys/src/FLAGS", "LIB_COMPILER_FLAGS")
  2. load("//sys/src/ARCHS", "ARCHS")
  3. [mk_sys(
  4. name="boot%scpuc" % arch,
  5. mode="boot%scpu.c" % arch,
  6. arch=arch,
  7. sysconf="//sys/src/sysconf.json",
  8. ) for arch in ARCHS]
  9. [data_to_c(
  10. name="%scpu" % arch,
  11. bin="bin/boot%scpu" %arch,
  12. prefix= "ramfs_boot%scpu_" % arch,
  13. deps=[
  14. ":boot%scpu" % arch,
  15. ]
  16. ) for arch in ARCHS]
  17. cc_library(
  18. name="libboot",
  19. copts=[
  20. "-g",
  21. "-Wall",
  22. "-Werror",
  23. "-O0",
  24. "-static",
  25. "-mno-red-zone",
  26. "-ffreestanding",
  27. "-fno-builtin",
  28. "-mcmodel=small"
  29. ],
  30. includes=[
  31. "//sys/include",
  32. "//sys/src/9/boot",
  33. fmt("//%s/include", env("ARCH")),
  34. ],
  35. deps=[
  36. fmt(":boot%scpuc", env("ARCH")),
  37. ],
  38. srcs=[
  39. "aux.c",
  40. "bootauth.c",
  41. "boot.c",
  42. "bootcache.c",
  43. "bootip.c",
  44. fmt("boot%scpu.c", env("ARCH")),
  45. "bootrc.c",
  46. "embed.c",
  47. "local.c",
  48. "paq.c",
  49. "sac.c",
  50. "settime.c"
  51. ]
  52. )
  53. [cc_binary(
  54. name="boot%scpu" % arch,
  55. copts=LIB_COMPILER_FLAGS,
  56. includes=[
  57. "//sys/include",
  58. "//sys/src/9/boot",
  59. "//%s/include" % arch,
  60. ],
  61. srcs=[
  62. "printstub.c",
  63. "boot%scpu.c" % arch,
  64. ],
  65. deps=[
  66. ":libboot",
  67. ":boot%scpuc" % arch,
  68. "//sys/src/libip:libip",
  69. "//sys/src/libauth:libauth",
  70. "//sys/src/libc:libc"
  71. ],
  72. linkopts=[
  73. "-e_main",
  74. "-static"
  75. ]
  76. ) for arch in ARCHS]