summaryrefslogtreecommitdiffstats
path: root/src/portmidi.mk
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@gmail.com>2013-01-27 17:42:20 (GMT)
committerStefan Hajnoczi <stefanha@gmail.com>2013-01-27 17:42:20 (GMT)
commitf5e41fcdebead46cc4a75a97af2490d4135f7d4a (patch)
tree3aabca8741cc3a8f0a2fb6c136f7d0e02f0298db /src/portmidi.mk
parent695203fdf39470b06d7863a2f7a24131c95933d5 (diff)
downloadmxe-f5e41fcdebead46cc4a75a97af2490d4135f7d4a.zip
mxe-f5e41fcdebead46cc4a75a97af2490d4135f7d4a.tar.gz
mxe-f5e41fcdebead46cc4a75a97af2490d4135f7d4a.tar.bz2
add package portmidi
PortMidi is a cross-platform MIDI library. Its webpage says: "It supports real-time input and output of MIDI data using a system-independent interface. PortMidi runs on Windows (using MME), Macintosh (using CoreMIDI), and Linux (using ALSA)." The build system is cmake. A patch was necessary to build without a Java Native Interface dependency (only needed for Java bindings and Java-based utilities). The pm_test/test.c program is compiled in order to prove that building works. Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Diffstat (limited to 'src/portmidi.mk')
-rw-r--r--src/portmidi.mk34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/portmidi.mk b/src/portmidi.mk
new file mode 100644
index 0000000..04436e1
--- /dev/null
+++ b/src/portmidi.mk
@@ -0,0 +1,34 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG := portmidi
+$(PKG)_IGNORE :=
+$(PKG)_CHECKSUM := f45bf4e247c0d7617deacd6a65d23d9fddae6117
+$(PKG)_SUBDIR := portmidi
+$(PKG)_FILE := $(PKG)-src-$($(PKG)_VERSION).zip
+$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/portmedia/$(PKG)/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_DEPS := gcc
+
+define $(PKG)_BUILD
+ mkdir '$(1)/build'
+ cd '$(1)/build' && cmake .. \
+ -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+ -DLIBTYPE=STATIC
+
+ $(MAKE) -C '$(1)/build' -j '$(JOBS)' portmidi-static
+
+ # install library files
+ $(INSTALL) -d '$(PREFIX)/$(TARGET)/lib'
+ $(INSTALL) -m644 '$(1)/build/libportmidi_s.a' \
+ '$(PREFIX)/$(TARGET)/lib/libportmidi.a'
+
+ # install include files
+ $(INSTALL) -d '$(PREFIX)/$(TARGET)/include'
+ $(INSTALL) -m644 '$(1)/pm_common/portmidi.h' '$(PREFIX)/$(TARGET)/include/'
+ $(INSTALL) -m644 '$(1)/pm_common/pmutil.h' '$(PREFIX)/$(TARGET)/include/'
+ $(INSTALL) -m644 '$(1)/porttime/porttime.h' '$(PREFIX)/$(TARGET)/include/'
+
+ '$(TARGET)-gcc' \
+ '$(1)/pm_test/test.c' -o '$(PREFIX)/$(TARGET)/bin/test-portmidi.exe' \
+ -lportmidi -lwinmm
+endef