From edf9f43e2a99e183b54011b42a1b0444a1aeb6d9 Mon Sep 17 00:00:00 2001 From: Zachary Slater Date: Sun, 20 Nov 2011 08:59:21 +0000 Subject: 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. --- make-macosx.sh | 130 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100755 make-macosx.sh 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 " + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + $BINARY + CFBundleGetInfoString + ioquake3 $Q3_VERSION + CFBundleIconFile + ioquake3.icns + CFBundleIdentifier + org.ioquake.ioquake3 + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ioquake3 + CFBundlePackageType + APPL + CFBundleShortVersionString + $Q3_VERSION + CFBundleSignature + $PKGINFO + CFBundleVersion + $Q3_VERSION + NSExtensions + + NSPrincipalClass + NSApplication + + + " > $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/ + -- cgit