]> arthur.barton.de Git - ngircd-alex.git/blobdiff - Makefile.am
doc/PAM.txt: add a slightly more useful example
[ngircd-alex.git] / Makefile.am
index 23ed90bccb007dd7a485cbd946973729ca93a2e8..0b797c13f77df377ed075c5b4cda00b8ab98a129 100644 (file)
@@ -1,6 +1,6 @@
 #
 # ngIRCd -- The Next Generation IRC Daemon
-# Copyright (c)2001-2008 Alexander Barton (alex@barton.de)
+# Copyright (c)2001-2013 Alexander Barton (alex@barton.de) and Contributors
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -13,43 +13,66 @@ AUTOMAKE_OPTIONS = gnu
 
 SUBDIRS = doc src man contrib
 
-clean-local:
+EXTRA_DIST = autogen.sh configure.ng .mailmap
+
+clean-local: osxpkg-clean
        rm -f build-stamp*
-       rm -rf ngircd.dest
 
 maintainer-clean-local:
        rm -rf autom4te.cache
-       rm -f Makefile.in Makefile aclocal.m4 configure
-       rm -f mkinstalldirs missing depcomp install-sh
+       rm -f Makefile.in Makefile aclocal.m4 configure configure.ac
+       rm -f ar-lib mkinstalldirs missing depcomp install-sh
        rm -f config.log debian
 
 testsuite:
-       make -C src/testsuite check
+       cd src/testsuite && make check
 
 lint:
-       make -C src/ngircd lint
+       cd src/ngircd && make lint
 
 srcdoc:
-       make -C doc srcdoc
+       cd doc && make srcdoc
 
-xcode:
+have-xcodebuild:
        @xcodebuild -project contrib/MacOSX/ngIRCd.xcodeproj -list \
         >/dev/null 2>&1 \
         || ( echo; echo "Error: \"xcodebuild\" not found!"; echo; exit 1 )
+
+have-packagemaker:
+       @packagemaker >/dev/null 2>&1; [ $$? -le 1 ] \
+        || ( echo; echo "Error: \"packagemaker\" not found!"; echo; exit 2)
+
+xcode: have-xcodebuild
+       rel=`git describe|sed -e 's/rel-//g'|sed -e 's/-/~/'`; \
+        def="GCC_PREPROCESSOR_DEFINITIONS=\"VERSION=\\\"$$rel\\\"\""; \
+        xcodebuild -project contrib/MacOSX/ngIRCd.xcodeproj -alltargets \
+        -configuration Default $$def build
+
+xcode-clean: have-xcodebuild
        xcodebuild -project contrib/MacOSX/ngIRCd.xcodeproj -alltargets \
-        -buildstyle Development
+        -configuration Default clean
+       rm -fr contrib/MacOSX/build
 
 rpm: distcheck
        rpm -ta ngircd-*.tar.gz
 
 deb:
        [ -f debian/rules ] || ln -s contrib/Debian debian
-       dpkg-buildpackage -rfakeroot
+       dpkg-buildpackage -rfakeroot -i
 
-osxpkg:
-       @packagemaker >/dev/null 2>&1; [ $$? -ge 1 ] \
-        || ( echo; echo "Error: \"packagemaker\" not found!"; echo; exit 2)
-       make clean
+osxpkg: have-packagemaker osxpkg-dest
+       cd contrib/MacOSX && packagemaker --no-recommend \
+        --doc ngIRCd.pmdoc \
+        --out ../../$(distdir).mpkg
+       rm -f $(distdir).mpkg.zip
+       zip -ro9 $(distdir).mpkg.zip $(distdir).mpkg
+       make osxpkg-clean
+
+osxpkg-clean:
+       [ ! -e ngircd.dest ] || sudo -n rm -rf ngircd.dest
+       rm -rf ngircd.dest $(distdir).mpkg
+
+osxpkg-dest: have-xcodebuild osxpkg-clean clean
        ./configure --prefix=/opt/ngircd
        make xcode
        make -C contrib/MacOSX de.barton.ngircd.plist
@@ -62,11 +85,9 @@ osxpkg:
        rm ngircd.dest/opt/ngircd/etc/ngircd.conf
        echo "Have a nice day IRCing!" >ngircd.dest/opt/ngircd/etc/ngircd.motd
        chmod -R a-s,og-w,a+rX ngircd.dest
-       cd contrib/MacOSX && packagemaker \
-        --doc ngIRCd.pmdoc \
-        --out ../../$(distdir).mpkg
-       rm -f $(distdir).mpkg.zip
-       zip -ro9 $(distdir).mpkg.zip $(distdir).mpkg
-       rm -rf ngircd.dest $(distdir).mpkg
+       sudo chown -R root:wheel ngircd.dest
+
+.PHONY: deb have-packagemaker have-xcodebuild lint osxpkg osxpkg-clean \
+       osxpkg-dest rpm srcdoc testsuite xcode xcode-clean
 
 # -eof-