da28471775169c90a224914a795b971d16c3d562
[irker.git] / Makefile
1 # Makefile for the irker relaying daemon
2
3 VERS=$(shell sed -n 's/version = "\(.\+\)"/\1/p' irkerd)
4 SYSTEMDSYSTEMUNITDIR:=$(shell pkg-config --variable=systemdsystemunitdir systemd)
5
6 docs: irkerd.html irkerd.8 irkerhook.html irkerhook.1
7
8 irkerd.8: irkerd.xml
9         xmlto man irkerd.xml
10 irkerd.html: irkerd.xml
11         xmlto html-nochunks irkerd.xml
12
13 irkerhook.1: irkerhook.xml
14         xmlto man irkerhook.xml
15 irkerhook.html: irkerhook.xml
16         xmlto html-nochunks irkerhook.xml
17
18 install.html: install.txt
19         asciidoc -o install.html install.txt
20 security.html: security.txt
21         asciidoc -o security.html security.txt
22 hacking.html: hacking.txt
23         asciidoc -o hacking.html hacking.txt
24
25 install: irkerd.8 irkerhook.1 uninstall
26         install -m 755 -o 0 -g 0 -d $(DESTDIR)/usr/bin/
27         install -m 755 -o 0 -g 0 irkerd $(DESTDIR)/usr/bin/irkerd
28 ifneq ($(strip $(SYSTEMDSYSTEMUNITDIR)),)
29         install -m 755 -o 0 -g 0 -d $(DESTDIR)$(SYSTEMDSYSTEMUNITDIR)
30         install -m 644 -o 0 -g 0 irkerd.service $(DESTDIR)$(SYSTEMDSYSTEMUNITDIR)
31 endif
32         install -m 755 -o 0 -g 0 -d $(DESTDIR)/usr/share/man/man8/
33         install -m 755 -o 0 -g 0 irkerd.8 $(DESTDIR)/usr/share/man/man8/irkerd.8
34         install -m 755 -o 0 -g 0 -d $(DESTDIR)/usr/share/man/man1/
35         install -m 755 -o 0 -g 0 irkerhook.1 $(DESTDIR)/usr/share/man/man1/irkerhook.1
36
37 uninstall:
38         rm -f $(DESTDIR)/usr/bin/irkerd
39 ifneq ($(strip $(SYSTEMDSYSTEMUNITDIR)),)
40         rm -f $(DESTDIR)$(SYSTEMDSYSTEMUNITDIR)/irkerd.service
41 endif
42         rm -f $(DESTDIR)/usr/share/man/man8/irkerd.8
43         rm -f $(DESTDIR)/usr/share/man/man1/irkerhook.1
44
45 clean:
46         rm -f irkerd.8 irkerhook.1 irker-*.tar.gz *~
47         rm -f SHIPPER.* *.html
48
49 PYLINTOPTS = --rcfile=/dev/null --reports=n --include-ids=y --disable="C0103,C0111,C0301,R0201,R0902,R0903,R0912,R0915,E1101,W0201,W0621,W0702,F0401"
50 pylint:
51         @pylint --output-format=parseable $(PYLINTOPTS) irkerd
52         @pylint --output-format=parseable $(PYLINTOPTS) irkerhook.py
53
54 loc:
55         @echo "LOC:"; wc -l irkerd irkerhook.py
56         @echo -n "LLOC: "; grep -vE '(^ *#|^ *$$)' irkerd irkerhook.py | wc -l
57
58 SOURCES = README COPYING NEWS install.txt security.txt hacking.txt \
59         irkerd irkerhook.py filter-example.py filter-test.py irk \
60         Makefile irkerd.xml irkerhook.xml
61 EXTRA_DIST = irker-logo.png org.catb.irkerd.plist irkerd.service
62
63 version:
64         @echo $(VERS)
65
66 irker-$(VERS).tar.gz: $(SOURCES) irkerd.8 irkerhook.1
67         tar --transform='s:^:irker-$(VERS)/:' --show-transformed-names -cvzf irker-$(VERS).tar.gz $(SOURCES) $(EXTRA_DIST)
68
69 dist: irker-$(VERS).tar.gz
70
71 release: irker-$(VERS).tar.gz irkerd.html irkerhook.html install.html security.html hacking.html
72         shipper -u -m -t; make clean
73         git push && git push --tags