annotate Makefile.osx.universal @ 53:7e59caea821b

* Make a better job of preloading Python, especially when it's in a framework. Go for the Python file in the frameworks directory in preference to any libpythonX.Y.dylib. Particularly, don't try to preload any library without an absolute path until we've exhausted all our framework possibilities (so as to avoid picking up an ancient system library).
author cannam
date Fri, 09 Oct 2009 13:48:25 +0000
parents 91d6cfd22883
children
rev   line source
cannam@45 1
cannam@53 2 CXXFLAGS := -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc -D_DEBUG -DHAVE_NUMPY -I../vamp-plugin-sdk -O2 -Wall -I/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -I/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/numpy/core/include/
cannam@45 3
cannam@53 4 LDFLAGS := -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc -install_name vampy.dylib -exported_symbols_list vamp-plugin.list ../vamp-plugin-sdk/libvamp-sdk.a -dynamiclib -framework Python -lpthread
cannam@45 5
cannam@45 6 default: vampy.dylib
cannam@45 7 all: vampy.dylib vampymod.so
cannam@45 8
cannam@45 9 PyExtensionModule.a: PyExtensionModule.o PyRealTime.o PyFeature.o PyParameterDescriptor.o PyOutputDescriptor.o PyFeatureSet.o
cannam@45 10 libtool -static $^ -o $@
cannam@45 11
cannam@45 12 # The standard python extension is .so (even on the Mac)
cannam@45 13 vampymod.so: PyExtensionModule.o PyRealTime.o PyFeature.o PyParameterDescriptor.o PyOutputDescriptor.o PyFeatureSet.o
cannam@53 14 g++ -dynamiclib $^ -o $@ $(LDFLAGS)
cannam@45 15
cannam@45 16 vampy.dylib: PyPlugin.o PyPlugScanner.o vampy-main.o Mutex.o PyTypeInterface.o PyExtensionModule.a PyExtensionManager.o
cannam@53 17 g++ -dynamiclib $^ -o $@ $(LDFLAGS)
cannam@45 18
cannam@45 19 # Install plugin
cannam@45 20 #
cannam@45 21 LIBRARY_PREFIX :=/Library
cannam@45 22 INSTALL_DIR :=$(LIBRARY_PREFIX)/Audio/Plug-Ins/Vamp
cannam@45 23 PYEXAMPLE_DIR :='Example VamPy Plugins'
cannam@45 24 PLUGIN_NAME :=vampy
cannam@45 25 PLUGIN_EXT :=.dylib
cannam@45 26
cannam@45 27 install:
cannam@45 28 mkdir -p $(INSTALL_DIR)
cannam@45 29 rm -f $(INSTALL_DIR)/$(PLUGIN_NAME)$(PLUGIN_EXT)
cannam@45 30 cp $(PLUGIN_NAME)$(PLUGIN_EXT) $(INSTALL_DIR)/$(PLUGIN_NAME)$(PLUGIN_EXT)
cannam@45 31 #cp $(PYEXAMPLE_DIR)/*.py $(INSTALL_DIR)
cannam@45 32
cannam@45 33 installplug : install
cannam@45 34 cleanplug : clean
cannam@45 35
cannam@45 36 clean:
cannam@45 37 rm *.o
cannam@45 38 rm *.a
cannam@45 39 rm *$(PLUGIN_EXT)
cannam@45 40