blob: 396f5ad3f0a698deed2cba720fd9bc8d323b5890 [file] [log] [blame]
Valerio Setti4362aae2024-05-09 09:15:39 +02001CFLAGS += -Wall -Werror -std=c99 -D_XOPEN_SOURCE=1 -D_POSIX_C_SOURCE=200809L
Valerio Setti4f4ade92024-05-03 17:28:04 +02002
3ifeq ($(DEBUG),1)
Valerio Settic98f8ab2024-05-10 15:53:40 +02004CFLAGS += -DDEBUG -O0 -g
Valerio Setti4f4ade92024-05-03 17:28:04 +02005endif
6
Valerio Setticd89c1f2024-05-10 11:21:04 +02007LIBPSACLIENT := -Llibpsaclient/ -lmbedcrypto -lmbedx509 -lmbedtls
8LIBPSASERVER := -Llibpsaserver/ -lmbedcrypto
Valerio Setti4f4ade92024-05-03 17:28:04 +02009
Valerio Setticd89c1f2024-05-10 11:21:04 +020010MBEDTLS_ROOT_PATH = ../../..
11COMMON_INCLUDE := -I./include -I$(MBEDTLS_ROOT_PATH)/include
Valerio Setti66fb1c12024-05-10 06:51:16 +020012
13TEST_BIN = test/psa_client \
14 test/psa_partition
15
16GENERATED_H_FILES = include/psa_manifest/manifest.h \
17 include/psa_manifest/pid.h \
18 include/psa_manifest/sid.h
19
20PSA_CLIENT_SRC = src/psa_ff_client.c \
21 src/client.c
22
23PARTITION_SERVER_BOOTSTRAP = src/psa_ff_bootstrap_TEST_PARTITION.c
24
25PSA_SERVER_SRC = $(PARTITION_SERVER_BOOTSTRAP) \
26 src/psa_ff_server.c
27
Valerio Setticd89c1f2024-05-10 11:21:04 +020028.PHONY: all clean libpsaclient libpsaserver
Valerio Setti66fb1c12024-05-10 06:51:16 +020029
30all: $(TEST_BIN)
31
Valerio Setti87d99fb2024-05-14 10:57:35 +020032test/seedfile:
33 dd if=/dev/urandom of=./test/seedfile bs=64 count=1
34
Valerio Setti66fb1c12024-05-10 06:51:16 +020035test/psa_client: $(PSA_CLIENT_SRC) $(GENERATED_H_FILES)
Valerio Setticd89c1f2024-05-10 11:21:04 +020036 $(CC) $(COMMON_INCLUDE) $(CFLAGS) $(PSA_CLIENT_SRC) $(LIBPSACLIENT) $(LDFLAGS) -o $@
Valerio Setti66fb1c12024-05-10 06:51:16 +020037
Valerio Setti87d99fb2024-05-14 10:57:35 +020038test/psa_partition: $(PSA_SERVER_SRC) $(GENERATED_H_FILES) test/seedfile
Valerio Setticd89c1f2024-05-10 11:21:04 +020039 $(CC) $(COMMON_INCLUDE) $(CFLAGS) $(PSA_SERVER_SRC) $(LIBPSASERVER) $(LDFLAGS) -o $@
Valerio Setti66fb1c12024-05-10 06:51:16 +020040
41$(PARTITION_SERVER_BOOTSTRAP) $(GENERATED_H_FILES): src/manifest.json src/server.c
42 tools/psa_autogen.py src/manifest.json
Valerio Setti4f4ade92024-05-03 17:28:04 +020043
Valerio Setticd89c1f2024-05-10 11:21:04 +020044# Build MbedTLS libraries (crypto, x509 and tls) and copy them locally to
45# build client/server applications.
46#
47# Note: these rules assume that mbedtls_config.h is already configured by all.sh.
48# If not using all.sh then the user must do it manually.
49libpsaclient libpsaserver:
50 $(MAKE) -C $(MBEDTLS_ROOT_PATH)/library CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" libmbedcrypto.a libmbedx509.a libmbedtls.a
51 mkdir -p $@
52 cp $(MBEDTLS_ROOT_PATH)/library/libmbed*.a $@/
53 $(MAKE) -C $(MBEDTLS_ROOT_PATH) clean
54
Valerio Setti4f4ade92024-05-03 17:28:04 +020055clean:
Valerio Setti66fb1c12024-05-10 06:51:16 +020056 rm -f $(TEST_BIN)
57 rm -f $(PARTITION_SERVER_BOOTSTRAP)
Valerio Setticd89c1f2024-05-10 11:21:04 +020058 rm -rf libpsaclient libpsaserver
Valerio Setti66fb1c12024-05-10 06:51:16 +020059 rm -rf include/psa_manifest
60 rm -f test/psa_service_* test/psa_notify_*
Valerio Setti237a64e2024-05-10 12:32:10 +020061 rm -r test/*.log
Valerio Setti87d99fb2024-05-14 10:57:35 +020062 rm test/seedfile
Valerio Setti4f4ade92024-05-03 17:28:04 +020063