comparison Makefile @ 232:71ea10a3cbe7 distinct-libraries

* Add template generator to Makefile
author cannam
date Fri, 07 Nov 2008 14:33:21 +0000
parents 90e3acb4a728
children 521734d2b498
comparison
equal deleted inserted replaced
231:90e3acb4a728 232:71ea10a3cbe7
14 HOSTSDKSRCDIR = src/vamp-hostsdk 14 HOSTSDKSRCDIR = src/vamp-hostsdk
15 HOSTEXTSRCDIR = src/vamp-hostsdk/hostext 15 HOSTEXTSRCDIR = src/vamp-hostsdk/hostext
16 16
17 EXAMPLEDIR = examples 17 EXAMPLEDIR = examples
18 HOSTDIR = host 18 HOSTDIR = host
19 PCDIR = pkgconfig
20 RDFGENDIR = rdf/generator
19 21
20 ### 22 ###
21 ### Start of user-serviceable parts 23 ### Start of user-serviceable parts
22 ### 24 ###
23 25
26 # all -- build everything 28 # all -- build everything
27 # sdk -- build all the Vamp SDK libraries for plugins and hosts 29 # sdk -- build all the Vamp SDK libraries for plugins and hosts
28 # sdkstatic -- build only the static versions of the SDK libraries 30 # sdkstatic -- build only the static versions of the SDK libraries
29 # plugins -- build the example plugins (and the SDK if required) 31 # plugins -- build the example plugins (and the SDK if required)
30 # host -- build the simple Vamp plugin host (and the SDK if required) 32 # host -- build the simple Vamp plugin host (and the SDK if required)
33 # rdfgen -- build the RDF template generator (and the SDK if required)
31 # test -- build the host and example plugins, and run a quick test 34 # test -- build the host and example plugins, and run a quick test
32 # clean -- remove binary targets 35 # clean -- remove binary targets
33 # distclean -- remove all targets 36 # distclean -- remove all targets
34 # 37 #
35 default: all 38 default: all
54 #PLUGIN_EXT = .dylib 57 #PLUGIN_EXT = .dylib
55 58
56 # Libraries required for the host. 59 # Libraries required for the host.
57 # 60 #
58 HOST_LIBS = $(SRCDIR)/libvamp-hostsdk.a -lsndfile -ldl 61 HOST_LIBS = $(SRCDIR)/libvamp-hostsdk.a -lsndfile -ldl
62
63 # Libraries required for the RDF template generator.
64 #
65 RDFGEN_LIBS = $(SRCDIR)/libvamp-hostsdk.a -ldl
59 66
60 # Locations for "make install". This will need quite a bit of 67 # Locations for "make install". This will need quite a bit of
61 # editing for non-Linux platforms. Of course you don't necessarily 68 # editing for non-Linux platforms. Of course you don't necessarily
62 # have to use "make install". 69 # have to use "make install".
63 # 70 #
183 $(HOSTDIR)/vamp-simple-host.o 190 $(HOSTDIR)/vamp-simple-host.o
184 191
185 HOST_TARGET = \ 192 HOST_TARGET = \
186 $(HOSTDIR)/vamp-simple-host 193 $(HOSTDIR)/vamp-simple-host
187 194
195 RDFGEN_OBJECTS = \
196 $(RDFGENDIR)/template-generator.o
197
198 RDFGEN_TARGET = \
199 $(RDFGENDIR)/template-generator
200
188 sdk: sdkstatic $(SDK_DYNAMIC) $(HOSTSDK_DYNAMIC) 201 sdk: sdkstatic $(SDK_DYNAMIC) $(HOSTSDK_DYNAMIC)
189 202
190 sdkstatic: $(SDK_STATIC) $(HOSTSDK_STATIC) 203 sdkstatic: $(SDK_STATIC) $(HOSTSDK_STATIC)
191 $(RANLIB) $(SDK_STATIC) 204 $(RANLIB) $(SDK_STATIC)
192 $(RANLIB) $(HOSTSDK_STATIC) 205 $(RANLIB) $(HOSTSDK_STATIC)
193 206
194 plugins: $(PLUGIN_TARGET) 207 plugins: $(PLUGIN_TARGET)
195 208
196 host: $(HOST_TARGET) 209 host: $(HOST_TARGET)
197 210
198 all: sdk plugins host test 211 rdfgen: $(RDFGEN_TARGET)
212
213 all: sdk plugins host rdfgen test
199 214
200 $(SDK_STATIC): $(SDK_OBJECTS) $(API_HEADERS) $(SDK_HEADERS) 215 $(SDK_STATIC): $(SDK_OBJECTS) $(API_HEADERS) $(SDK_HEADERS)
201 $(AR) r $@ $(SDK_OBJECTS) 216 $(AR) r $@ $(SDK_OBJECTS)
202 217
203 $(HOSTSDK_STATIC): $(HOSTSDK_OBJECTS) $(API_HEADERS) $(HOSTSDK_HEADERS) $(HOSTEXT_HEADERS) 218 $(HOSTSDK_STATIC): $(HOSTSDK_OBJECTS) $(API_HEADERS) $(HOSTSDK_HEADERS) $(HOSTEXT_HEADERS)
213 $(CXX) $(LDFLAGS) $(PLUGIN_LDFLAGS) -o $@ $(PLUGIN_OBJECTS) $(PLUGIN_LIBS) 228 $(CXX) $(LDFLAGS) $(PLUGIN_LDFLAGS) -o $@ $(PLUGIN_OBJECTS) $(PLUGIN_LIBS)
214 229
215 $(HOST_TARGET): $(HOST_OBJECTS) $(HOSTSDK_STATIC) $(HOST_HEADERS) 230 $(HOST_TARGET): $(HOST_OBJECTS) $(HOSTSDK_STATIC) $(HOST_HEADERS)
216 $(CXX) $(LDFLAGS) $(HOST_LDFLAGS) -o $@ $(HOST_OBJECTS) $(HOST_LIBS) 231 $(CXX) $(LDFLAGS) $(HOST_LDFLAGS) -o $@ $(HOST_OBJECTS) $(HOST_LIBS)
217 232
233 $(RDFGEN_TARGET): $(RDFGEN_OBJECTS) $(HOSTSDK_STATIC)
234 $(CXX) $(LDFLAGS) $(RDFGEN_LDFLAGS) -o $@ $(RDFGEN_OBJECTS) $(RDFGEN_LIBS)
235
218 test: plugins host 236 test: plugins host
219 VAMP_PATH=$(EXAMPLEDIR) $(HOST_TARGET) -l 237 VAMP_PATH=$(EXAMPLEDIR) $(HOST_TARGET) -l
220 238
221 clean: 239 clean:
222 rm -f $(SDK_OBJECTS) $(HOSTSDK_OBJECTS) $(PLUGIN_OBJECTS) $(HOST_OBJECTS) 240 rm -f $(SDK_OBJECTS) $(HOSTSDK_OBJECTS) $(PLUGIN_OBJECTS) $(HOST_OBJECTS) $(RDFGEN_OBJECTS)
223 241
224 distclean: clean 242 distclean: clean
225 rm -f $(SDK_STATIC) $(SDK_DYNAMIC) $(HOSTSDK_STATIC) $(HOSTSDK_DYNAMIC) $(PLUGIN_TARGET) $(HOST_TARGET) *~ */*~ 243 rm -f $(SDK_STATIC) $(SDK_DYNAMIC) $(HOSTSDK_STATIC) $(HOSTSDK_DYNAMIC) $(PLUGIN_TARGET) $(HOST_TARGET) $(RDFGEN_TARGET) *~ */*~
226 244
227 install: $(SDK_STATIC) $(SDK_DYNAMIC) $(HOSTSDK_STATIC) $(HOSTSDK_DYNAMIC) $(PLUGIN_TARGET) $(HOST_TARGET) 245 install: $(SDK_STATIC) $(SDK_DYNAMIC) $(HOSTSDK_STATIC) $(HOSTSDK_DYNAMIC) $(PLUGIN_TARGET) $(HOST_TARGET)
228 mkdir -p $(DESTDIR)$(INSTALL_API_HEADERS) 246 mkdir -p $(DESTDIR)$(INSTALL_API_HEADERS)
229 mkdir -p $(DESTDIR)$(INSTALL_SDK_HEADERS) 247 mkdir -p $(DESTDIR)$(INSTALL_SDK_HEADERS)
230 mkdir -p $(DESTDIR)$(INSTALL_HOSTEXT_HEADERS) 248 mkdir -p $(DESTDIR)$(INSTALL_HOSTEXT_HEADERS)