ProtectedLibs.mk 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. ############################################################################
  2. # tools/ProtectedLibs.mk
  3. #
  4. # Licensed to the Apache Software Foundation (ASF) under one or more
  5. # contributor license agreements. See the NOTICE file distributed with
  6. # this work for additional information regarding copyright ownership. The
  7. # ASF licenses this file to you under the Apache License, Version 2.0 (the
  8. # "License"); you may not use this file except in compliance with the
  9. # License. You may obtain a copy of the License at
  10. #
  11. # http://www.apache.org/licenses/LICENSE-2.0
  12. #
  13. # Unless required by applicable law or agreed to in writing, software
  14. # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  15. # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  16. # License for the specific language governing permissions and limitations
  17. # under the License.
  18. #
  19. ############################################################################
  20. # NUTTXLIBS is the list of NuttX libraries that is passed to the
  21. # processor-specific Makefile to build the final NuttX target.
  22. # USERLIBS is the list of libraries used to build the final user-space
  23. # application
  24. # EXPORTLIBS is the list of libraries that should be exported by
  25. # 'make export' is
  26. NUTTXLIBS = staging$(DELIM)libsched$(LIBEXT)
  27. USERLIBS =
  28. # Driver support.
  29. NUTTXLIBS += staging$(DELIM)libdrivers$(LIBEXT)
  30. # External code support
  31. ifeq ($(EXTERNALDIR),external)
  32. NUTTXLIBS += staging$(DELIM)libexternal$(LIBEXT)
  33. endif
  34. # Add libraries for board support
  35. NUTTXLIBS += staging$(DELIM)libboards$(LIBEXT)
  36. # Add libraries for syscall support. The C library will be needed by
  37. # both the kernel- and user-space builds.
  38. NUTTXLIBS += staging$(DELIM)libstubs$(LIBEXT) staging$(DELIM)libkc$(LIBEXT)
  39. NUTTXLIBS += staging$(DELIM)libkmm$(LIBEXT) staging$(DELIM)libkarch$(LIBEXT)
  40. USERLIBS += staging$(DELIM)libproxies$(LIBEXT) staging$(DELIM)libc$(LIBEXT)
  41. USERLIBS += staging$(DELIM)libmm$(LIBEXT) staging$(DELIM)libarch$(LIBEXT)
  42. # Add library for system call instrumentation if needed
  43. ifeq ($(CONFIG_SCHED_INSTRUMENTATION_SYSCALL),y)
  44. NUTTXLIBS += staging$(DELIM)libwraps$(LIBEXT)
  45. endif
  46. # Add libraries for two pass build support. The special directory pass1
  47. # may be populated so that application generated logic can be included into
  48. # the kernel build
  49. ifeq ($(CONFIG_BUILD_2PASS),y)
  50. NUTTXLIBS += staging$(DELIM)libpass1$(LIBEXT)
  51. endif
  52. # Add libraries for C++ support. CXX, CXXFLAGS, and COMPILEXX must
  53. # be defined in Make.defs for this to work!
  54. ifeq ($(CONFIG_HAVE_CXX),y)
  55. USERLIBS += staging$(DELIM)libxx$(LIBEXT)
  56. endif
  57. # Add library for application support.
  58. ifneq ($(APPDIR),)
  59. USERLIBS += staging$(DELIM)libapps$(LIBEXT)
  60. endif
  61. # Add libraries for network support
  62. ifeq ($(CONFIG_NET),y)
  63. NUTTXLIBS += staging$(DELIM)libnet$(LIBEXT)
  64. endif
  65. # Add libraries for Crypto API support
  66. ifeq ($(CONFIG_CRYPTO),y)
  67. NUTTXLIBS += staging$(DELIM)libcrypto$(LIBEXT)
  68. endif
  69. # Add libraries for file system support
  70. NUTTXLIBS += staging$(DELIM)libfs$(LIBEXT) staging$(DELIM)libbinfmt$(LIBEXT)
  71. # Add libraries for the NX graphics sub-system
  72. ifeq ($(CONFIG_NX),y)
  73. NUTTXLIBS += staging$(DELIM)libgraphics$(LIBEXT)
  74. NUTTXLIBS += staging$(DELIM)libknx$(LIBEXT)
  75. USERLIBS += staging$(DELIM)libnx$(LIBEXT)
  76. else ifeq ($(CONFIG_NXFONTS),y)
  77. NUTTXLIBS += staging$(DELIM)libknx$(LIBEXT)
  78. USERLIBS += staging$(DELIM)libnx$(LIBEXT)
  79. endif
  80. # Add libraries for the Audio sub-system
  81. ifeq ($(CONFIG_AUDIO),y)
  82. NUTTXLIBS += staging$(DELIM)libaudio$(LIBEXT)
  83. endif
  84. # Add libraries for the Video sub-system
  85. ifeq ($(CONFIG_VIDEO),y)
  86. NUTTXLIBS += staging$(DELIM)libvideo$(LIBEXT)
  87. endif
  88. # Add libraries for the Wireless sub-system
  89. ifeq ($(CONFIG_WIRELESS),y)
  90. NUTTXLIBS += staging$(DELIM)libwireless$(LIBEXT)
  91. endif
  92. # Add DSP library
  93. ifeq ($(CONFIG_LIBDSP),y)
  94. NUTTXLIBS += staging$(DELIM)libdsp$(LIBEXT)
  95. endif
  96. ifeq ($(CONFIG_OPENAMP),y)
  97. NUTTXLIBS += staging$(DELIM)libopenamp$(LIBEXT)
  98. endif
  99. # Export only the user libraries
  100. EXPORTLIBS = $(USERLIBS)