Makefile 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. ################################################################################
  2. #
  3. # Copyright (c) 2012 Minoca Corp.
  4. #
  5. # This file is licensed under the terms of the GNU General Public License
  6. # version 3. Alternative licensing terms are available. Contact
  7. # info@minocacorp.com for details. See the LICENSE file at the root of this
  8. # project for complete licensing information.
  9. #
  10. # Module Name:
  11. #
  12. # Minoca OS
  13. #
  14. # Abstract:
  15. #
  16. # This file is responsible for kicking off the build of all source
  17. # directories.
  18. #
  19. # Author:
  20. #
  21. # Evan Green 19-Jun-2012
  22. #
  23. # Environment:
  24. #
  25. # Build
  26. #
  27. ################################################################################
  28. ##
  29. ## Check for the necessary environment variables.
  30. ##
  31. ifndef SRCROOT
  32. $(error Error: Environment not set up: SRCROOT environment variable missing)
  33. endif
  34. ifndef ARCH
  35. $(error Error: Environment not set up: ARCH environment variable missing)
  36. endif
  37. ifndef DEBUG
  38. $(error Error: Environment not set up: DEBUG environment variable missing)
  39. endif
  40. LIBRARIES = lib \
  41. COMPONENTS = apps \
  42. boot \
  43. drivers \
  44. kernel \
  45. uefi \
  46. DIRS = $(LIBRARIES) \
  47. $(COMPONENTS) \
  48. images
  49. include $(SRCROOT)/os/minoca.mk
  50. images: $(COMPONENTS)
  51. $(COMPONENTS): $(LIBRARIES)
  52. ##
  53. ## Boot and UEFI need KD from the kernel (which could be moved out to a
  54. ## library). Drivers and apps (which may also build some drivers) link against
  55. ## the kernel.
  56. ##
  57. boot drivers apps uefi: kernel
  58. ##
  59. ## Boot relies on UEFI for the elfconv tool.
  60. ##
  61. boot: uefi