]> arthur.barton.de Git - ngircd-alex.git/blobdiff - Makefile.am
Correctly use cloaked IRC masks on "INVITE nickname"
[ngircd-alex.git] / Makefile.am
index d678f171d8361c2c087c1fdf61b42d31de832cf5..11c382eb965e1a94f0adf387f2b5341c6dc64b0c 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,36 +13,81 @@ 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*
 
 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: 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:
+       [ ! -r 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
+       mkdir -p ngircd.dest/opt/ngircd/sbin
+       DESTDIR="$$PWD/ngircd.dest" make -C doc install
+       DESTDIR="$$PWD/ngircd.dest" make -C contrib install
+       DESTDIR="$$PWD/ngircd.dest" make -C man install
+       cp contrib/MacOSX/build/Default/ngIRCd \
+        ngircd.dest/opt/ngircd/sbin/ngircd
+       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
+       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-