Makefile 1.4 KB

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