1# Copyright Siemens AG 2014-2015
2#
3# Copying and distribution of this file, with or without modification,
4# are permitted in any medium without royalty provided the copyright
5# notice and this notice are preserved.  This file is offered as-is,
6# without any warranty.
7
8TOP = ../../../..
9VARS = $(TOP)/Makefile.conf
10include $(VARS)
11
12LOCALAGENTDIR = ../../agent
13# -Werror -Wextra
14CXXFLAGS_LOCAL = $(FO_CXXFLAGS) -I. -Wall -I$(LOCALAGENTDIR) -fopenmp \
15                $(shell pkg-config --cflags jsoncpp icu-uc)
16DEF = -DDATADIR='"$(MODDIR)"'
17CONFDIR = $(DESTDIR)$(SYSCONFDIR)
18CXXFLAGS_LINK = -lboost_regex -lboost_program_options $(FO_CXXLDFLAGS) -lm \
19                -lstdc++ -lcppunit -ldl -fopenmp \
20                $(shell pkg-config --libs icu-uc)
21
22EXE = test_copyright
23
24OBJECTS = test_regex.o test_scanners.o test_regexConfProvider.o
25OBJECTS_ACC = test_accuracy.o
26COVERAGE =
27
28$(EXE): agent $(OBJECTS) libcopyright.a run_tests.cc
29	$(CXX) run_tests.cc -o $@ $(OBJECTS) $(LOCALAGENTDIR)/libcopyright.a $(CXXFLAGS_LINK)
30
31all: $(CXXFOLIB) $(EXE)
32
33$(CXXFOLIB):
34	$(MAKE) -C $(CXXFOLIBDIR)
35
36agent:
37	$(MAKE) -C $(LOCALAGENTDIR)
38
39libcopyright.a: $(OBJECTS)
40	$(MAKE) -C $(LOCALAGENTDIR) $@
41
42libcopyright_cov.a: $(COVERAGE)
43	$(MAKE) -C $(LOCALAGENTDIR) $@
44
45%.o: %.cc
46	$(CXX) -c $(CXXFLAGS_LOCAL) $(DEF) $<
47
48$(COVERAGE): %_cov.o: %.c
49	$(CXX) -c $< $(CXXFLAGS_LOCAL) $(FLAG_COV) $(DEF) $(DEFS) -o $@
50
51test: all
52	./$(EXE)
53
54coverage: agent run_tests.cc $(OBJECTS) libcopyright_cov.a
55	$(CXX) run_tests.cc -o $(EXE) $(OBJECTS) $(LOCALAGENTDIR)/libcopyright_cov.a $(CFLAGS_LOCAL) $(CXXFLAGS_LINK) $(FLAG_COV); \
56	./$(EXE)
57
58accuracy: agent run_tests.cc $(OBJECTS_ACC) libcopyright.a
59	$(CXX) run_tests.cc -o $(EXE) $(OBJECTS_ACC) $(LOCALAGENTDIR)/libcopyright.a $(CFLAGS_LOCAL) $(CXXFLAGS_LINK); \
60	./$(EXE)
61
62clean:
63	rm -rf $(EXE) $(EXE)_cov *.o *.a *.gcno *.gcda core results
64
65.PHONY: all test coverage clean
66