diff Makefile @ 0:52694b49dcc4

Initial revision
author Guido Berhoerster <guido+xwrited@berhoerster.name>
date Sun, 27 Apr 2014 23:07:51 +0200
parents
children c53bcdabbba7
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile	Sun Apr 27 23:07:51 2014 +0200
@@ -0,0 +1,135 @@
+#
+# Copyright (C) 2011 Guido Berhoerster <guido+xwrited@berhoerster.name>
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+
+PACKAGE =	xwrited
+APP_NAME =	org.guido-berhoerster.code.xwrited
+VERSION =	1
+DISTNAME :=	$(PACKAGE)-$(VERSION)
+
+# gcc, clang, icc
+MAKEDEPEND.c =	$(CC) -MM $(CFLAGS) $(CPPFLAGS)
+# Sun/Solaris Studio
+#MAKEDEPEND.c =	$(CC) -xM1 $(CFLAGS) $(CPPFLAGS)
+# X makedepend
+#MAKEDEPEND.c =	makedepend -f- -Y -- $(CFLAGS) $(CPPFLAGS) --
+INSTALL :=	install
+INSTALL.exec :=	$(INSTALL) -D -m 0755
+INSTALL.data :=	$(INSTALL) -D -m 0644
+PAX :=		pax
+GZIP :=		gzip
+SED :=		sed
+PASTE :=	paste
+MSGFMT :=	msgfmt
+INTLTOOL_UPDATE := intltool-update
+INTLTOOL_MERGE := intltool-merge
+
+DESTDIR ?=
+prefix ?=	/usr/local
+bindir ?=	$(prefix)/bin
+datadir ?=	$(prefix)/share
+localedir ?=	$(datadir)/locale
+sysconfdir ?=	/etc
+xdgautostartdir ?= $(sysconfdir)/xdg/autostart
+
+OS_NAME :=	$(shell uname -s)
+
+PKGCONFIG_LIBS :=	dbus-1 glib-2.0 dbus-glib-1 libnotify
+EXTRA_LIBS :=
+
+ifeq ($(OS_NAME),Linux)
+    OBJS_UTMP :=	xwrited-utmp-utempter.o
+    EXTRA_LIBS +=	-lutempter
+else ifeq ($(OS_NAME),FreeBSD)
+    OBJS_UTMP :=	xwrited-utmp-utempter.o
+    EXTRA_LIBS +=	-lutempter
+else
+    OBJS_UTMP :=	xwrited-utmp-utmpx.o
+endif
+
+OBJS =		main.o xwrited-debug.o xwrited-unique.o $(OBJS_UTMP)
+AUTOSTART_FILE = $(PACKAGE).desktop
+MOFILES :=	$(patsubst %.po,%.mo,$(wildcard po/*.po))
+POTFILE =	po/$(PACKAGE).pot
+POSRCS :=	$(shell $(SED) -e 's/\#.*//' -e '/^[ \t]*$$/d' \
+		-e 's/^\[[^]]*\]//' po/POTFILES.in | $(PASTE) -s -d ' ')
+CPPFLAGS := 	$(CPPFLAGS_EXTRA) \
+		$(CPPFLAGS_LIBUTEMPTER) \
+		$(shell pkg-config --cflags $(PKGCONFIG_LIBS)) \
+		-DPACKAGE="\"$(PACKAGE)\"" \
+		-DAPP_NAME=\"$(APP_NAME)\" \
+		-DVERSION=\"$(VERSION)\" \
+		-DLOCALEDIR="\"$(localedir)\"" \
+		-DG_LOG_DOMAIN=\"$(PACKAGE)\"
+LDLIBS :=	$(EXTRA_LIBS) \
+		$(shell pkg-config --libs $(PKGCONFIG_LIBS))
+
+.DEFAULT_TARGET = all
+
+.PHONY: all clean clobber dist install
+
+all: $(PACKAGE) $(MOFILES) $(AUTOSTART_FILE)
+
+$(PACKAGE): $(OBJS)
+	$(LINK.o) $^ $(LDLIBS) -o $@
+
+$(POTFILE): po/POTFILES.in $(POSRCS)
+	cd po/ && $(INTLTOOL_UPDATE) --pot --gettext-package="$(PACKAGE)"
+
+pot: $(POTFILE)
+
+update-po: $(POTFILE)
+	cd po/ && for lang in $(patsubst po/%.mo,%,$(MOFILES)); do \
+	    $(INTLTOOL_UPDATE) --dist --gettext-package="$(PACKAGE)" \
+	    $${lang}; \
+	done
+
+%.o: %.c
+	$(MAKEDEPEND.c) $< | $(SED) -f deps.sed >$*.d
+	$(COMPILE.c) -o $@ $<
+
+%.desktop: %.desktop.in $(MOFILES)
+	$(INTLTOOL_MERGE) --desktop-style --utf8 po $< $@
+
+%.mo: %.po
+	$(MSGFMT) -o $@ $<
+
+install:
+	$(INSTALL.exec) $(PACKAGE) "$(DESTDIR)$(bindir)/$(PACKAGE)"
+	for lang in $(patsubst po/%.mo,%,$(MOFILES)); do \
+	    $(INSTALL.data) po/$${lang}.mo \
+	        "$(DESTDIR)$(localedir)/$${lang}/LC_MESSAGES/$(PACKAGE).mo"; \
+	done
+	$(INSTALL.data) $(AUTOSTART_FILE) \
+	        "$(DESTDIR)$(xdgautostartdir)/$(notdir $(AUTOSTART_FILE))"
+
+clean:
+	rm -f $(PACKAGE) $(OBJS) $(POTFILE) $(MOFILES) $(AUTOSTART_FILE)
+
+clobber: clean
+	rm -f $(patsubst %.o,%.d,$(OBJS))
+
+dist: clobber
+	$(PAX) -w -x ustar -s ',.*/\..*,,' -s ',./[^/]*\.tar\.gz,,' \
+	    -s ',\./,$(DISTNAME)/,' . | $(GZIP) > $(DISTNAME).tar.gz
+
+-include $(patsubst %.o,%.d,$(OBJS))