-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathrules.mk
More file actions
59 lines (48 loc) · 2.22 KB
/
rules.mk
File metadata and controls
59 lines (48 loc) · 2.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# rules:
CXXFLAGS += -I../external_libs/$(BUILD_DIR)/include $(GCCCOVFLAGS)
LDLIBS += -L../external_libs/$(BUILD_DIR)/lib64 -L../external_libs/$(BUILD_DIR)/lib $(COVLIBS)
LDFLAGS += $(LDCOVFLAGS)
build: build/.directory
%/.directory:
mkdir -p $*
touch $@
unit-tests: execute-unit-tests $(patsubst %,%-subdir-unit-tests,$(SUBDIRS))
$(patsubst %,%-subdir-unit-tests,$(SUBDIRS)):
$(MAKE) -C $(@:-subdir-unit-tests=) unit-tests
execute-unit-tests: $(BUILD_DIR)/unit-test-runner
pwd;if [ -x $< ]; then LD_LIBRARY_PATH=./build:../libtascar/build DYLD_LIBRARY_PATH=./build:../libtascar/build $<; fi
unit_tests_test_files = $(wildcard $(SOURCE_DIR)/*_unit_tests.cc)
$(BUILD_DIR)/unit-test-runner: CXXFLAGS += -I../libtascar/src -I../libtascar/build
$(BUILD_DIR)/unit-test-runner: CPPFLAGS += -I../libtascar/src -I../libtascar/build
$(BUILD_DIR)/unit-test-runner: LDFLAGS += -L../libtascar/build
LSLCFLAGS =
LSLLIBS = -llsl
ifeq ($(OS),Windows_NT)
CXXFLAGS += -DISWINDOWS
LIBTASCARDLL=../libtascar/$(BUILD_DIR)/libtascar.dll
else
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Linux)
LIBTASCARDLL=../libtascar/$(BUILD_DIR)/libtascar.so
CXXFLAGS += -DISLINUX
BINFILES += tascar_hdspmixer
endif
ifeq ($(UNAME_S),Darwin)
#BREWPREFIX := $(shell brew --prefix)
BREWPREFIX = /opt/homebrew
LIBTASCARDLL=../libtascar/$(BUILD_DIR)/libtascar.dylib
CXXFLAGS += -I/opt/homebrew/include -DISMACOS
CPPFLAGS += -I/opt/homebrew/include
LDFLAGS += -L/opt/homebrew/lib
LSLFLAGSFIND := $(addprefix -I,$(dir $(shell find /opt/homebrew/ -name lsl_cpp.h)))
CXXFLAGS += $(LSLFLAGSFIND)
# LDFLAGS += -F/opt/homebrew/Cellar/lsl/1.17.4/Frameworks -framework lsl
# $(addprefix -I,$(dir $(shell find /opt/homebrew/ -name lsl_cpp.h)))
# -framework Lsl
LSLCFLAGS = -I$(BREWPREFIX)/Frameworks/lsl.framework/Headers
LSLLIBS = -F$(BREWPREFIX)/Frameworks/ -framework lsl
CXXFLAGS += $(LSLCFLAGS)
endif
endif
$(BUILD_DIR)/unit-test-runner: $(BUILD_DIR)/.directory $(unit_tests_test_files) $(patsubst %_unit_tests.cpp, %.cpp , $(unit_tests_test_files))
if test -n "$(unit_tests_test_files)"; then $(CXX) $(CXXFLAGS) --coverage -o $@ $(wordlist 2, $(words $^), $^) $(LDFLAGS) $(LIBTASCARDLL) $(LDLIBS) -L../external_libs/googletest/lib/ -lgmock_main -lgmock -lgtest_main -lgtest -lpthread; fi