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_mfl_SUITE\
58	openssl_mfl_SUITE\
59        ssl_renegotiate_SUITE\
60	openssl_renegotiate_SUITE\
61	openssl_reject_SUITE\
62	ssl_cert_tests\
63        ssl_cert_SUITE\
64	openssl_server_cert_SUITE\
65	openssl_client_cert_SUITE\
66	ssl_crl_SUITE\
67	ssl_dist_SUITE \
68	ssl_dist_bench_SUITE \
69	ssl_engine_SUITE\
70	ssl_handshake_SUITE \
71	ssl_key_update_SUITE \
72	openssl_key_update_SUITE \
73	ssl_npn_hello_SUITE \
74	ssl_packet_SUITE \
75	ssl_payload_SUITE \
76	ssl_pem_cache_SUITE \
77	ssl_session_SUITE \
78	ssl_session_cache_SUITE	\
79	ssl_session_cache_api_SUITE\	\
80	ssl_session_ticket_SUITE \
81	openssl_session_ticket_SUITE \
82	openssl_session_SUITE \
83	ssl_ECC_SUITE \
84	openssl_ECC_SUITE \
85	ssl_ECC\
86	ssl_upgrade_SUITE\
87	ssl_sni_SUITE \
88	ssl_eqc_SUITE \
89	ssl_rfc_5869_SUITE \
90	tls_1_3_record_SUITE\
91	openssl_tls_1_3_version_SUITE\
92	tls_1_3_version_SUITE\
93	ssl_socket_SUITE\
94	make_certs \
95        x509_test \
96	inet_crypto_dist \
97	openssl_ocsp_SUITE \
98	tls_server_session_ticket_SUITE
99
100
101ERL_FILES = $(MODULES:%=%.erl)
102
103HRL_FILES = \
104	ssl_dist_test_lib.hrl
105
106HRL_FILES_SRC = \
107	ssl_api.hrl\
108	ssl_internal.hrl\
109	ssl_alert.hrl \
110	tls_handshake.hrl \
111	ssl_handshake.hrl \
112	ssl_cipher.hrl \
113	tls_record.hrl \
114	ssl_record.hrl
115
116HRL_FILES_INC =
117
118HRL_FILES_NEEDED_IN_TEST = \
119	$(HRL_FILES_SRC:%=../src/%) \
120	$(HRL_FILES_INC:%=../include/%)
121
122TARGET_FILES = $(MODULES:%=$(EBIN)/%.$(EMULATOR))
123
124INCLUDES = -I.
125
126DATADIRS = ssl_basic_SUITE_data
127
128EMAKEFILE=Emakefile
129MAKE_EMAKE = $(wildcard $(ERL_TOP)/make/make_emakefile)
130
131COVER_FILE = ssl.cover
132
133# ----------------------------------------------------
134# Release directory specification
135# ----------------------------------------------------
136RELSYSDIR = $(RELEASE_PATH)/ssl_test
137
138# ----------------------------------------------------
139# FLAGS
140# The path to the test_server ebin dir is needed when
141# running the target "targets".
142# ----------------------------------------------------
143ERL_COMPILE_FLAGS += $(INCLUDES)
144
145# ----------------------------------------------------
146# Targets
147# ----------------------------------------------------
148
149tests debug opt: $(BUILDTARGET)
150
151targets: $(TARGET_FILES)
152
153.PHONY: emakebuild
154
155emakebuild: $(EMAKEFILE)
156
157$(EMAKEFILE):
158	$(MAKE_EMAKE) $(ERL_COMPILE_FLAGS) -o$(EBIN) '*_SUITE_make' | grep -v Warning > $(EMAKEFILE)
159	$(MAKE_EMAKE) $(ERL_COMPILE_FLAGS) -o$(EBIN) $(MODULES) | grep -v Warning >> $(EMAKEFILE)
160
161clean:
162	rm -f $(EMAKEFILE)
163	rm -f $(TARGET_FILES)
164	rm -f core *~
165
166docs:
167
168# ----------------------------------------------------
169# Release Target
170# ----------------------------------------------------
171include $(ERL_TOP)/make/otp_release_targets.mk
172
173release_spec: opt
174
175release_tests_spec: opt
176	$(INSTALL_DIR) "$(RELSYSDIR)"
177	$(INSTALL_DATA)  $(ERL_FILES) $(HRL_FILES) $(HRL_FILES_NEEDED_IN_TEST) $(COVER_FILE) "$(RELSYSDIR)"
178	$(INSTALL_DATA) ssl.spec ssl_bench.spec ssl.cover "$(RELSYSDIR)"
179	chmod -R u+w "$(RELSYSDIR)"
180	@tar cf - *_SUITE_data property_test | (cd "$(RELSYSDIR)"; tar xf -)
181
182release_docs_spec:
183
184# Dependencies
185
186$(TARGET_FILES):	$(HRL_FILES)
187