#!/usr/bin/make -f
#define variables
IPP_API_INCLUDE_DIR = ../ext/ipp/include
EXAMPLE_INSTALL_DIR = $(epidinstalldir)/example
COMPRESSED_DEFAULT_FILES_INSTALL_DIR = $(epidinstalldir)/compressed_example
SIGNMSG_INCLUDE_DIR = ./signmsg
SIGNMSG_SRC = $(wildcard ./signmsg/src/*.c)
SIGNMSG_OBJ = $(SIGNMSG_SRC:.c=.o)
SIGNMSG_EXE = ./signmsg/src/signmsg$(EXE_EXTENSION)
VERIFYSIG_INCLUDE_DIR = ./verifysig
VERIFYSIG_SRC = $(wildcard ./verifysig/src/*.c)
VERIFYSIG_OBJ = $(VERIFYSIG_SRC:.c=.o)
VERIFYSIG_EXE = ./verifysig/src/verifysig$(EXE_EXTENSION)
LIB_UTIL_DIR = ./util/src
LIB_ARGTABLE_DIR = ../ext/argtable3
LIB_IPPCP_DIR = ../ext/ipp/sources/ippcp/src
LIB_MEMBER_DIR = ../epid/member
LIB_VERIFIER_DIR = ../epid/verifier
LIB_COMMON_DIR = ../epid/common
#set linker flags
LDFLAGS += -L$(LIB_UTIL_DIR) \
-L$(LIB_ARGTABLE_DIR) \
-L$(LIB_IPPCP_DIR) \
-L$(LIB_COMMON_DIR) \
-lcommon \
-lippcp -lutil -largtable3
ifneq ($(TSS_PATH),)
LDFLAGS += -L$(TSS_PATH) -ltss -lcrypto
endif
ifneq ($(TINY),)
LDFLAGS += -L$(LIB_MEMBER_DIR) -lmath -ltiny_stdlib
endif
$(VERIFYSIG_EXE): $(VERIFYSIG_OBJ)
$(CC) -o $@ $^ -L$(LIB_VERIFIER_DIR) -lverifier $(LDFLAGS)
$(VERIFYSIG_OBJ): %.o: %.c
$(CC) -o $@ $(CFLAGS) -I$(LIB_UTIL_DIR)/../.. \
-I$(LIB_ARGTABLE_DIR) \
-I$(LIB_VERIFIER_DIR)/../.. \
-I$(VERIFYSIG_INCLUDE_DIR) \
-I$(IPP_API_INCLUDE_DIR) -c $^
$(SIGNMSG_EXE): $(SIGNMSG_OBJ)
$(CC) -o $@ $^ -L$(LIB_MEMBER_DIR) -lmember $(LDFLAGS)
$(SIGNMSG_OBJ): %.o: %.c
$(CC) -o $@ $(CFLAGS) -I$(LIB_UTIL_DIR)/../.. \
-I$(LIB_ARGTABLE_DIR) \
-I$(LIB_MEMBER_DIR)/../.. \
-I$(SIGNMSG_INCLUDE_DIR) \
-I$(IPP_API_INCLUDE_DIR) -c $^
#target part
build: all install
all: $(VERIFYSIG_EXE) $(SIGNMSG_EXE)
install:
mkdir -p '$(EXAMPLE_INSTALL_DIR)/data'
cp -r ./data/group* ./data/grprl_empty.bin \
./data/*.md '$(EXAMPLE_INSTALL_DIR)/data'
cp ./data/cacert.bin ./data/grprl.bin \
./data/privrl.bin ./data/sigrl.bin \
./data/mprivkey.dat ./data/pubkey.bin \
'$(EXAMPLE_INSTALL_DIR)'
mkdir -p '$(EXAMPLE_INSTALL_DIR)/compressed_data'
cp -r ./compressed_data/group* ./compressed_data/grprl_empty.bin \
./compressed_data/*.md '$(EXAMPLE_INSTALL_DIR)/compressed_data'
mkdir -p '$(COMPRESSED_DEFAULT_FILES_INSTALL_DIR)'
cp ./compressed_data/cacert.bin ./compressed_data/grprl.bin \
./compressed_data/privrl.bin ./compressed_data/sigrl.bin \
./compressed_data/mprivkey.dat ./compressed_data/pubkey.bin \
'$(COMPRESSED_DEFAULT_FILES_INSTALL_DIR)'
cp $(VERIFYSIG_EXE) $(SIGNMSG_EXE) '$(EXAMPLE_INSTALL_DIR)'
clean:
rm -f $(VERIFYSIG_OBJ) \
$(VERIFYSIG_EXE) \
$(SIGNMSG_OBJ) \
$(SIGNMSG_EXE)