Makefile 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. ################################################################################
  2. #
  3. # Copyright (c) 2016 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. # Chalk Modules
  13. #
  14. # Abstract:
  15. #
  16. # This directory builds the Chalk modules.
  17. #
  18. # Author:
  19. #
  20. # Evan Green 28-Aug-2016
  21. #
  22. # Environment:
  23. #
  24. # User
  25. #
  26. ################################################################################
  27. DIRS = _time \
  28. app \
  29. bundle \
  30. lzma \
  31. json \
  32. os \
  33. spawn \
  34. include $(SRCROOT)/os/minoca.mk
  35. CK_MODULES := bufferedio.ck \
  36. cpio.ck \
  37. fileio.ck \
  38. getopt.ck \
  39. io.ck \
  40. iobase.ck \
  41. lzfile.ck \
  42. time.ck \
  43. CK_LIB_PATH := $(BINROOT)/apps/usr/lib/chalk1
  44. CK_BUILD_LIB_PATH := $(OUTROOT)/tools/lib/chalk1
  45. CK_MODULE_TARGETS := $(CK_MODULES:%=$(CK_LIB_PATH)/%)
  46. CK_MODULE_BUILD_TARGETS := $(CK_MODULES:%=$(CK_BUILD_LIB_PATH)/%)
  47. all: $(CK_MODULE_TARGETS) $(CK_MODULE_BUILD_TARGETS)
  48. ##
  49. ## These static pattern rules in the form <1>: <2>: <3> say "for each target
  50. ## in <1>, apply pattern <2> to get prerequisites list <3> for that target."
  51. ##
  52. $(CK_MODULE_TARGETS): $(CK_LIB_PATH)/%: %
  53. @mkdir -p $(CK_LIB_PATH)
  54. @cp -v $^ $@
  55. $(CK_MODULE_BUILD_TARGETS): $(CK_BUILD_LIB_PATH)/%: %
  56. @mkdir -p $(CK_BUILD_LIB_PATH)
  57. @cp -v $^ $@