]> git.tdb.fi Git - ext/subsurface.git/blobdiff - Makefile
Add basic MacOSX app bundle install target
[ext/subsurface.git] / Makefile
index cc353f7d2edc5b1ae076a7f029c49bfff06d5d4f..3fa77c3f4e800b8791c80f71d92de2c140c57630 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -22,6 +22,11 @@ ICONFILE = $(NAME).svg
 DESKTOPFILE = $(NAME).desktop
 MANFILES = $(NAME).1
 
+MACOSXINSTALL = /Applications/Subsurface.app
+MACOSXICONFILE = macosx/Subsurface.icns
+MACOSXINFOFILE = macosx/Info.plist
+MACOSXPKGFILE = macosx/PkgInfo
+
 # find libdivecomputer
 # First deal with the cross compile environment.
 # For the native case, Linus doesn't want to trust pkg-config given
@@ -34,6 +39,8 @@ ifeq ($(CC), i686-w64-mingw32-gcc)
        LIBDIVECOMPUTERDIR = /usr/i686-w64-mingw32/sys-root/mingw/include/libdivecomputer
        LIBDIVECOMPUTERINCLUDES = `$(PKGCONFIG) --cflags libdivecomputer`
        LIBDIVECOMPUTERARCHIVE = `$(PKGCONFIG) --libs libdivecomputer`
+       RESFILE = packaging/windows/subsurface.res
+       LDFLAGS += -Wl,-subsystem,windows
 else
 
 libdc-local := $(wildcard /usr/local/lib/libdivecomputer.a)
@@ -76,7 +83,7 @@ LIBS = $(LIBXML2) $(LIBGTK) $(LIBDIVECOMPUTER) -lpthread
 
 OBJS = main.o dive.o profile.o info.o equipment.o divelist.o \
        parse-xml.o save-xml.o libdivecomputer.o print.o uemis.o \
-       gtk-gui.o
+       gtk-gui.o $(RESFILE)
 
 $(NAME): $(OBJS)
        $(CC) $(LDFLAGS) -o $(NAME) $(OBJS) $(LIBS)
@@ -98,6 +105,14 @@ GLIB2CFLAGS = $(shell $(PKGCONFIG) --cflags glib-2.0)
 GCONF2CFLAGS =  $(shell $(PKGCONFIG) --cflags gconf-2.0)
 GTK2CFLAGS = $(shell $(PKGCONFIG) --cflags gtk+-2.0)
 
+install-macosx: $(NAME)
+       $(INSTALL) -d -m 755 $(MACOSXINSTALL)/Contents/Resources
+       $(INSTALL) -d -m 755 $(MACOSXINSTALL)/Contents/MacOS
+       $(INSTALL) $(NAME) $(MACOSXINSTALL)/Contents/MacOS/
+       $(INSTALL) $(MACOSXINFOFILE) $(MACOSXINSTALL)/Contents/
+       $(INSTALL) $(MACOSXPKGFILE) $(MACOSXINSTALL)/Contents/
+       $(INSTALL) $(MACOSXICONFILE) $(MACOSXINSTALL)/Contents/Resources/
+
 parse-xml.o: parse-xml.c dive.h
        $(CC) $(CFLAGS) $(GLIB2CFLAGS) -c $(XML2CFLAGS)  parse-xml.c