#
#   Copyright (c) 2020 Google LLC.
#   All rights reserved.
#
#   Licensed under the Apache License, Version 2.0 (the "License");
#   you may not use this file except in compliance with the License.
#   You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#   Unless required by applicable law or agreed to in writing, software
#   distributed under the License is distributed on an "AS IS" BASIS,
#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#   See the License for the specific language governing permissions and
#   limitations under the License.
#

# Build rules for library

lib_LIBRARIES = libopenssl-ecjpake.a

libopenssl_ecjpake_a_SOURCES = ecjpake.c ecjpake_err.c

libopenssl_ecjpake_a_CFLAGS = -I$(srcdir)/openssl

EXTRA_DIST = openssl


# Build rules for test application

bin_PROGRAMS = ecjpaketest

ecjpaketest_SOURCES = ecjpaketest.c

ecjpaketest_LDADD = libopenssl-ecjpake.a -lcrypto
