#!/usr/bin/make -f #define path variables IPP_INCLUDE_DIR = ../../ext/ipp/sources/ippcp/src GTEST_INCLUDE_DIR = ../../ext LIB_INSTALL_DIR = $(epidinstalldir)/lib/posix-$(ARCH)/ TEST_INSTALL_DIR = $(epidinstalldir)/test/ HEADERS_INSTALL_DIR := $(epidinstalldir)/include/epid/common/ HEADERS_11_INSTALL_DIR := $(epidinstalldir)/include/epid/common/1.1 API_HEADERS_INSTALL = $(wildcard ./*.h) API_11_HEADERS_INSTALL = $(wildcard ./1.1/*.h) COMMON_INCLUDE_DIR = ../../ COMMON_MATH_INCLUDE_DIR = ./math COMMON_SRC = $(wildcard ./src/*.c) COMMON_SRC += $(wildcard ./math/src/*.c) COMMON_SRC += $(wildcard ./1.1/src/*.c) COMMON_OBJ = $(COMMON_SRC:.c=.o) COMMON_LIB = ./libcommon.a COMMON_UTEST_EXE = ./common-utest$(EXE_EXTENSION) COMMON_UTEST_SRC = $(wildcard ./math/unittests/*.cc) COMMON_UTEST_SRC += $(wildcard ./unittests/*.cc) COMMON_UTEST_SRC += $(wildcard ./1.1/unittests/*.cc) COMMON_UTEST_OBJ = $(COMMON_UTEST_SRC:.cc=.o) LIB_COMMON_DIR = . LIB_COMMON_TESTHELPER_DIR = ../common-testhelper LIB_IPPCP_DIR = ../../ext/ipp/sources/ippcp/src #set flags for linker LDFLAGS += -L$(GTEST_INCLUDE_DIR)/gtest -L$(LIB_COMMON_TESTHELPER_DIR) \ -L$(LIB_COMMON_DIR) -L$(LIB_IPPCP_DIR) \ -lgtest -lcommon-testhelper -lcommon -lippcp #target part $(COMMON_OBJ): %.o: %.c $(CC) $(CFLAGS) -I$(IPP_INCLUDE_DIR) -I$(COMMON_MATH_INCLUDE_DIR) -I$(COMMON_INCLUDE_DIR) -c $^ -o $@ $(COMMON_LIB): $(COMMON_OBJ) $(AR) rc $(COMMON_LIB) $(COMMON_OBJ) $(RANLIB) $(COMMON_LIB) $(COMMON_UTEST_EXE): $(COMMON_UTEST_OBJ) $(CXX) -o $@ $^ $(LDFLAGS) $(COMMON_UTEST_OBJ): %.o: %.cc $(CXX) -o $@ $(CXXFLAGS) $(GTEST_DEFINES) -I$(COMMON_INCLUDE_DIR) -I$(GTEST_INCLUDE_DIR) -c $^ build: all all: $(COMMON_LIB) install: mkdir -p '$(LIB_INSTALL_DIR)' mkdir -p '$(HEADERS_INSTALL_DIR)' mkdir -p '$(HEADERS_11_INSTALL_DIR)' cp $(COMMON_LIB) '$(LIB_INSTALL_DIR)' cp $(API_HEADERS_INSTALL) '$(HEADERS_INSTALL_DIR)' cp $(API_11_HEADERS_INSTALL) '$(HEADERS_11_INSTALL_DIR)' #install tests if they exist ifneq (,$(wildcard $(COMMON_UTEST_EXE))) mkdir -p '$(TEST_INSTALL_DIR)' cp $(COMMON_UTEST_EXE) '$(TEST_INSTALL_DIR)' endif utest: $(COMMON_UTEST_EXE) run_utest: $(COMMON_UTEST_EXE) $(GTEST_FLAGS) check: utest run_utest clean: rm -f $(COMMON_OBJ) \ $(COMMON_LIB) \ $(COMMON_UTEST_OBJ) \ $(COMMON_UTEST_EXE) \ *.xml