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#
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_bench_test_lib \
41	ssl_dist_test_lib \
42	ssl_alpn_handshake_SUITE \
43	ssl_basic_SUITE \
44	ssl_bench_SUITE \
45	ssl_cipher_SUITE \
46	ssl_certificate_verify_SUITE\
47	ssl_crl_SUITE\
48	ssl_dist_SUITE \
49	ssl_dist_bench_SUITE \
50	ssl_engine_SUITE\
51	ssl_handshake_SUITE \
52	ssl_npn_hello_SUITE \
53	ssl_npn_handshake_SUITE \
54	ssl_packet_SUITE \
55	ssl_payload_SUITE \
56	ssl_pem_cache_SUITE \
57	ssl_session_cache_SUITE	\
58	ssl_to_openssl_SUITE \
59	ssl_ECC_SUITE \
60	ssl_ECC_openssl_SUITE \
61	ssl_ECC\
62	ssl_upgrade_SUITE\
63	ssl_sni_SUITE \
64	make_certs\
65        x509_test
66
67
68ERL_FILES = $(MODULES:%=%.erl)
69
70HRL_FILES = \
71	ssl_dist_test_lib.hrl
72
73HRL_FILES_SRC = \
74	ssl_api.hrl\
75	ssl_internal.hrl\
76	ssl_alert.hrl \
77	tls_handshake.hrl \
78	ssl_handshake.hrl \
79	ssl_cipher.hrl \
80	tls_record.hrl \
81	ssl_record.hrl
82
83HRL_FILES_INC =
84
85HRL_FILES_NEEDED_IN_TEST = \
86	$(HRL_FILES_SRC:%=../src/%) \
87	$(HRL_FILES_INC:%=../include/%)
88
89TARGET_FILES = $(MODULES:%=$(EBIN)/%.$(EMULATOR))
90
91INCLUDES = -I.
92
93DATADIRS = ssl_basic_SUITE_data
94
95EMAKEFILE=Emakefile
96MAKE_EMAKE = $(wildcard $(ERL_TOP)/make/make_emakefile)
97
98COVER_FILE = ssl.cover
99
100# ----------------------------------------------------
101# Release directory specification
102# ----------------------------------------------------
103RELSYSDIR = $(RELEASE_PATH)/ssl_test
104
105# ----------------------------------------------------
106# FLAGS
107# The path to the test_server ebin dir is needed when
108# running the target "targets".
109# ----------------------------------------------------
110ERL_COMPILE_FLAGS += $(INCLUDES)
111
112# ----------------------------------------------------
113# Targets
114# ----------------------------------------------------
115
116tests debug opt: $(BUILDTARGET)
117
118targets: $(TARGET_FILES)
119
120.PHONY: emakebuild
121
122emakebuild: $(EMAKEFILE)
123
124$(EMAKEFILE):
125	$(MAKE_EMAKE) $(ERL_COMPILE_FLAGS) -o$(EBIN) '*_SUITE_make' | grep -v Warning > $(EMAKEFILE)
126	$(MAKE_EMAKE) $(ERL_COMPILE_FLAGS) -o$(EBIN) $(MODULES) | grep -v Warning >> $(EMAKEFILE)
127
128clean:
129	rm -f $(EMAKEFILE)
130	rm -f $(TARGET_FILES)
131	rm -f core *~
132
133docs:
134
135# ----------------------------------------------------
136# Release Target
137# ----------------------------------------------------
138include $(ERL_TOP)/make/otp_release_targets.mk
139
140release_spec: opt
141
142release_tests_spec: opt
143	$(INSTALL_DIR) "$(RELSYSDIR)"
144	$(INSTALL_DATA)  $(ERL_FILES) $(HRL_FILES) $(HRL_FILES_NEEDED_IN_TEST) $(COVER_FILE) "$(RELSYSDIR)"
145	$(INSTALL_DATA) ssl.spec ssl_bench.spec ssl.cover "$(RELSYSDIR)"
146	chmod -R u+w "$(RELSYSDIR)"
147	@tar cf - *_SUITE_data | (cd "$(RELSYSDIR)"; tar xf -)
148
149release_docs_spec:
150
151# Dependencies
152
153$(TARGET_FILES):	$(HRL_FILES)
154