/lib/ssl/src/Makefile

https://github.com/RaimoNiskanen/otp · Makefile · 184 lines · 114 code · 29 blank · 41 comment · 0 complexity · b813ac8033bd9aa8dfcf2245ced6a44e MD5 · raw file

  1. #
  2. # %CopyrightBegin%
  3. #
  4. # Copyright Ericsson AB 1999-2018. All Rights Reserved.
  5. #
  6. # Licensed under the Apache License, Version 2.0 (the "License");
  7. # you may not use this file except in compliance with the License.
  8. # You may obtain a copy of the License at
  9. #
  10. # http://www.apache.org/licenses/LICENSE-2.0
  11. #
  12. # Unless required by applicable law or agreed to in writing, software
  13. # distributed under the License is distributed on an "AS IS" BASIS,
  14. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. # See the License for the specific language governing permissions and
  16. # limitations under the License.
  17. #
  18. # %CopyrightEnd%
  19. #
  20. #
  21. include $(ERL_TOP)/make/target.mk
  22. include $(ERL_TOP)/make/$(TARGET)/otp.mk
  23. # ----------------------------------------------------
  24. # Application version
  25. # ----------------------------------------------------
  26. include ../vsn.mk
  27. VSN=$(SSL_VSN)
  28. # ----------------------------------------------------
  29. # Release directory specification
  30. # ----------------------------------------------------
  31. RELSYSDIR = $(RELEASE_PATH)/lib/ssl-$(VSN)
  32. # ----------------------------------------------------
  33. # Common Macros
  34. # ----------------------------------------------------
  35. BEHAVIOUR_MODULES= \
  36. ssl_session_cache_api \
  37. ssl_crl_cache_api
  38. MODULES= \
  39. ssl \
  40. ssl_alert \
  41. ssl_app \
  42. ssl_sup \
  43. ssl_admin_sup\
  44. tls_connection_sup \
  45. ssl_connection_sup \
  46. ssl_listen_tracker_sup\
  47. dtls_connection_sup \
  48. dtls_packet_demux \
  49. dtls_listener_sup \
  50. ssl_dist_sup\
  51. ssl_dist_admin_sup\
  52. ssl_dist_connection_sup\
  53. inet_tls_dist \
  54. inet6_tls_dist \
  55. ssl_certificate\
  56. ssl_pkix_db\
  57. ssl_cipher \
  58. ssl_cipher_format \
  59. ssl_srp_primes \
  60. tls_connection \
  61. dtls_connection \
  62. tls_sender\
  63. ssl_config \
  64. ssl_connection \
  65. tls_handshake \
  66. tls_handshake_1_3\
  67. dtls_handshake\
  68. ssl_handshake\
  69. ssl_manager \
  70. ssl_session \
  71. ssl_session_cache \
  72. ssl_pem_cache \
  73. ssl_crl\
  74. ssl_crl_cache \
  75. ssl_crl_hash_dir \
  76. tls_socket \
  77. dtls_socket \
  78. tls_record \
  79. dtls_record \
  80. ssl_record \
  81. ssl_v3 \
  82. tls_v1 \
  83. dtls_v1 \
  84. ssl_logger
  85. INTERNAL_HRL_FILES = \
  86. ssl_alert.hrl ssl_cipher.hrl \
  87. tls_connection.hrl dtls_connection.hrl ssl_connection.hrl \
  88. ssl_handshake.hrl tls_handshake.hrl tls_handshake_1_3.hrl dtls_handshake.hrl \
  89. ssl_api.hrl ssl_internal.hrl \
  90. ssl_record.hrl tls_record.hrl dtls_record.hrl ssl_srp.hrl
  91. ERL_FILES= \
  92. $(MODULES:%=%.erl) \
  93. $(BEHAVIOUR_MODULES:%=%.erl)
  94. TARGET_FILES= $(MODULES:%=$(EBIN)/%.$(EMULATOR))
  95. BEHAVIOUR_TARGET_FILES= $(BEHAVIOUR_MODULES:%=$(EBIN)/%.$(EMULATOR))
  96. APP_FILE= ssl.app
  97. APPUP_FILE= ssl.appup
  98. APP_SRC= $(APP_FILE).src
  99. APP_TARGET= $(EBIN)/$(APP_FILE)
  100. APPUP_SRC= $(APPUP_FILE).src
  101. APPUP_TARGET= $(EBIN)/$(APPUP_FILE)
  102. # ----------------------------------------------------
  103. # FLAGS
  104. # ----------------------------------------------------
  105. EXTRA_ERLC_FLAGS = +warn_unused_vars
  106. ERL_COMPILE_FLAGS += -I$(ERL_TOP)/lib/kernel/src \
  107. -pz $(EBIN) \
  108. -pz $(ERL_TOP)/lib/public_key/ebin \
  109. $(EXTRA_ERLC_FLAGS)
  110. # ----------------------------------------------------
  111. # Targets
  112. # ----------------------------------------------------
  113. $(TARGET_FILES): $(BEHAVIOUR_TARGET_FILES)
  114. debug opt: $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET)
  115. clean:
  116. rm -f $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) $(BEHAVIOUR_TARGET_FILES)
  117. rm -f errs core *~
  118. $(APP_TARGET): $(APP_SRC) ../vsn.mk
  119. $(vsn_verbose)sed -e 's;%VSN%;$(VSN);' $< > $@
  120. $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
  121. $(vsn_verbose)sed -e 's;%VSN%;$(VSN);' $< > $@
  122. docs:
  123. # ----------------------------------------------------
  124. # Release Target
  125. # ----------------------------------------------------
  126. include $(ERL_TOP)/make/otp_release_targets.mk
  127. release_spec: opt
  128. $(INSTALL_DIR) "$(RELSYSDIR)/src"
  129. $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
  130. $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
  131. $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \
  132. $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
  133. release_docs_spec:
  134. # ----------------------------------------------------
  135. # Dependencies
  136. # ----------------------------------------------------
  137. $(EBIN)/inet_tls_dist.$(EMULATOR): ../../kernel/include/net_address.hrl ../../kernel/include/dist.hrl ../../kernel/include/dist_util.hrl
  138. $(EBIN)/tls.$(EMULATOR): ssl_internal.hrl ssl_record.hrl ssl_cipher.hrl ssl_handshake.hrl ../../public_key/include/public_key.hrl
  139. $(EBIN)/ssl_alert.$(EMULATOR): ssl_alert.hrl ssl_record.hrl
  140. $(EBIN)/ssl_certificate.$(EMULATOR): ssl_internal.hrl ssl_alert.hrl ssl_handshake.hrl ../../public_key/include/public_key.hrl
  141. $(EBIN)/ssl_certificate_db.$(EMULATOR): ssl_internal.hrl ../../public_key/include/public_key.hrl ../../kernel/include/file.hrl
  142. $(EBIN)/ssl_cipher.$(EMULATOR): ssl_internal.hrl ssl_record.hrl ssl_cipher.hrl ssl_handshake.hrl ssl_alert.hrl ../../public_key/include/public_key.hrl
  143. $(EBIN)/tls_connection.$(EMULATOR): ssl_internal.hrl tls_connection.hrl tls_record.hrl ssl_cipher.hrl tls_handshake.hrl ssl_alert.hrl ../../public_key/include/public_key.hrl
  144. $(EBIN)/dtls_connection.$(EMULATOR): ssl_internal.hrl dtls_connection.hrl dtls_record.hrl ssl_cipher.hrl dtls_handshake.hrl ssl_alert.hrl ../../public_key/include/public_key.hrl
  145. $(EBIN)/tls_handshake.$(EMULATOR): ssl_internal.hrl tls_record.hrl ssl_cipher.hrl tls_handshake.hrl ssl_alert.hrl ../../public_key/include/public_key.hrl
  146. $(EBIN)/tls_handshake.$(EMULATOR): ssl_internal.hrl ssl_connection.hrl ssl_record.hrl ssl_cipher.hrl ssl_handshake.hrl ssl_alert.hrl ../../public_key/include/public_key.hrl
  147. $(EBIN)/tls_handshake_1_3.$(EMULATOR): tls_handshake_1_3.hrl tls_handshake.hrl ssl_internal.hrl
  148. $(EBIN)/ssl_manager.$(EMULATOR): ssl_internal.hrl ssl_handshake.hrl ../../kernel/include/file.hrl
  149. $(EBIN)/ssl_record.$(EMULATOR): ssl_internal.hrl ssl_record.hrl ssl_cipher.hrl ssl_handshake.hrl ssl_alert.hrl
  150. $(EBIN)/ssl_session.$(EMULATOR): ssl_internal.hrl ssl_handshake.hrl
  151. $(EBIN)/ssl_session_cache.$(EMULATOR): ssl_internal.hrl ssl_handshake.hrl
  152. $(EBIN)/ssl_session_cache_api.$(EMULATOR): ssl_internal.hrl ssl_handshake.hrl
  153. $(EBIN)/ssl_ssl3.$(EMULATOR): ssl_internal.hrl ssl_record.hrl ssl_cipher.hrl
  154. $(EBIN)/ssl_tls1.$(EMULATOR): ssl_internal.hrl ssl_record.hrl ssl_cipher.hrl
  155. $(EBIN)/ssl_cache.$(EMULATOR): ssl_cache.erl ssl_internal.hrl ../../public_key/include/public_key.hrl