Add ".clang_complete" file
[ngircd-alex.git] / Makefile.am
index 27a7d55249f0eaa25412142494b500333e584aaa..d7ff72bc7b3df7ea0da788edf4a5ed964c4b9095 100644 (file)
@@ -1,25 +1,93 @@
 #
 # ngIRCd -- The Next Generation IRC Daemon
-# Copyright (c)2001,2002 by Alexander Barton (alex@barton.de)
+# Copyright (c)2001-2015 Alexander Barton (alex@barton.de) and Contributors
 #
-# Dieses Programm ist freie Software. Sie koennen es unter den Bedingungen
-# der GNU General Public License (GPL), wie von der Free Software Foundation
-# herausgegeben, weitergeben und/oder modifizieren, entweder unter Version 2
-# der Lizenz oder (wenn Sie es wuenschen) jeder spaeteren Version.
-# Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
-# der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
-#
-# $Id: Makefile.am,v 1.7 2002/03/12 14:37:51 alex Exp $
+# 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
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+# Please read the file COPYING, README and AUTHORS for more information.
 #
 
 AUTOMAKE_OPTIONS = gnu
 
-SUBDIRS = doc MacOSX src
+SUBDIRS = doc src man contrib
+
+EXTRA_DIST = autogen.sh configure.ng .clang_complete .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 config.log
+       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:
+       cd src/testsuite && make check
+
+lint:
+       cd src/ngircd && make lint
+
+srcdoc:
+       cd doc && make srcdoc
+
+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 \
+        -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 -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-