summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/portmidi/pm_mac/Makefile.osx
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/portmidi/pm_mac/Makefile.osx')
-rw-r--r--3rdparty/portmidi/pm_mac/Makefile.osx129
1 files changed, 129 insertions, 0 deletions
diff --git a/3rdparty/portmidi/pm_mac/Makefile.osx b/3rdparty/portmidi/pm_mac/Makefile.osx
new file mode 100644
index 00000000000..8c6862e28f0
--- /dev/null
+++ b/3rdparty/portmidi/pm_mac/Makefile.osx
@@ -0,0 +1,129 @@
+# MAKEFILE FOR PORTMIDI
+
+# Roger B. Dannenberg
+# Sep 2009
+
+# NOTE: you can use
+# make -f pm_osx/Makefile.osx configuration=Release
+# to override the default Debug configuration
+configuration=Release
+
+PF=/usr/local
+
+# For debugging, define PM_CHECK_ERRORS
+ifeq ($(configuration),Release)
+ CONFIG = Release
+else
+ CONFIG = Debug
+endif
+
+current: all
+
+all: $(CONFIG)/CMakeCache.txt
+ cd $(CONFIG); make
+
+$(CONFIG)/CMakeCache.txt:
+ rm -f CMakeCache.txt
+ mkdir -p $(CONFIG)
+ cd $(CONFIG); cmake .. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=$(CONFIG)
+
+
+**** For instructions: make -f pm_mac\Makefile.osx help ****\n'
+
+help:
+ echo $$'\n\n\
+This is help for portmidi/pm_mac/Makefile.osx\n\n\
+Installation path for dylib is $(PF)\n\
+To build Release version libraries and test applications,\n \
+make -f pm_mac/Makefile.osx\n\
+To build Debug version libraries and test applications,\n \
+make -f pm_mac/Makefile.osx configuration=Debug\n\
+To install universal dynamic library,\n \
+sudo make -f pm_mac/Makefile.osx install\n\
+To install universal dynamic library with xcode,\n \
+make -f pm_mac/Makefile.osx install-with-xcode\n\
+To make PmDefaults Java application,\n \
+make -f pm_mac/Makefile.osx pmdefaults\n\n \
+configuration = $(configuration)\n'
+
+
+clean:
+ rm -f *.o *~ core* */*.o */*/*.o */*~ */core* pm_test/*/pm_dll.dll
+ rm -f *.opt *.ncb *.plg pm_win/Debug/pm_dll.lib pm_win/Release/pm_dll.lib
+ rm -f pm_test/*.opt pm_test/*.ncb
+ rm -f pm_java/pmjni/*.o pm_java/pmjni/*~ pm_java/*.h
+ rm -rf Release/CMakeFiles Debug/CMakeFiles
+ rm -rf pm_mac/pmdefaults/lib pm_mac/pmdefaults/src
+
+cleaner: clean
+ rm -rf pm_mac/build
+ rm -rf pm_mac/Debug pm_mac/Release pm_test/Debug pm_test/Release
+ rm -f Debug/*.dylib Release/*.dylib
+ rm -f pm_java/pmjni/Debug/*.jnilib
+ rm -f pm_java/pmjni/Release/*.jnilib
+
+cleanest: cleaner
+ rm -f Debug/libportmidi_s.a Release/libportmidi_s.a
+ rm -f pm_test/Debug/test pm_test/Debug/sysex pm_test/Debug/midithread
+ rm -f pm_test/Debug/latency pm_test/Debug/midithru
+ rm -f pm_test/Debug/qtest pm_test/Debug/mm
+ rm -f pm_test/Release/test pm_test/Release/sysex pm_test/Release/midithread
+ rm -f pm_test/Release/latency pm_test/Release/midithru
+ rm -f pm_test/Release/qtest pm_test/Release/mm
+ rm -f pm_java/*/*.class
+ rm -f pm_java/pmjni/jportmidi_JPortMidiApi_PortMidiStream.h
+
+backup: cleanest
+ cd ..; zip -r portmidi.zip portmidi
+
+install: porttime/porttime.h pm_common/portmidi.h \
+ $(CONFIG)/libportmidi.dylib
+ install porttime/porttime.h $(PF)/include/
+ install pm_common/portmidi.h $(PF)/include
+ install $(CONFIG)/libportmidi.dylib $(PF)/lib/
+
+# note - this uses xcode to build and install portmidi universal binaries
+install-with-xcode:
+ sudo xcodebuild -project pm_mac/pm_mac.xcodeproj \
+ -configuration Release install DSTROOT=/
+
+##### build pmdefault ######
+
+pm_java/pmjni/jportmidi_JPortMidiApi.h: pm_java/jportmidi/JPortMidiApi.class
+ cd pm_java; javah jportmidi.JPortMidiApi
+ mv pm_java/jportmidi_JportMidiApi.h pm_java/pmjni
+
+JAVASRC = pmdefaults/PmDefaultsFrame.java \
+ pmdefaults/PmDefaults.java \
+ jportmidi/JPortMidiApi.java jportmidi/JPortMidi.java \
+ jportmidi/JPortMidiException.java
+
+# this compiles ALL of the java code
+pm_java/jportmidi/JPortMidiApi.class: $(JAVASRC:%=pm_java/%)
+ cd pm_java; javac $(JAVASRC)
+
+$(CONFIG)/libpmjni.dylib:
+ mkdir -p $(CONFIG)
+ cd $(CONFIG); make -f ../pm_mac/$(MAKEFILE)
+
+pmdefaults: $(CONFIG)/libpmjni.dylib pm_java/jportmidi/JPortMidiApi.class
+ifeq ($(CONFIG),Debug)
+ echo "Error: you cannot build pmdefaults in a Debug configuration \n\
+ You should use configuration=Release in the Makefile command line. "
+ @exit 2
+endif
+ xcodebuild -project pm_mac/pm_mac.xcodeproj \
+ -configuration Release -target PmDefaults
+ echo "pmdefaults java application is made"
+
+###### test plist reader #######
+PLHDR = pm_mac/readbinaryplist.h
+PLSRC = pm_mac/plisttest.c pm_mac/readbinaryplist.c
+pm_mac/plisttest: $(PLHDR) $(PLSRC)
+ cc $(VFLAGS) -Ipm_mac \
+ -I/Developer/Headers/FlatCarbon \
+ -I/System/Library/Frameworks/CoreFoundation.framework/Headers \
+ -I/System/Library/Frameworks/CoreServices.framework/Headers \
+ $(PLSRC) -o pm_mac/$(CONFIG)/plisttest \
+ -framework CoreFoundation -framework CoreServices
+