Mercurial > hg > vamp-plugin-sdk
comparison skeleton/Makefile.skeleton @ 299:1bbfa82efc37
* Add skeleton Makefile
| author | cannam |
|---|---|
| date | Wed, 23 Sep 2009 12:33:00 +0000 |
| parents | |
| children | bb67b6145812 |
comparison
equal
deleted
inserted
replaced
| 298:5940dd0a399f | 299:1bbfa82efc37 |
|---|---|
| 1 | |
| 2 ## Skeleton Makefile for Vamp plugin builds using command-line tools. | |
| 3 ## | |
| 4 ## Rename this to Makefile, and edit as appropriate. | |
| 5 ## This Makefile WILL NOT WORK until you have edited it as described | |
| 6 ## below -- the Makefile as supplied does nothing useful at all! | |
| 7 ## | |
| 8 ## Various sets of options are provided, commented out -- just uncomment | |
| 9 ## (remove the '#' characters for) the set that most closely resembles | |
| 10 ## your own situation, and adjust to taste. Then run "make". | |
| 11 ## | |
| 12 ## (For Windows builds using MS Visual Studio, start instead with the | |
| 13 ## VampExamplePlugins project found in the build directory of the SDK.) | |
| 14 | |
| 15 | |
| 16 # Edit this to the base name of your plugin library | |
| 17 # | |
| 18 PLUGIN_LIBRARY_NAME = myplugins | |
| 19 | |
| 20 # Edit this to list one .o file for each .cpp file in your plugin project | |
| 21 # | |
| 22 PLUGIN_CODE_OBJECTS = MyPlugins.o plugins.o | |
| 23 | |
| 24 # Edit this to the location of the Vamp plugin SDK, relative to your | |
| 25 # project directory | |
| 26 # | |
| 27 VAMP_SDK_DIR = ../vamp-plugin-sdk | |
| 28 | |
| 29 | |
| 30 ## Uncomment these for an OS/X native build using command-line tools: | |
| 31 | |
| 32 # CXXFLAGS = -I$(VAMP_SDK_DIR) -Wall -fPIC | |
| 33 # PLUGIN_EXT = .dylib | |
| 34 # PLUGIN = $(PLUGIN_LIBRARY_NAME)$(PLUGIN_EXT) | |
| 35 # LDFLAGS = -dynamiclib -install_name $(PLUGIN) $(VAMP_SDK_DIR)/libvamp-sdk.a -exported_symbols_list vamp-plugin.list | |
| 36 | |
| 37 | |
| 38 ## Uncomment these for an OS/X universal binary using command-line tools: | |
| 39 | |
| 40 # CXXFLAGS = -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc -I$(VAMP_SDK_DIR) -Wall -fPIC | |
| 41 # PLUGIN_EXT = .dylib | |
| 42 # PLUGIN = $(PLUGIN_LIBRARY_NAME)$(PLUGIN_EXT) | |
| 43 # LDFLAGS = -dynamiclib -install_name $(PLUGIN) $(VAMP_SDK_DIR)/libvamp-sdk.a -exported_symbols_list vamp-plugin.list | |
| 44 | |
| 45 | |
| 46 ## Uncomment these for Linux using the standard tools: | |
| 47 | |
| 48 # CXXFLAGS = -I$(VAMP_SDK_DIR) -Wall -fPIC | |
| 49 # PLUGIN_EXT = .so | |
| 50 # PLUGIN = $(PLUGIN_LIBRARY_NAME)$(PLUGIN_EXT) | |
| 51 # LDFLAGS = -shared -Wl,-soname=$(PLUGIN) $(VAMP_SDK_DIR)/libvamp-sdk.a -Wl,--version-script=vamp-plugin.map | |
| 52 | |
| 53 | |
| 54 ## Uncomment these for a cross-compile from Linux to Windows using MinGW: | |
| 55 | |
| 56 # CXX = i586-mingw32msvc-g++ | |
| 57 # CXXFLAGS = -I$(VAMP_SDK_DIR) -Wall | |
| 58 # PLUGIN_EXT = .dll | |
| 59 # PLUGIN = $(PLUGIN_LIBRARY_NAME)$(PLUGIN_EXT) | |
| 60 # LDFLAGS = --static-libgcc -Wl,-soname=$(PLUGIN) -shared $(VAMP_SDK_DIR)/libvamp-sdk.a | |
| 61 | |
| 62 | |
| 63 ## Uncomment these for OpenSolaris using SunStudio compiler and GNU make: | |
| 64 | |
| 65 # CXX = CC | |
| 66 # CXXFLAGS = -G -I$(VAMP_SDK_DIR) +w -KPIC | |
| 67 # PLUGIN_EXT = .so | |
| 68 # PLUGIN = $(PLUGIN_LIBRARY_NAME)$(PLUGIN_EXT) | |
| 69 # LDFLAGS = -G -h$(PLUGIN) $(VAMP_SDK_DIR)/libvamp-sdk.a -Qoption ld -Mvamp-plugin.map | |
| 70 | |
| 71 | |
| 72 | |
| 73 ## All of the above | |
| 74 | |
| 75 $(PLUGIN): $(PLUGIN_CODE_OBJECTS) | |
| 76 $(CXX) -o $@ $^ $(LDFLAGS) | |
| 77 | |
| 78 clean: | |
| 79 rm -f *.o | |
| 80 |
