fruitjam-doom/pkg/osx/GNUmakefile
Simon Howard 860a17497b Move config.make up to pkg/ directory. Use static makefiles to generate
all packages, rather than dynamically generated makefiles. Add pkg/osx
to dist. Make OS X staging directory depend on top level documentation
files. Generate CMDLINE as part of standard build if it is not already
present. Set svn:ignore properties.

Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 1790
2010-01-05 15:52:12 +00:00

79 lines
1.6 KiB
Makefile

include ../config.make
CC=gcc
STRIP=strip
STAGING_DIR=staging
DMG=$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).dmg
TOPLEVEL=../..
TOPLEVEL_DOCS=$(patsubst %,../../%,$(DOC_FILES))
ifndef GNUSTEP_MAKEFILES
# DMG file containing package:
$(DMG) : $(STAGING_DIR)
rm -f $@
hdiutil create -volname "$(PACKAGE_STRING)" -srcdir $(STAGING_DIR) $@
endif
# Staging dir build for package:
APP_DIR=$(STAGING_DIR)/$(PACKAGE_NAME).app
APP_BIN_DIR=$(APP_DIR)/Contents/MacOS/
$(STAGING_DIR): launcher $(TOPLEVEL_DOCS)
rm -rf $(STAGING_DIR)
mkdir $(STAGING_DIR)
cp -R app-skeleton "$(APP_DIR)"
mkdir "$(APP_BIN_DIR)"
cp Info.plist "$(APP_DIR)/Contents/"
cp launcher "$(APP_BIN_DIR)/"
./cp-with-libs $(TOPLEVEL)/src/chocolate-doom "$(APP_BIN_DIR)"
$(STRIP) "$(APP_BIN_DIR)/chocolate-doom"
./cp-with-libs $(TOPLEVEL)/setup/chocolate-setup "$(APP_BIN_DIR)"
$(STRIP) "$(APP_BIN_DIR)/chocolate-setup"
for d in $(DOC_FILES); do cp $(TOPLEVEL)/$$d $(STAGING_DIR)/; done
find $(STAGING_DIR) -name .svn -delete -exec rm -rf {} \; || true
clean : launcher_clean
rm -f $(DMG)
rm -rf $(STAGING_DIR)
# Launcher build:
CFLAGS = -Wall -I$(TOPLEVEL)
# Are we building using gs_make?
ifdef GNUSTEP_MAKEFILES
CFLAGS += $(shell gnustep-config --objc-flags)
LDFLAGS = $(shell gnustep-config --gui-libs)
else
LDFLAGS = -framework Cocoa
endif
LAUNCHER_OBJS= \
AppController.o \
Execute.o \
IWADController.o \
IWADLocation.o \
LauncherManager.o \
main.o
launcher : $(LAUNCHER_OBJS)
$(CC) $(LDFLAGS) $(LAUNCHER_OBJS) -o $@
%.o : %.m
$(CC) -c $(CFLAGS) $^ -o $@
launcher_clean :
rm -f $(LAUNCHER_OBJS) launcher