annotate Makefile.skeleton @ 26:906d3705536d matthiasm-plugin

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