mirror of
https://github.com/holub/mame
synced 2025-04-21 07:52:35 +03:00
130 lines
4.2 KiB
Makefile
130 lines
4.2 KiB
Makefile
# 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
|
|
|