Mercurial > hg > vamp-plugin-sdk
comparison Makefile @ 59:fa79c4ec847d host-factory-stuff
* Put hostext stuff in the HostExt sub-namespace
* Tidy up system-specific stuff in PluginLoader
* Make PluginLoader return a deletion-notifying wrapper which permits the
library to be unloaded when no longer in use
* Add PluginChannelAdapter
* Make vamp-simple-host use PluginChannelAdapter, and use the PluginLoader
for plugin-running task. Also some other enhancements to host
author | cannam |
---|---|
date | Thu, 24 May 2007 15:17:07 +0000 |
parents | 0284955e31e5 |
children | 97c5ac99d725 |
comparison
equal
deleted
inserted
replaced
58:0284955e31e5 | 59:fa79c4ec847d |
---|---|
1 | 1 |
2 # Makefile for the Vamp plugin SDK. This builds the SDK objects, | 2 # Makefile for the Vamp plugin SDK. This builds the SDK objects, |
3 # libraries, example plugins, and the test host. Please adjust to | 3 # libraries, example plugins, and the test host. Please adjust to |
4 # suit your operating system requirements. | 4 # suit your operating system requirements. |
5 | |
6 ## Choose your | |
7 | 5 |
8 APIDIR = vamp | 6 APIDIR = vamp |
9 SDKDIR = vamp-sdk | 7 SDKDIR = vamp-sdk |
10 HOSTEXTDIR = vamp-sdk/hostext | 8 HOSTEXTDIR = vamp-sdk/hostext |
11 EXAMPLEDIR = examples | 9 EXAMPLEDIR = examples |
27 # | 25 # |
28 default: all | 26 default: all |
29 | 27 |
30 # Compile flags | 28 # Compile flags |
31 # | 29 # |
32 CXXFLAGS := $(CXXFLAGS) -O2 -Wall -I$(SDKDIR) -I$(HOSTEXTDIR) -I$(APIDIR) -I. | 30 CXXFLAGS := $(CXXFLAGS) -g -Wall -I. |
33 | 31 |
34 # Libraries required for the plugins. | 32 # Libraries required for the plugins. |
35 # (Note that it is desirable to statically link libstdc++ if possible, | 33 # (Note that it is desirable to statically link libstdc++ if possible, |
36 # because our plugin exposes only a C API so there are no boundary | 34 # because our plugin exposes only a C API so there are no boundary |
37 # compatibility problems.) | 35 # compatibility problems.) |
92 | 90 |
93 HOSTSDK_HEADERS = \ | 91 HOSTSDK_HEADERS = \ |
94 $(SDKDIR)/Plugin.h \ | 92 $(SDKDIR)/Plugin.h \ |
95 $(SDKDIR)/PluginBase.h \ | 93 $(SDKDIR)/PluginBase.h \ |
96 $(SDKDIR)/PluginHostAdapter.h \ | 94 $(SDKDIR)/PluginHostAdapter.h \ |
95 $(HOSTEXTDIR)/PluginChannelAdapter.h \ | |
97 $(HOSTEXTDIR)/PluginInputDomainAdapter.h \ | 96 $(HOSTEXTDIR)/PluginInputDomainAdapter.h \ |
98 $(HOSTEXTDIR)/PluginLoader.h \ | 97 $(HOSTEXTDIR)/PluginLoader.h \ |
99 $(HOSTEXTDIR)/PluginWrapper.h \ | 98 $(HOSTEXTDIR)/PluginWrapper.h \ |
100 $(SDKDIR)/RealTime.h | 99 $(SDKDIR)/RealTime.h |
101 | 100 |
103 $(SDKDIR)/PluginAdapter.o \ | 102 $(SDKDIR)/PluginAdapter.o \ |
104 $(SDKDIR)/RealTime.o | 103 $(SDKDIR)/RealTime.o |
105 | 104 |
106 HOSTSDK_OBJECTS = \ | 105 HOSTSDK_OBJECTS = \ |
107 $(SDKDIR)/PluginHostAdapter.o \ | 106 $(SDKDIR)/PluginHostAdapter.o \ |
107 $(HOSTEXTDIR)/PluginChannelAdapter.o \ | |
108 $(HOSTEXTDIR)/PluginInputDomainAdapter.o \ | 108 $(HOSTEXTDIR)/PluginInputDomainAdapter.o \ |
109 $(HOSTEXTDIR)/PluginLoader.o \ | 109 $(HOSTEXTDIR)/PluginLoader.o \ |
110 $(HOSTEXTDIR)/PluginWrapper.o \ | 110 $(HOSTEXTDIR)/PluginWrapper.o \ |
111 $(SDKDIR)/RealTime.o | 111 $(SDKDIR)/RealTime.o |
112 | 112 |
150 HOST_TARGET = \ | 150 HOST_TARGET = \ |
151 $(HOSTDIR)/vamp-simple-host | 151 $(HOSTDIR)/vamp-simple-host |
152 | 152 |
153 sdk: $(SDK_STATIC) $(SDK_DYNAMIC) $(HOSTSDK_STATIC) $(HOSTSDK_DYNAMIC) | 153 sdk: $(SDK_STATIC) $(SDK_DYNAMIC) $(HOSTSDK_STATIC) $(HOSTSDK_DYNAMIC) |
154 | 154 |
155 plugins: sdk $(PLUGIN_TARGET) | 155 plugins: $(PLUGIN_TARGET) |
156 | 156 |
157 host: sdk $(HOST_TARGET) | 157 host: $(HOST_TARGET) |
158 | 158 |
159 all: sdk plugins host test | 159 all: sdk plugins host test |
160 | 160 |
161 $(SDK_STATIC): $(SDK_OBJECTS) $(API_HEADERS) $(SDK_HEADERS) | 161 $(SDK_STATIC): $(SDK_OBJECTS) $(API_HEADERS) $(SDK_HEADERS) |
162 $(AR) r $@ $(SDK_OBJECTS) | 162 $(AR) r $@ $(SDK_OBJECTS) |
168 $(CXX) $(LDFLAGS) $(PLUGIN_LDFLAGS) -o $@ $(SDK_OBJECTS) | 168 $(CXX) $(LDFLAGS) $(PLUGIN_LDFLAGS) -o $@ $(SDK_OBJECTS) |
169 | 169 |
170 $(HOSTSDK_DYNAMIC): $(HOSTSDK_OBJECTS) $(API_HEADERS) $(HOSTSDK_HEADERS) | 170 $(HOSTSDK_DYNAMIC): $(HOSTSDK_OBJECTS) $(API_HEADERS) $(HOSTSDK_HEADERS) |
171 $(CXX) $(LDFLAGS) $(PLUGIN_LDFLAGS) -o $@ $(HOSTSDK_OBJECTS) | 171 $(CXX) $(LDFLAGS) $(PLUGIN_LDFLAGS) -o $@ $(HOSTSDK_OBJECTS) |
172 | 172 |
173 $(PLUGIN_TARGET): $(PLUGIN_OBJECTS) $(SDK_TARGET) $(PLUGIN_HEADERS) | 173 $(PLUGIN_TARGET): $(PLUGIN_OBJECTS) $(SDK_STATIC) $(PLUGIN_HEADERS) |
174 $(CXX) $(LDFLAGS) $(PLUGIN_LDFLAGS) -o $@ $(PLUGIN_OBJECTS) $(PLUGIN_LIBS) | 174 $(CXX) $(LDFLAGS) $(PLUGIN_LDFLAGS) -o $@ $(PLUGIN_OBJECTS) $(PLUGIN_LIBS) |
175 | 175 |
176 $(HOST_TARGET): $(HOST_OBJECTS) $(HOSTSDK_TARGET) $(HOST_HEADERS) | 176 $(HOST_TARGET): $(HOST_OBJECTS) $(HOSTSDK_STATIC) $(HOST_HEADERS) |
177 $(CXX) $(LDFLAGS) $(HOST_LDFLAGS) -o $@ $(HOST_OBJECTS) $(HOST_LIBS) | 177 $(CXX) $(LDFLAGS) $(HOST_LDFLAGS) -o $@ $(HOST_OBJECTS) $(HOST_LIBS) |
178 | 178 |
179 test: plugins host | 179 test: plugins host |
180 $(HOST_TARGET) $(PLUGIN_TARGET) | 180 VAMP_PATH=$(EXAMPLEDIR) $(HOST_TARGET) -l |
181 | 181 |
182 clean: | 182 clean: |
183 rm -f $(SDK_OBJECTS) $(HOSTSDK_OBJECTS) $(PLUGIN_OBJECTS) $(HOST_OBJECTS) | 183 rm -f $(SDK_OBJECTS) $(HOSTSDK_OBJECTS) $(PLUGIN_OBJECTS) $(HOST_OBJECTS) |
184 | 184 |
185 distclean: clean | 185 distclean: clean |