| CFLAGS += -Wall -Werror -std=c99 -D_XOPEN_SOURCE=1 -D_POSIX_C_SOURCE=200809L |
| |
| ifeq ($(DEBUG),1) |
| override CFLAGS += -DDEBUG -O0 -g |
| endif |
| |
| CLIENT_LIBS := -Lclient_libs -lpsaclient -lmbedtls -lmbedx509 -lmbedcrypto |
| SERVER_LIBS := -Lserver_libs -lmbedcrypto |
| |
| MBEDTLS_ROOT_PATH = ../../.. |
| COMMON_INCLUDE := -I./include -I$(MBEDTLS_ROOT_PATH)/include \ |
| -I$(MBEDTLS_ROOT_PATH)/tf-psa-crypto/include \ |
| -I$(MBEDTLS_ROOT_PATH)/tf-psa-crypto/drivers/builtin/include |
| |
| GENERATED_H_FILES = include/psa_manifest/manifest.h \ |
| include/psa_manifest/pid.h \ |
| include/psa_manifest/sid.h |
| |
| LIBPSACLIENT_SRC = src/psa_ff_client.c \ |
| src/psa_sim_crypto_client.c \ |
| src/psa_sim_serialise.c |
| LIBPSACLIENT_OBJS=$(LIBPSACLIENT_SRC:.c=.o) |
| |
| PSA_CLIENT_BASE_SRC = $(LIBPSACLIENT_SRC) src/client.c |
| |
| PSA_CLIENT_FULL_SRC = $(LIBPSACLIENT_SRC) \ |
| $(wildcard src/aut_*.c) |
| |
| PARTITION_SERVER_BOOTSTRAP = src/psa_ff_bootstrap_TEST_PARTITION.c |
| |
| PSA_SERVER_SRC = $(PARTITION_SERVER_BOOTSTRAP) \ |
| src/psa_ff_server.c \ |
| src/psa_sim_crypto_server.c \ |
| src/psa_sim_serialise.c |
| |
| .PHONY: all clean client_libs server_libs |
| |
| all: |
| |
| test/seedfile: |
| dd if=/dev/urandom of=./test/seedfile bs=64 count=1 |
| |
| src/%.o: src/%.c $(GENERATED_H_FILES) |
| $(CC) $(COMMON_INCLUDE) $(CFLAGS) -c $< $(LDFLAGS) -o $@ |
| |
| client_libs/libpsaclient: $(LIBPSACLIENT_OBJS) |
| mkdir -p client_libs |
| $(AR) -src client_libs/libpsaclient.a $(LIBPSACLIENT_OBJS) |
| |
| test/psa_client_base: $(PSA_CLIENT_BASE_SRC) $(GENERATED_H_FILES) test/seedfile |
| $(CC) $(COMMON_INCLUDE) $(CFLAGS) $(PSA_CLIENT_BASE_SRC) $(CLIENT_LIBS) $(LDFLAGS) -o $@ |
| |
| test/psa_client_full: $(PSA_CLIENT_FULL_SRC) $(GENERATED_H_FILES) test/seedfile |
| $(CC) $(COMMON_INCLUDE) $(CFLAGS) $(PSA_CLIENT_FULL_SRC) $(CLIENT_LIBS) $(LDFLAGS) -o $@ |
| |
| test/psa_server: $(PSA_SERVER_SRC) $(GENERATED_H_FILES) |
| $(CC) $(COMMON_INCLUDE) $(CFLAGS) $(PSA_SERVER_SRC) $(SERVER_LIBS) $(LDFLAGS) -o $@ |
| |
| $(PARTITION_SERVER_BOOTSTRAP) $(GENERATED_H_FILES): src/manifest.json src/server.c |
| tools/psa_autogen.py src/manifest.json |
| |
| # Build MbedTLS libraries (crypto, x509 and tls) and copy them locally to |
| # build client/server applications. |
| # |
| # Note: these rules assume that mbedtls_config.h is already configured by all.sh. |
| # If not using all.sh then the user must do it manually. |
| client_libs: client_libs/libpsaclient |
| client_libs server_libs: |
| $(MAKE) -C $(MBEDTLS_ROOT_PATH)/library CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" libmbedcrypto.a libmbedx509.a libmbedtls.a |
| mkdir -p $@ |
| cp $(MBEDTLS_ROOT_PATH)/library/libmbed*.a $@/ |
| |
| clean_server_intermediate_files: |
| rm -f $(PARTITION_SERVER_BOOTSTRAP) |
| rm -rf include/psa_manifest |
| |
| clean: clean_server_intermediate_files |
| rm -f test/psa_client_base test/psa_client_full test/psa_server |
| rm -rf client_libs server_libs |
| rm -f test/psa_service_* test/psa_notify_* test/*.log |
| rm -f test/seedfile |