]> arthur.ath.cx Git - ngircd-alex.git/blob - Makefile.am
Initial support for Vagrant
[ngircd-alex.git] / Makefile.am
1 #
2 # ngIRCd -- The Next Generation IRC Daemon
3 # Copyright (c)2001-2015 Alexander Barton (alex@barton.de) and Contributors
4 #
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2 of the License, or
8 # (at your option) any later version.
9 # Please read the file COPYING, README and AUTHORS for more information.
10 #
11
12 AUTOMAKE_OPTIONS = gnu
13
14 SUBDIRS = doc src man contrib
15
16 EXTRA_DIST = autogen.sh configure.ng .clang_complete .mailmap
17
18 clean-local: osxpkg-clean
19         rm -f build-stamp*
20
21 maintainer-clean-local:
22         rm -rf autom4te.cache
23         rm -rf .vagrant
24         rm -f Makefile.in Makefile aclocal.m4 configure configure.ac
25         rm -f ar-lib mkinstalldirs missing depcomp install-sh
26         rm -f config.log debian
27
28 testsuite:
29         cd src/testsuite && make check
30
31 lint:
32         cd src/ngircd && make lint
33
34 srcdoc:
35         cd doc && make srcdoc
36
37 have-xcodebuild:
38         @xcodebuild -project contrib/MacOSX/ngIRCd.xcodeproj -list \
39          >/dev/null 2>&1 \
40          || ( echo; echo "Error: \"xcodebuild\" not found!"; echo; exit 1 )
41
42 have-packagemaker:
43         @packagemaker >/dev/null 2>&1; [ $$? -le 1 ] \
44          || ( echo; echo "Error: \"packagemaker\" not found!"; echo; exit 2)
45
46 xcode: have-xcodebuild
47         rel=`git describe|sed -e 's/rel-//g'|sed -e 's/-/~/'`; \
48          def="GCC_PREPROCESSOR_DEFINITIONS=\"VERSION=\\\"$$rel\\\"\""; \
49          xcodebuild -project contrib/MacOSX/ngIRCd.xcodeproj -alltargets \
50          -configuration Default $$def build
51
52 xcode-clean: have-xcodebuild
53         xcodebuild -project contrib/MacOSX/ngIRCd.xcodeproj -alltargets \
54          -configuration Default clean
55         rm -fr contrib/MacOSX/build
56
57 rpm: distcheck
58         rpm -ta ngircd-*.tar.gz
59
60 deb:
61         [ -f debian/rules ] || ln -s contrib/Debian debian
62         dpkg-buildpackage -rfakeroot -i
63
64 osxpkg: have-packagemaker osxpkg-dest
65         cd contrib/MacOSX && packagemaker --no-recommend \
66          --doc ngIRCd.pmdoc \
67          --out ../../$(distdir).mpkg
68         rm -f $(distdir).mpkg.zip
69         zip -ro9 $(distdir).mpkg.zip $(distdir).mpkg
70         make osxpkg-clean
71
72 osxpkg-clean:
73         [ ! -r ngircd.dest ] || sudo -n rm -rf ngircd.dest
74         rm -rf ngircd.dest $(distdir).mpkg
75
76 osxpkg-dest: have-xcodebuild osxpkg-clean clean
77         ./configure --prefix=/opt/ngircd
78         make xcode
79         make -C contrib/MacOSX de.barton.ngircd.plist
80         mkdir -p ngircd.dest/opt/ngircd/sbin
81         DESTDIR="$$PWD/ngircd.dest" make -C doc install
82         DESTDIR="$$PWD/ngircd.dest" make -C contrib install
83         DESTDIR="$$PWD/ngircd.dest" make -C man install
84         cp contrib/MacOSX/build/Default/ngIRCd \
85          ngircd.dest/opt/ngircd/sbin/ngircd
86         rm ngircd.dest/opt/ngircd/etc/ngircd.conf
87         echo "Have a nice day IRCing!" >ngircd.dest/opt/ngircd/etc/ngircd.motd
88         chmod -R a-s,og-w,a+rX ngircd.dest
89         sudo chown -R root:wheel ngircd.dest
90
91 .PHONY: deb have-packagemaker have-xcodebuild lint osxpkg osxpkg-clean \
92         osxpkg-dest rpm srcdoc testsuite xcode xcode-clean
93
94 # -eof-