summaryrefslogtreecommitdiff
path: root/pkg
diff options
context:
space:
mode:
Diffstat (limited to 'pkg')
-rw-r--r--pkg/osx/GNUmakefile15
-rwxr-xr-xpkg/osx/cp-with-libs16
2 files changed, 29 insertions, 2 deletions
diff --git a/pkg/osx/GNUmakefile b/pkg/osx/GNUmakefile
index 82c353fe..b060f483 100644
--- 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 @@ endif
# 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
diff --git a/pkg/osx/cp-with-libs b/pkg/osx/cp-with-libs
new file mode 100755
index 00000000..902ae079
--- /dev/null
+++ b/pkg/osx/cp-with-libs
@@ -0,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
+