Chris@38
|
1
|
Chris@38
|
2 LIBRARY_EXT ?= .so
|
Chris@38
|
3 LIBRARY ?= vampyhost$(LIBRARY_EXT)
|
Chris@38
|
4 CXX ?= g++
|
Chris@38
|
5 CC ?= gcc
|
Chris@38
|
6
|
Chris@52
|
7 SRC_DIR := native
|
Chris@120
|
8 VAMP_DIR := vamp-plugin-sdk
|
Chris@52
|
9
|
Chris@103
|
10 PLUGIN_EXT ?= $(LIBRARY_EXT)
|
Chris@103
|
11 TESTPLUG_DIR := test/vamp-test-plugin
|
Chris@103
|
12 TESTPLUG := $(TESTPLUG_DIR)/vamp-test-plugin$(PLUGIN_EXT)
|
Chris@103
|
13
|
Chris@52
|
14 HEADERS := $(SRC_DIR)/PyPluginObject.h $(SRC_DIR)/PyRealTime.h $(SRC_DIR)/FloatConversion.h $(SRC_DIR)/VectorConversion.h
|
Chris@120
|
15
|
Chris@52
|
16 SOURCES := $(SRC_DIR)/PyPluginObject.cpp $(SRC_DIR)/PyRealTime.cpp $(SRC_DIR)/VectorConversion.cpp $(SRC_DIR)/vampyhost.cpp
|
Chris@70
|
17
|
Chris@120
|
18 VAMP_SOURCES := $(wildcard $(VAMP_DIR)/src/vamp-hostsdk/*.cpp)
|
Chris@120
|
19
|
Chris@70
|
20 PY := $(wildcard vamp/*.py)
|
Chris@62
|
21 TESTS := $(wildcard test/test_*.py)
|
Chris@38
|
22
|
Chris@120
|
23 OBJECTS := $(SOURCES:.cpp=.o) $(VAMP_SOURCES:.cpp=.o)
|
Chris@38
|
24 OBJECTS := $(OBJECTS:.c=.o)
|
Chris@38
|
25
|
Chris@120
|
26 CXXFLAGS += -I$(VAMP_DIR)
|
Chris@120
|
27
|
Chris@107
|
28 default: $(LIBRARY)
|
Chris@107
|
29
|
Chris@62
|
30 all: $(LIBRARY) .tests
|
Chris@62
|
31
|
Chris@103
|
32 .tests: $(LIBRARY) $(PY) $(TESTPLUG) $(TESTS)
|
Chris@103
|
33 VAMP_PATH=$(TESTPLUG_DIR) $(NOSE)
|
Chris@62
|
34 @touch $@
|
Chris@112
|
35
|
Chris@112
|
36 .PHONY: test
|
Chris@119
|
37 test: $(LIBRARY) $(PY) $(TESTPLUG) $(TESTS)
|
Chris@107
|
38 VAMP_PATH=$(TESTPLUG_DIR) $(NOSE)
|
Chris@107
|
39
|
Chris@107
|
40 $(LIBRARY): $(OBJECTS)
|
Chris@107
|
41 $(CXX) -o $@ $^ $(LDFLAGS)
|
Chris@38
|
42
|
Chris@103
|
43 $(TESTPLUG):
|
Chris@120
|
44 $(MAKE) -C $(TESTPLUG_DIR) -f Makefile$(MAKEFILE_EXT) VAMPSDK_DIR=../$(VAMP_DIR)
|
Chris@103
|
45
|
Chris@38
|
46 clean:
|
Chris@103
|
47 $(MAKE) -C $(TESTPLUG_DIR) -f Makefile$(MAKEFILE_EXT) clean
|
Chris@108
|
48 rm -f $(OBJECTS) .tests
|
Chris@38
|
49
|
Chris@38
|
50 distclean: clean
|
Chris@103
|
51 $(MAKE) -C $(TESTPLUG_DIR) -f Makefile$(MAKEFILE_EXT) distclean
|
Chris@38
|
52 rm -f $(LIBRARY)
|
Chris@38
|
53
|
Chris@38
|
54 depend:
|
Chris@103
|
55 $(MAKE) -C $(TESTPLUG_DIR) -f Makefile$(MAKEFILE_EXT) depend
|
Chris@103
|
56 makedepend -Y -fMakefile.inc $(SOURCES) $(HEADERS)
|
Chris@38
|
57
|
Chris@38
|
58 # DO NOT DELETE
|
Chris@38
|
59
|
Chris@52
|
60 native/PyPluginObject.o: native/PyPluginObject.h native/FloatConversion.h
|
Chris@112
|
61 native/PyPluginObject.o: native/VectorConversion.h native/StringConversion.h
|
Chris@112
|
62 native/PyPluginObject.o: native/PyRealTime.h
|
Chris@52
|
63 native/PyRealTime.o: native/PyRealTime.h
|
Chris@112
|
64 native/VectorConversion.o: native/VectorConversion.h native/FloatConversion.h
|
Chris@112
|
65 native/VectorConversion.o: native/StringConversion.h
|
Chris@52
|
66 native/vampyhost.o: native/PyRealTime.h native/PyPluginObject.h
|
Chris@112
|
67 native/vampyhost.o: native/VectorConversion.h native/StringConversion.h
|