blob: 0881f3d83de3e78d22d01c881ef04076c62bc5d6 [file] [log] [blame]
Will Arthurca8e7f32015-08-03 15:35:19 -04001#;**********************************************************************;
2#
3# Copyright (c) 2015, Intel Corporation
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions are met:
8#
9# 1. Redistributions of source code must retain the above copyright notice,
10# this list of conditions and the following disclaimer.
11#
12# 2. Redistributions in binary form must reproduce the above copyright notice,
13# this list of conditions and the following disclaimer in the documentation
14# and/or other materials provided with the distribution.
15#
16# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
26# THE POSSIBILITY OF SUCH DAMAGE.
27#;**********************************************************************;
28
Philip Triccae690e082015-09-07 18:17:35 -070029include src_vars.mk
30
Philip Triccaa509a682015-09-14 15:34:52 -070031ACLOCAL_AMFLAGS = -I m4
Philip Triccadaeb5bb2016-05-26 19:27:45 -070032AM_CFLAGS = -I$(srcdir)/include
33AM_CXXFLAGS = $(AM_CFLAGS)
Philip Triccaa509a682015-09-14 15:34:52 -070034
Philip Tricca2bd4adb2015-09-25 00:14:16 -070035# stuff to build, what that stuff is, and where/if to install said stuff
36sbin_PROGRAMS = $(resourcemgr)
37noinst_PROGRAMS = $(tpmclient) $(tpmtest)
Philip Tricca826f5902016-05-26 16:44:31 -070038lib_LTLIBRARIES = $(libsapi) $(libtcti_device) $(libtcti_socket)
Philip Triccab194be92016-03-15 13:27:09 -070039# unit tests
Philip Tricca4c1b4a02016-06-21 05:44:51 -070040check_PROGRAMS = \
41 test/tcti_device \
Philip Tricca6f634c42016-07-23 12:32:15 -070042 test/getcommands-malloc-mock_unit \
Philip Tricca364c0ce2016-07-23 16:48:37 -070043 test/CommonPreparePrologue_unit \
44 test/GetNumHandles_unit
Philip Triccab194be92016-03-15 13:27:09 -070045TESTS = $(check_PROGRAMS)
Philip Tricca7ae01542016-05-05 18:45:03 -070046CLEANFILES = $(nodist_pkgconfig_DATA)
Philip Tricca7d3515f2015-09-07 10:06:56 -070047
Philip Tricca2bd4adb2015-09-25 00:14:16 -070048# headers and where to install them
Philip Triccad69337a2016-05-26 16:16:01 -070049libsapidir = $(includedir)/sapi
50libsapi_HEADERS = $(srcdir)/include/sapi/*.h
Philip Triccac3dedc22016-01-15 13:47:22 -080051libtctidir = $(includedir)/tcti
52libtcti_HEADERS = $(srcdir)/include/tcti/*.h
Philip Tricca7ae01542016-05-05 18:45:03 -070053# pkg-config files
54pkgconfigdir = $(libdir)/pkgconfig
Philip Tricca826f5902016-05-26 16:44:31 -070055nodist_pkgconfig_DATA = lib/sapi.pc lib/tcti-device.pc lib/tcti-socket.pc
Philip Tricca2bd4adb2015-09-25 00:14:16 -070056
Philip Tricca09a5bcd2016-03-21 13:20:19 -070057test_tcti_device_CFLAGS = $(CMOCKA_CFLAGS) -I$(srcdir) -I$(srcdir)/sysapi/include
Philip Tricca826f5902016-05-26 16:44:31 -070058test_tcti_device_LDADD = $(libsapi) $(libtcti_device) $(CMOCKA_LIBS)
Philip Triccab194be92016-03-15 13:27:09 -070059test_tcti_device_SOURCES = test/tcti_device.c test/tcti_device_test.c
60
Philip Tricca4c1b4a02016-06-21 05:44:51 -070061test_getcommands_malloc_mock_unit_CFLAGS = $(CMOCKA_CFLAGS) \
62 -I$(srcdir)/sysapi/include/
63test_getcommands_malloc_mock_unit_LDADD = $(CMOCKA_LIBS)
64test_getcommands_malloc_mock_unit_LDFLAGS = -Wl,--wrap=malloc \
65 -Wl,--wrap=Tss2_Sys_GetCapability
66test_getcommands_malloc_mock_unit_SOURCES = \
67 test/getcommands-malloc-mock_unit.c resourcemgr/getcommands.c
68
Philip Tricca6f634c42016-07-23 12:32:15 -070069test_CommonPreparePrologue_unit_CFLAGS = $(CMOCKA_CFLAGS) \
70 -I$(srcdir)/include/sapi -I$(srcdir)/sysapi/include/
71test_CommonPreparePrologue_unit_LDFLAGS = -Wl,--unresolved-symbols=ignore-all
72test_CommonPreparePrologue_unit_LDADD = $(CMOCKA_LIBS)
73test_CommonPreparePrologue_unit_SOURCES = \
Philip Tricca90363cd2016-07-23 15:22:37 -070074 test/CommonPreparePrologue_unit.c sysapi/sysapi_util/CommandUtil.c \
75 sysapi/sysapi/ContextManagement.c
Philip Tricca6f634c42016-07-23 12:32:15 -070076
Philip Tricca364c0ce2016-07-23 16:48:37 -070077test_GetNumHandles_unit_CFLAGS = $(CMOCKA_CFLAGS) \
78 -I$(srcdir)/include -I$(srcdir)/sysapi/include
79test_GetNumHandles_unit_LDADD = $(CMOCKA_LIBS)
80test_GetNumHandles_unit_SOURCES = \
81 test/GetNumHandles_unit.c sysapi/sysapi_util/GetNumHandles.c
82
Philip Tricca2bd4adb2015-09-25 00:14:16 -070083# how to build stuff
Philip Triccafe6b8ae2016-04-22 14:17:10 -070084resourcemgr_resourcemgr_CFLAGS = $(RESOURCEMGR_INC) $(PTHREAD_CFLAGS) $(AM_CFLAGS)
85resourcemgr_resourcemgr_CXXFLAGS = $(RESOURCEMGR_INC) $(PTHREAD_CFLAGS) $(AM_CXXFLAGS)
Philip Tricca826f5902016-05-26 16:44:31 -070086resourcemgr_resourcemgr_LDADD = $(libsapi) $(libtcti_device) $(libtcti_socket)
Philip Tricca00692472015-09-16 13:09:54 -070087resourcemgr_resourcemgr_LDFLAGS = $(PTHREAD_LDFLAGS)
Philip Tricca66f143a2016-04-17 00:09:06 -070088resourcemgr_resourcemgr_SOURCES = $(RESOURCEMGR_C) $(COMMON_SRC)
Philip Tricca10d1aa22015-09-07 10:55:58 -070089
Philip Triccad69337a2016-05-26 16:16:01 -070090sysapi_libsapi_la_CFLAGS = -I$(srcdir)/sysapi/include $(AM_CFLAGS)
91sysapi_libsapi_la_LDFLAGS = $(LIBRARY_LDFLAGS)
92sysapi_libsapi_la_SOURCES = $(SYSAPI_C) $(SYSAPIUTIL_C)
Philip Tricca7d3515f2015-09-07 10:06:56 -070093
Philip Tricca826f5902016-05-26 16:44:31 -070094tcti_libtcti_device_la_CFLAGS = $(TCTIDEVICE_INC) $(AM_CFLAGS)
95tcti_libtcti_device_la_LDFLAGS = $(LIBRARY_LDFLAGS) \
Philip Tricca92fb8a72016-03-31 15:33:57 -070096 -Wl,--version-script=$(srcdir)/tcti/tcti_device.map
Philip Tricca826f5902016-05-26 16:44:31 -070097tcti_libtcti_device_la_SOURCES = $(TCTIDEVICE_C) \
Philip Tricca3d486352016-04-18 11:26:25 -070098 sysapi/sysapi_util/changeEndian.c $(TCTICOMMON_C) common/debug.c
Philip Tricca97e869f2015-11-03 20:19:44 -050099
Philip Triccab0927df2016-06-21 06:28:44 -0700100tcti_libtcti_socket_la_CFLAGS = $(TCTISOCKET_INC) $(AM_CFLAGS)
101tcti_libtcti_socket_la_CXXFLAGS = $(TCTISOCKET_INC) $(AM_CXXFLAGS)
Philip Tricca826f5902016-05-26 16:44:31 -0700102tcti_libtcti_socket_la_LDFLAGS = $(LIBRARY_LDFLAGS) \
Philip Tricca92fb8a72016-03-31 15:33:57 -0700103 -Wl,--version-script=$(srcdir)/tcti/tcti_socket.map
Philip Tricca826f5902016-05-26 16:44:31 -0700104tcti_libtcti_socket_la_SOURCES = $(TCTISOCKET_C) \
Philip Tricca98b285a2016-03-11 20:50:04 -0800105 sysapi/sysapi_util/changeEndian.c $(TCTISOCKET_CXX) $(TCTICOMMON_C) \
Philip Tricca4f2bdd72016-04-22 15:03:27 -0400106 common/sockets.cpp common/debug.c
Philip Triccaa51ca972015-11-04 00:13:42 -0500107
Philip Triccab0927df2016-06-21 06:28:44 -0700108test_tpmclient_tpmclient_CFLAGS = $(TPMCLIENT_INC) $(AM_CFLAGS)
109test_tpmclient_tpmclient_CXXFLAGS = $(TPMCLIENT_INC) $(TCTICOMMON_INC) $(TCTIDEVICE_INC) $(AM_CXXFLAGS)
Philip Tricca826f5902016-05-26 16:44:31 -0700110test_tpmclient_tpmclient_LDADD = $(libsapi) $(libtcti_socket) $(libtcti_device)
Philip Triccaa51ca972015-11-04 00:13:42 -0500111test_tpmclient_tpmclient_SOURCES = $(TPMCLIENT_CXX) $(COMMON_C) $(SAMPLE_C)
Philip Tricca38de2022015-09-07 11:46:28 -0700112
Philip Triccab0927df2016-06-21 06:28:44 -0700113test_tpmtest_tpmtest_CFLAGS = $(TPMTEST_INC) $(AM_CFLAGS)
114test_tpmtest_tpmtest_CXXFLAGS = $(TPMTEST_INC) $(AM_CXXFLAGS)
Philip Tricca826f5902016-05-26 16:44:31 -0700115test_tpmtest_tpmtest_LDADD = $(libsapi) $(libtcti_socket) $(libtcti_device)
Philip Triccaa51ca972015-11-04 00:13:42 -0500116test_tpmtest_tpmtest_SOURCES = $(TPMTEST_CXX) $(COMMON_C) $(SAMPLE_C)
Gang Weie9600692015-09-10 14:07:14 +0800117
Philip Tricca7ae01542016-05-05 18:45:03 -0700118%.pc : %.pc.in
Philip Triccafdce98d2016-05-23 15:47:16 -0700119 if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi
Philip Tricca7ae01542016-05-05 18:45:03 -0700120 sed -e "s,[@]VERSION[@],$(PACKAGE_VERSION),g; \
121 s,[@]includedir[@],$(includedir),g;" $^ > $@
122
Philip Triccab1a64062016-04-05 15:26:47 -0700123LIBRARY_LDFLAGS = -fPIC -Wl,--no-undefined
Philip Tricca125bb322016-03-31 16:11:51 -0700124
Philip Tricca2bd4adb2015-09-25 00:14:16 -0700125# simple variables
Philip Triccac3dedc22016-01-15 13:47:22 -0800126RESOURCEMGR_INC = -I$(srcdir)/include -I$(srcdir)/common \
Philip Tricca785e88d2016-02-13 12:02:44 -0800127 -I$(srcdir)/sysapi/include -I$(srcdir)/resourcemgr \
128 -I$(srcdir)/test/tpmclient
Philip Tricca4c1b4a02016-06-21 05:44:51 -0700129RESOURCEMGR_C = resourcemgr/resourcemgr.c resourcemgr/criticalsection_linux.c \
130 resourcemgr/getcommands.c
Philip Tricca10d1aa22015-09-07 10:55:58 -0700131
Philip Tricca785e88d2016-02-13 12:02:44 -0800132TCTICOMMON_INC = -I$(srcdir)/include -I$(srcdir)/common \
133 -I$(srcdir)/sysapi/include
134TCTICOMMON_C = tcti/commonchecks.c
Will-nuc8d4f9672015-11-25 16:48:20 -0500135
Philip Tricca785e88d2016-02-13 12:02:44 -0800136TCTIDEVICE_INC = $(TCTICOMMON_INC)
137TCTIDEVICE_C = tcti/tcti_device.c
Will-nucf2ea1f12015-11-25 16:29:57 -0500138
Philip Tricca785e88d2016-02-13 12:02:44 -0800139TCTISOCKET_INC = $(TCTICOMMON_INC)
140TCTISOCKET_C = tcti/platformcommand.c
141TCTISOCKET_CXX = tcti/tcti_socket.cpp
Philip Tricca97e869f2015-11-03 20:19:44 -0500142
Philip Triccac3dedc22016-01-15 13:47:22 -0800143TPMCLIENT_INC = -I$(srcdir)/include -I$(srcdir)/sysapi/include \
Philip Tricca2bd4adb2015-09-25 00:14:16 -0700144 -I$(srcdir)/test/tpmclient -I$(srcdir)/common \
Philip Triccae2c16792016-01-05 12:07:22 -0800145 -I$(srcdir)/test/common/sample -I$(srcdir)/resourcemgr
Philip Tricca2bd4adb2015-09-25 00:14:16 -0700146TPMCLIENT_CXX = test/tpmclient/tpmclient.cpp
Philip Triccae690e082015-09-07 18:17:35 -0700147
Philip Triccac3dedc22016-01-15 13:47:22 -0800148TPMTEST_INC = -I$(srcdir)/include -I$(srcdir)/sysapi/include \
Philip Tricca2bd4adb2015-09-25 00:14:16 -0700149 -I$(srcdir)/test/tpmclient -I$(srcdir)/common \
Gang Weie9600692015-09-10 14:07:14 +0800150 -I$(srcdir)/test/common/sample -I$(srcdir)/resourcemgr
Philip Tricca2bd4adb2015-09-25 00:14:16 -0700151TPMTEST_CXX = test/tpmtest/tpmtest.cpp
152
Philip Triccad69337a2016-05-26 16:16:01 -0700153libsapi = sysapi/libsapi.la
Philip Tricca826f5902016-05-26 16:44:31 -0700154libtcti_device = tcti/libtcti-device.la
155libtcti_socket = tcti/libtcti-socket.la
Philip Tricca2bd4adb2015-09-25 00:14:16 -0700156resourcemgr = resourcemgr/resourcemgr
157tpmclient = test/tpmclient/tpmclient
158tpmtest = test/tpmtest/tpmtest