ref: c401e515b0bbe734fc39517a4d25c96ce487bef4
parent: dfff86ebefb6044183022016da67c7cae691b973
author: Simon Howard <[email protected]>
date: Mon Jan 4 17:45:45 EST 2010
Copy binaries into app dir along with libraries. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 1788
--- a/pkg/osx/GNUmakefile
+++ b/pkg/osx/GNUmakefile
@@ -1,6 +1,9 @@
include config.make
+CC=gcc
+STRIP=strip
+
STAGING_DIR=staging
DMG=$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).dmg
DOC_FILES=\
@@ -25,15 +28,23 @@
# Staging dir build for package:
APP_DIR=$(STAGING_DIR)/$(PACKAGE_NAME).app
+APP_BIN_DIR=$(APP_DIR)/Contents/MacOS/
$(STAGING_DIR): launcher
rm -rf $(STAGING_DIR)
mkdir $(STAGING_DIR)
+
cp -R app-skeleton "$(APP_DIR)"
cp Info.plist "$(APP_DIR)/Contents/"
- cp launcher "$(APP_DIR)/Contents/MacOS/"
- # TODO: copy Doom and setup binaries into app dir
+ cp launcher "$(APP_BIN_DIR)/"
+
+ ./cp-with-libs ../../src/chocolate-doom "$(APP_BIN_DIR)"
+ $(STRIP) "$(APP_BIN_DIR)/chocolate-doom"
+ ./cp-with-libs ../../setup/chocolate-setup "$(APP_BIN_DIR)"
+ $(STRIP) "$(APP_BIN_DIR)/chocolate-setup"
+
for d in $(DOC_FILES); do cp ../../$$d $(STAGING_DIR)/; done
+
find $(STAGING_DIR) -name .svn -delete -exec rm -rf {} \; || true
clean : launcher_clean
--- /dev/null
+++ b/pkg/osx/cp-with-libs
@@ -1,0 +1,16 @@
+#!/bin/sh
+#
+# Copy a program to the specified destination, along
+# with SDL libraries it depends upon.
+
+BINARY=$1
+DEST=$2
+
+cp "$BINARY" "$DEST"
+
+# Copy libraries; only those with libSDL in the name
+
+otool -L "$BINARY" | grep libSDL | sed 's/^.//; s/(.*//' | while read; do
+ cp "$REPLY" "$DEST"
+done
+