LibTargets.mk 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. ############################################################################
  2. # LibTargets.mk
  3. #
  4. # Copyright (C) 2007-2012, 2014 Gregory Nutt. All rights reserved.
  5. # Author: Gregory Nutt <gnutt@nuttx.org>
  6. #
  7. # Redistribution and use in source and binary forms, with or without
  8. # modification, are permitted provided that the following conditions
  9. # are met:
  10. #
  11. # 1. Redistributions of source code must retain the above copyright
  12. # notice, this list of conditions and the following disclaimer.
  13. # 2. Redistributions in binary form must reproduce the above copyright
  14. # notice, this list of conditions and the following disclaimer in
  15. # the documentation and/or other materials provided with the
  16. # distribution.
  17. # 3. Neither the name NuttX nor the names of its contributors may be
  18. # used to endorse or promote products derived from this software
  19. # without specific prior written permission.
  20. #
  21. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  22. # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  23. # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  24. # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
  25. # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
  26. # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
  27. # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
  28. # OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
  29. # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  30. # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
  31. # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  32. # POSSIBILITY OF SUCH DAMAGE.
  33. #
  34. ############################################################################
  35. # Archive targets. The target build sequence will first create a series of
  36. # libraries, one per configured source file directory. The final NuttX
  37. # execution will then be built from those libraries. The following targets
  38. # build those libraries.
  39. #
  40. # Possible kernel-mode builds
  41. libc$(DELIM)libkc$(LIBEXT): context
  42. $(Q) $(MAKE) -C libc TOPDIR="$(TOPDIR)" libkc$(LIBEXT) KERNEL=y EXTRADEFINES=$(KDEFINE)
  43. lib$(DELIM)libkc$(LIBEXT): libc$(DELIM)libkc$(LIBEXT)
  44. $(Q) install libc$(DELIM)libkc$(LIBEXT) lib$(DELIM)libkc$(LIBEXT)
  45. libnx$(DELIM)libknx$(LIBEXT): context
  46. $(Q) $(MAKE) -C libnx TOPDIR="$(TOPDIR)" libknx$(LIBEXT) KERNEL=y EXTRADEFINES=$(KDEFINE)
  47. lib$(DELIM)libknx$(LIBEXT): libnx$(DELIM)libknx$(LIBEXT)
  48. $(Q) install libnx$(DELIM)libknx$(LIBEXT) lib$(DELIM)libknx$(LIBEXT)
  49. mm$(DELIM)libkmm$(LIBEXT): context
  50. $(Q) $(MAKE) -C mm TOPDIR="$(TOPDIR)" libkmm$(LIBEXT) KERNEL=y EXTRADEFINES=$(KDEFINE)
  51. lib$(DELIM)libkmm$(LIBEXT): mm$(DELIM)libkmm$(LIBEXT)
  52. $(Q) install mm$(DELIM)libkmm$(LIBEXT) lib$(DELIM)libkmm$(LIBEXT)
  53. $(ARCH_SRC)$(DELIM)libkarch$(LIBEXT): context
  54. $(Q) $(MAKE) -C $(ARCH_SRC) TOPDIR="$(TOPDIR)" libkarch$(LIBEXT) KERNEL=y EXTRADEFINES=$(KDEFINE)
  55. lib$(DELIM)libkarch$(LIBEXT): $(ARCH_SRC)$(DELIM)libkarch$(LIBEXT)
  56. $(Q) install $(ARCH_SRC)$(DELIM)libkarch$(LIBEXT) lib$(DELIM)libkarch$(LIBEXT)
  57. sched$(DELIM)libsched$(LIBEXT): context
  58. $(Q) $(MAKE) -C sched TOPDIR="$(TOPDIR)" libsched$(LIBEXT) KERNEL=y EXTRADEFINES=$(KDEFINE)
  59. lib$(DELIM)libsched$(LIBEXT): sched$(DELIM)libsched$(LIBEXT)
  60. $(Q) install sched$(DELIM)libsched$(LIBEXT) lib$(DELIM)libsched$(LIBEXT)
  61. net$(DELIM)libnet$(LIBEXT): context
  62. $(Q) $(MAKE) -C net TOPDIR="$(TOPDIR)" libnet$(LIBEXT) KERNEL=y EXTRADEFINES=$(KDEFINE)
  63. lib$(DELIM)libnet$(LIBEXT): net$(DELIM)libnet$(LIBEXT)
  64. $(Q) install net$(DELIM)libnet$(LIBEXT) lib$(DELIM)libnet$(LIBEXT)
  65. configs$(DELIM)libconfigs$(LIBEXT): context
  66. $(Q) $(MAKE) -C configs TOPDIR="$(TOPDIR)" libconfigs$(LIBEXT) KERNEL=y EXTRADEFINES=$(KDEFINE)
  67. lib$(DELIM)libconfigs$(LIBEXT): configs$(DELIM)libconfigs$(LIBEXT)
  68. $(Q) install configs$(DELIM)libconfigs$(LIBEXT) lib$(DELIM)libconfigs$(LIBEXT)
  69. crypto$(DELIM)libcrypto$(LIBEXT): context
  70. $(Q) $(MAKE) -C crypto TOPDIR="$(TOPDIR)" libcrypto$(LIBEXT) KERNEL=y EXTRADEFINES=$(KDEFINE)
  71. lib$(DELIM)libcrypto$(LIBEXT): crypto$(DELIM)libcrypto$(LIBEXT)
  72. $(Q) install crypto$(DELIM)libcrypto$(LIBEXT) lib$(DELIM)libcrypto$(LIBEXT)
  73. fs$(DELIM)libfs$(LIBEXT): context
  74. $(Q) $(MAKE) -C fs TOPDIR="$(TOPDIR)" libfs$(LIBEXT) KERNEL=y EXTRADEFINES=$(KDEFINE)
  75. lib$(DELIM)libfs$(LIBEXT): fs$(DELIM)libfs$(LIBEXT)
  76. $(Q) install fs$(DELIM)libfs$(LIBEXT) lib$(DELIM)libfs$(LIBEXT)
  77. drivers$(DELIM)libdrivers$(LIBEXT): context
  78. $(Q) $(MAKE) -C drivers TOPDIR="$(TOPDIR)" libdrivers$(LIBEXT) KERNEL=y EXTRADEFINES=$(KDEFINE)
  79. lib$(DELIM)libdrivers$(LIBEXT): drivers$(DELIM)libdrivers$(LIBEXT)
  80. $(Q) install drivers$(DELIM)libdrivers$(LIBEXT) lib$(DELIM)libdrivers$(LIBEXT)
  81. binfmt$(DELIM)libbinfmt$(LIBEXT): context
  82. $(Q) $(MAKE) -C binfmt TOPDIR="$(TOPDIR)" libbinfmt$(LIBEXT) KERNEL=y EXTRADEFINES=$(KDEFINE)
  83. lib$(DELIM)libbinfmt$(LIBEXT): binfmt$(DELIM)libbinfmt$(LIBEXT)
  84. $(Q) install binfmt$(DELIM)libbinfmt$(LIBEXT) lib$(DELIM)libbinfmt$(LIBEXT)
  85. graphics$(DELIM)libgraphics$(LIBEXT): context
  86. $(Q) $(MAKE) -C graphics TOPDIR="$(TOPDIR)" libgraphics$(LIBEXT) KERNEL=y EXTRADEFINES=$(KDEFINE)
  87. lib$(DELIM)libgraphics$(LIBEXT): graphics$(DELIM)libgraphics$(LIBEXT)
  88. $(Q) install graphics$(DELIM)libgraphics$(LIBEXT) lib$(DELIM)libgraphics$(LIBEXT)
  89. audio$(DELIM)libaudio$(LIBEXT): context
  90. $(Q) $(MAKE) -C audio TOPDIR="$(TOPDIR)" libaudio$(LIBEXT) KERNEL=y EXTRADEFINES=$(KDEFINE)
  91. lib$(DELIM)libaudio$(LIBEXT): audio$(DELIM)libaudio$(LIBEXT)
  92. $(Q) install audio$(DELIM)libaudio$(LIBEXT) lib$(DELIM)libaudio$(LIBEXT)
  93. wireless$(DELIM)libwireless$(LIBEXT): context
  94. $(Q) $(MAKE) -C wireless TOPDIR="$(TOPDIR)" libwireless$(LIBEXT) KERNEL=y EXTRADEFINES=$(KDEFINE)
  95. lib$(DELIM)libwireless$(LIBEXT): wireless$(DELIM)libwireless$(LIBEXT)
  96. $(Q) install wireless$(DELIM)libwireless$(LIBEXT) lib$(DELIM)libwireless$(LIBEXT)
  97. $(ARCH_SRC)$(DELIM)libarch$(LIBEXT): context
  98. $(Q) $(MAKE) -C $(ARCH_SRC) TOPDIR="$(TOPDIR)" libarch$(LIBEXT) KERNEL=y EXTRADEFINES=$(KDEFINE)
  99. lib$(DELIM)libarch$(LIBEXT): $(ARCH_SRC)$(DELIM)libarch$(LIBEXT)
  100. $(Q) install $(ARCH_SRC)$(DELIM)libarch$(LIBEXT) lib$(DELIM)libarch$(LIBEXT)
  101. # Special case
  102. syscall$(DELIM)libstubs$(LIBEXT): context
  103. $(Q) $(MAKE) -C syscall TOPDIR="$(TOPDIR)" libstubs$(LIBEXT) # KERNEL=y EXTRADEFINES=$(KDEFINE)
  104. lib$(DELIM)libstubs$(LIBEXT): syscall$(DELIM)libstubs$(LIBEXT)
  105. $(Q) install syscall$(DELIM)libstubs$(LIBEXT) lib$(DELIM)libstubs$(LIBEXT)
  106. # Possible user-mode builds
  107. libc$(DELIM)libuc$(LIBEXT): context
  108. $(Q) $(MAKE) -C libc TOPDIR="$(TOPDIR)" libuc$(LIBEXT) KERNEL=n
  109. lib$(DELIM)libuc$(LIBEXT): libc$(DELIM)libuc$(LIBEXT)
  110. $(Q) install libc$(DELIM)libuc$(LIBEXT) lib$(DELIM)libuc$(LIBEXT)
  111. libnx$(DELIM)libunx$(LIBEXT): context
  112. $(Q) $(MAKE) -C libnx TOPDIR="$(TOPDIR)" libunx$(LIBEXT) KERNEL=n
  113. lib$(DELIM)libunx$(LIBEXT): libnx$(DELIM)libunx$(LIBEXT)
  114. $(Q) install libnx$(DELIM)libunx$(LIBEXT) lib$(DELIM)libunx$(LIBEXT)
  115. mm$(DELIM)libumm$(LIBEXT): context
  116. $(Q) $(MAKE) -C mm TOPDIR="$(TOPDIR)" libumm$(LIBEXT) KERNEL=n
  117. lib$(DELIM)libumm$(LIBEXT): mm$(DELIM)libumm$(LIBEXT)
  118. $(Q) install mm$(DELIM)libumm$(LIBEXT) lib$(DELIM)libumm$(LIBEXT)
  119. $(ARCH_SRC)$(DELIM)libuarch$(LIBEXT): context
  120. $(Q) $(MAKE) -C $(ARCH_SRC) TOPDIR="$(TOPDIR)" libuarch$(LIBEXT) KERNEL=n
  121. lib$(DELIM)libuarch$(LIBEXT): $(ARCH_SRC)$(DELIM)libuarch$(LIBEXT)
  122. $(Q) install $(ARCH_SRC)$(DELIM)libuarch$(LIBEXT) lib$(DELIM)libuarch$(LIBEXT)
  123. libxx$(DELIM)libcxx$(LIBEXT): context
  124. $(Q) $(MAKE) -C libxx TOPDIR="$(TOPDIR)" libcxx$(LIBEXT) KERNEL=n
  125. lib$(DELIM)libcxx$(LIBEXT): libxx$(DELIM)libcxx$(LIBEXT)
  126. $(Q) install libxx$(DELIM)libcxx$(LIBEXT) lib$(DELIM)libcxx$(LIBEXT)
  127. $(APPDIR)$(DELIM)libapps$(LIBEXT): context
  128. $(Q) $(MAKE) -C $(APPDIR) TOPDIR="$(TOPDIR)" libapps$(LIBEXT) KERNEL=n
  129. lib$(DELIM)libapps$(LIBEXT): $(APPDIR)$(DELIM)libapps$(LIBEXT)
  130. $(Q) install $(APPDIR)$(DELIM)libapps$(LIBEXT) lib$(DELIM)libapps$(LIBEXT)
  131. syscall$(DELIM)libproxies$(LIBEXT): context
  132. $(Q) $(MAKE) -C syscall TOPDIR="$(TOPDIR)" libproxies$(LIBEXT) KERNEL=n
  133. lib$(DELIM)libproxies$(LIBEXT): syscall$(DELIM)libproxies$(LIBEXT)
  134. $(Q) install syscall$(DELIM)libproxies$(LIBEXT) lib$(DELIM)libproxies$(LIBEXT)
  135. # Possible non-kernel builds
  136. libc$(DELIM)libc$(LIBEXT): context
  137. $(Q) $(MAKE) -C libc TOPDIR="$(TOPDIR)" libc$(LIBEXT)
  138. lib$(DELIM)libc$(LIBEXT): libc$(DELIM)libc$(LIBEXT)
  139. $(Q) install libc$(DELIM)libc$(LIBEXT) lib$(DELIM)libc$(LIBEXT)
  140. libnx$(DELIM)libnx$(LIBEXT): context
  141. $(Q) $(MAKE) -C libnx TOPDIR="$(TOPDIR)" libnx$(LIBEXT)
  142. lib$(DELIM)libnx$(LIBEXT): libnx$(DELIM)libnx$(LIBEXT)
  143. $(Q) install libnx$(DELIM)libnx$(LIBEXT) lib$(DELIM)libnx$(LIBEXT)
  144. mm$(DELIM)libmm$(LIBEXT): context
  145. $(Q) $(MAKE) -C mm TOPDIR="$(TOPDIR)" libmm$(LIBEXT)
  146. lib$(DELIM)libmm$(LIBEXT): mm$(DELIM)libmm$(LIBEXT)
  147. $(Q) install mm$(DELIM)libmm$(LIBEXT) lib$(DELIM)libmm$(LIBEXT)