Update Platforms.txt
[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 SUBDIRS = doc src man contrib
13
14 EXTRA_DIST = README.md INSTALL.md autogen.sh configure.ng .clang_complete .mailmap
15
16 clean-local: osxpkg-clean
17         rm -f build-stamp*
18
19 maintainer-clean-local:
20         rm -rf autom4te.cache
21         rm -f Makefile.in Makefile aclocal.m4 configure configure.ac
22         rm -f ar-lib mkinstalldirs missing depcomp install-sh
23         rm -f config.log debian
24
25 testsuite:
26         cd src/testsuite && ${MAKE} check
27
28 lint:
29         cd src/ngircd && ${MAKE} lint
30
31 srcdoc:
32         cd doc && ${MAKE} srcdoc
33
34 have-xcodebuild:
35         @xcodebuild -project contrib/MacOSX/ngIRCd.xcodeproj -list \
36          >/dev/null 2>&1 \
37          || ( echo; echo "Error: \"xcodebuild\" not found!"; echo; exit 1 )
38
39 have-packagemaker:
40         @packagemaker >/dev/null 2>&1; [ $$? -le 1 ] \
41          || ( echo; echo "Error: \"packagemaker\" not found!"; echo; exit 2)
42
43 xcode: have-xcodebuild
44         rel=`git describe|sed -e 's/rel-//g'|sed -e 's/-/~/'`; \
45          def="GCC_PREPROCESSOR_DEFINITIONS=\"VERSION=\\\"$$rel\\\"\""; \
46          xcodebuild -project contrib/MacOSX/ngIRCd.xcodeproj -alltargets \
47          -configuration Default $$def build
48
49 xcode-clean: have-xcodebuild
50         xcodebuild -project contrib/MacOSX/ngIRCd.xcodeproj -alltargets \
51          -configuration Default clean
52         rm -fr contrib/MacOSX/build
53
54 rpm: distcheck
55         rpm -ta ngircd-*.tar.gz
56
57 deb:
58         [ -f debian/rules ] || ln -s contrib/Debian debian
59         dpkg-buildpackage -rfakeroot -i
60
61 osxpkg: have-packagemaker osxpkg-dest
62         cd contrib/MacOSX && packagemaker --no-recommend \
63          --doc ngIRCd.pmdoc \
64          --out ../../$(distdir).mpkg
65         rm -f $(distdir).mpkg.zip
66         zip -ro9 $(distdir).mpkg.zip $(distdir).mpkg
67         ${MAKE} osxpkg-clean
68
69 osxpkg-clean:
70         [ ! -r ngircd.dest ] || sudo -n rm -rf ngircd.dest
71         rm -rf ngircd.dest $(distdir).mpkg
72
73 osxpkg-dest: have-xcodebuild osxpkg-clean clean
74         ./configure --prefix=/opt/ngircd
75         ${MAKE} xcode
76         ${MAKE} -C contrib/MacOSX de.barton.ngircd.plist
77         mkdir -p ngircd.dest/opt/ngircd/sbin
78         DESTDIR="$$PWD/ngircd.dest" ${MAKE} -C doc install
79         DESTDIR="$$PWD/ngircd.dest" ${MAKE} -C contrib install
80         DESTDIR="$$PWD/ngircd.dest" ${MAKE} -C man install
81         cp contrib/MacOSX/build/Default/ngIRCd \
82          ngircd.dest/opt/ngircd/sbin/ngircd
83         rm ngircd.dest/opt/ngircd/etc/ngircd.conf
84         echo "Have a nice day IRCing!" >ngircd.dest/opt/ngircd/etc/ngircd.motd
85         chmod -R a-s,og-w,a+rX ngircd.dest
86         sudo chown -R root:wheel ngircd.dest
87
88 .PHONY: deb have-packagemaker have-xcodebuild lint osxpkg osxpkg-clean \
89         osxpkg-dest rpm srcdoc testsuite xcode xcode-clean
90
91 # -eof-