1#
2# %CopyrightBegin%
3#
4# Copyright Ericsson AB 1999-2020. 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#
22
23# SSL test suite Makefile
24#
25include $(ERL_TOP)/make/target.mk
26include $(ERL_TOP)/make/$(TARGET)/otp.mk
27
28# ----------------------------------------------------
29# Application version
30# ----------------------------------------------------
31include ../vsn.mk
32VSN=$(SSL_VSN)
33
34# ----------------------------------------------------
35# Target Specs
36# ----------------------------------------------------
37
38MODULES = \
39	ssl_test_lib \
40	ssl_app_env_SUITE\
41	ssl_alert_SUITE\
42	ssl_bench_test_lib \
43	ssl_dist_test_lib \
44	ssl_api_SUITE\
45	tls_api_SUITE\
46	dtls_api_SUITE\
47        ssl_basic_SUITE \
48	ssl_bench_SUITE \
49	ssl_cipher_SUITE \
50        ssl_cipher_suite_SUITE \
51	openssl_cipher_suite_SUITE\
52	ssl_alpn_SUITE \
53        openssl_alpn_SUITE\
54	ssl_npn_SUITE \
55	openssl_npn_SUITE\
56	openssl_sni_SUITE\
57	ssl_renegotiate_SUITE\
58	openssl_renegotiate_SUITE\
59	openssl_reject_SUITE\
60	ssl_cert_tests\
61        ssl_cert_SUITE\
62	openssl_server_cert_SUITE\
63	openssl_client_cert_SUITE\
64	ssl_crl_SUITE\
65	ssl_dist_SUITE \
66	ssl_dist_bench_SUITE \
67	ssl_engine_SUITE\
68	ssl_handshake_SUITE \
69	ssl_key_update_SUITE \
70	openssl_key_update_SUITE \
71	ssl_npn_hello_SUITE \
72	ssl_packet_SUITE \
73	ssl_payload_SUITE \
74	ssl_pem_cache_SUITE \
75	ssl_session_SUITE \
76	ssl_session_cache_SUITE	\
77	ssl_session_ticket_SUITE \
78	openssl_session_ticket_SUITE \
79	openssl_session_SUITE \
80	ssl_ECC_SUITE \
81	ssl_ECC_openssl_SUITE \
82	ssl_ECC\
83	ssl_upgrade_SUITE\
84	ssl_sni_SUITE \
85	ssl_eqc_SUITE \
86	ssl_rfc_5869_SUITE \
87	tls_1_3_record_SUITE\
88	openssl_tls_1_3_version_SUITE\
89	tls_1_3_version_SUITE\
90	ssl_socket_SUITE\
91	make_certs \
92        x509_test \
93	inet_crypto_dist
94
95
96ERL_FILES = $(MODULES:%=%.erl)
97
98HRL_FILES = \
99	ssl_dist_test_lib.hrl
100
101HRL_FILES_SRC = \
102	ssl_api.hrl\
103	ssl_internal.hrl\
104	ssl_alert.hrl \
105	tls_handshake.hrl \
106	ssl_handshake.hrl \
107	ssl_cipher.hrl \
108	tls_record.hrl \
109	ssl_record.hrl
110
111HRL_FILES_INC =
112
113HRL_FILES_NEEDED_IN_TEST = \
114	$(HRL_FILES_SRC:%=../src/%) \
115	$(HRL_FILES_INC:%=../include/%)
116
117TARGET_FILES = $(MODULES:%=$(EBIN)/%.$(EMULATOR))
118
119INCLUDES = -I.
120
121DATADIRS = ssl_basic_SUITE_data
122
123EMAKEFILE=Emakefile
124MAKE_EMAKE = $(wildcard $(ERL_TOP)/make/make_emakefile)
125
126COVER_FILE = ssl.cover
127
128# ----------------------------------------------------
129# Release directory specification
130# ----------------------------------------------------
131RELSYSDIR = $(RELEASE_PATH)/ssl_test
132
133# ----------------------------------------------------
134# FLAGS
135# The path to the test_server ebin dir is needed when
136# running the target "targets".
137# ----------------------------------------------------
138ERL_COMPILE_FLAGS += $(INCLUDES)
139
140# ----------------------------------------------------
141# Targets
142# ----------------------------------------------------
143
144tests debug opt: $(BUILDTARGET)
145
146targets: $(TARGET_FILES)
147
148.PHONY: emakebuild
149
150emakebuild: $(EMAKEFILE)
151
152$(EMAKEFILE):
153	$(MAKE_EMAKE) $(ERL_COMPILE_FLAGS) -o$(EBIN) '*_SUITE_make' | grep -v Warning > $(EMAKEFILE)
154	$(MAKE_EMAKE) $(ERL_COMPILE_FLAGS) -o$(EBIN) $(MODULES) | grep -v Warning >> $(EMAKEFILE)
155
156clean:
157	rm -f $(EMAKEFILE)
158	rm -f $(TARGET_FILES)
159	rm -f core *~
160
161docs:
162
163# ----------------------------------------------------
164# Release Target
165# ----------------------------------------------------
166include $(ERL_TOP)/make/otp_release_targets.mk
167
168release_spec: opt
169
170release_tests_spec: opt
171	$(INSTALL_DIR) "$(RELSYSDIR)"
172	$(INSTALL_DATA)  $(ERL_FILES) $(HRL_FILES) $(HRL_FILES_NEEDED_IN_TEST) $(COVER_FILE) "$(RELSYSDIR)"
173	$(INSTALL_DATA) ssl.spec ssl_bench.spec ssl.cover "$(RELSYSDIR)"
174	chmod -R u+w "$(RELSYSDIR)"
175	@tar cf - *_SUITE_data property_test | (cd "$(RELSYSDIR)"; tar xf -)
176
177release_docs_spec:
178
179# Dependencies
180
181$(TARGET_FILES):	$(HRL_FILES)
182