diff options
author | Zachary Slater <zachary@ioquake.org> | 2011-11-20 08:59:21 +0000 |
---|---|---|
committer | Tim Angus <tim@ngus.net> | 2013-01-12 20:13:59 +0000 |
commit | edf9f43e2a99e183b54011b42a1b0444a1aeb6d9 (patch) | |
tree | 388f976e9039cf4ca6f68bebab88b57060493e64 | |
parent | b933a2d04b38648c6e8c08c94750b89c08f3150e (diff) |
I made an awful variant of the old make script, it removes everything universal. Just to get a quick .app build again.
Don't use this for anything.
-rwxr-xr-x | make-macosx.sh | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/make-macosx.sh b/make-macosx.sh new file mode 100755 index 00000000..e3535e9d --- /dev/null +++ b/make-macosx.sh @@ -0,0 +1,130 @@ +#!/bin/sh +APPBUNDLE=ioquake3.app +BINARY=ioquake3.x64 +DEDBIN=ioq3ded.x64 +PKGINFO=APPLIOQ3 +ICNS=misc/quake3.icns +DESTDIR=build/release-darwin-x64 +BASEDIR=baseq3 +MPACKDIR=missionpack +RENDERDIR=build/release-darwin-x64 + +BIN_OBJ=" + build/release-darwin-x64/ioquake3.x64 +" +BIN_DEDOBJ=" + build/release-darwin-x64/ioq3ded.x64 +" +BASE_OBJ=" + build/release-darwin-x64/$BASEDIR/cgamex64.dylib + build/release-darwin-x64/$BASEDIR/uix64.dylib + build/release-darwin-x64/$BASEDIR/qagamex64.dylib +" +MPACK_OBJ=" + build/release-darwin-x64/$MPACKDIR/cgamex64.dylib + build/release-darwin-x64/$MPACKDIR/uix64.dylib + build/release-darwin-x64/$MPACKDIR/qagamex64.dylib +" + +RENDER_OBJ=" + build/release-darwin-x64/renderer_opengl1_smp_x64.dylib + build/release-darwin-x64/renderer_opengl1_x64.dylib +" + +cd `dirname $0` +if [ ! -f Makefile ]; then + echo "This script must be run from the ioquake3 build directory" + exit 1 +fi + +Q3_VERSION=`grep '^VERSION=' Makefile | sed -e 's/.*=\(.*\)/\1/'` + +# We only care if we're >= 10.4, not if we're specifically Tiger. +# "8" is the Darwin major kernel version. +TIGERHOST=`uname -r |perl -w -p -e 's/\A(\d+)\..*\Z/$1/; $_ = (($_ >= 8) ? "1" : "0");'` + +# we want to use the oldest available SDK for max compatiblity +unset X86_SDK +unset X86_CFLAGS +unset X86_LDFLAGS +if [ -d /Developer/SDKs/MacOSX10.5.sdk ]; then + X86_SDK=/Developer/SDKs/MacOSX10.5.sdk + X86_CFLAGS="-arch x64 -isysroot /Developer/SDKs/MacOSX10.5.sdk \ + -DMAC_OS_X_VERSION_MIN_REQUIRED=1050" + X86_LDFLAGS=" -mmacosx-version-min=10.5" +fi + + +echo "Building X86 Client/Dedicated Server against \"$X86_SDK\"" +sleep 3 + +if [ ! -d $DESTDIR ]; then + mkdir -p $DESTDIR +fi + +# For parallel make on multicore boxes... +NCPU=`sysctl -n hw.ncpu` + + +# intel client and server +if [ -d build/release-darwin-x64 ]; then + rm -r build/release-darwin-x64 +fi +(ARCH=x64 CFLAGS=$X86_CFLAGS LDFLAGS=$X86_LDFLAGS make -j$NCPU) || exit 1; + +echo "Creating .app bundle $DESTDIR/$APPBUNDLE" +if [ ! -d $DESTDIR/$APPBUNDLE/Contents/MacOS/$BASEDIR ]; then + mkdir -p $DESTDIR/$APPBUNDLE/Contents/MacOS/$BASEDIR || exit 1; +fi +if [ ! -d $DESTDIR/$APPBUNDLE/Contents/MacOS/$MPACKDIR ]; then + mkdir -p $DESTDIR/$APPBUNDLE/Contents/MacOS/$MPACKDIR || exit 1; +fi +if [ ! -d $DESTDIR/$APPBUNDLE/Contents/Resources ]; then + mkdir -p $DESTDIR/$APPBUNDLE/Contents/Resources +fi +cp $ICNS $DESTDIR/$APPBUNDLE/Contents/Resources/ioquake3.icns || exit 1; +echo $PKGINFO > $DESTDIR/$APPBUNDLE/Contents/PkgInfo +echo " + <?xml version=\"1.0\" encoding=\"UTF-8\"?> + <!DOCTYPE plist + PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" + \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"> + <plist version=\"1.0\"> + <dict> + <key>CFBundleDevelopmentRegion</key> + <string>English</string> + <key>CFBundleExecutable</key> + <string>$BINARY</string> + <key>CFBundleGetInfoString</key> + <string>ioquake3 $Q3_VERSION</string> + <key>CFBundleIconFile</key> + <string>ioquake3.icns</string> + <key>CFBundleIdentifier</key> + <string>org.ioquake.ioquake3</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>ioquake3</string> + <key>CFBundlePackageType</key> + <string>APPL</string> + <key>CFBundleShortVersionString</key> + <string>$Q3_VERSION</string> + <key>CFBundleSignature</key> + <string>$PKGINFO</string> + <key>CFBundleVersion</key> + <string>$Q3_VERSION</string> + <key>NSExtensions</key> + <dict/> + <key>NSPrincipalClass</key> + <string>NSApplication</string> + </dict> + </plist> + " > $DESTDIR/$APPBUNDLE/Contents/Info.plist + +lipo -create -o $DESTDIR/$APPBUNDLE/Contents/MacOS/$BINARY $BIN_OBJ +lipo -create -o $DESTDIR/$APPBUNDLE/Contents/MacOS/$DEDBIN $BIN_DEDOBJ +cp $RENDER_OBJ $DESTDIR/$APPBUNDLE/Contents/MacOS/ +cp $BASE_OBJ $DESTDIR/$APPBUNDLE/Contents/MacOS/$BASEDIR/ +cp $MPACK_OBJ $DESTDIR/$APPBUNDLE/Contents/MacOS/$MPACKDIR/ +cp code/libs/macosx/*.dylib $DESTDIR/$APPBUNDLE/Contents/MacOS/ + |