[certmaster] Documentation and cleanup for minion-to-minion
[certmaster.git] / Makefile
1 VERSION = 0.24
2 RELEASE = 5
3 PYTHON = /usr/bin/python
4
5 MESSAGESPOT=po/messages.pot
6
7 TOPDIR = $(shell pwd)
8 DIRS = certmaster docs scripts
9 PYDIRS = certmaster scripts
10 EXAMPLEDIR = examples
11 INITDIR = init-scripts
12
13 all: rpms
14
15
16 manpage:
17 pod2man --center="certmaster-request" --release="" ./docs/certmaster-request.pod | gzip -c > ./docs/certmaster-request.1.gz
18 pod2man --center="certmaster" --release="" ./docs/certmaster.pod | gzip -c > ./docs/certmaster.1.gz
19 pod2man --center="certmaster-ca" --release="" ./docs/certmaster-ca.pod | gzip -c > ./docs/certmaster-ca.1.gz
20 pod2man --center="certmaster-sync" --release="" ./docs/certmaster-sync.pod | gzip -c > ./docs/certmaster-sync.1.gz
21
22 messages: certmaster/*.py
23 touch $(MESSAGESPOT)
24 xgettext -k_ -kN_ -o $(MESSAGESPOT) certmaster/*.py
25 sed -i'~' -e 's/SOME DESCRIPTIVE TITLE/certmaster/g' -e 's/YEAR THE PACKAGE'"'"'S COPYRIGHT HOLDER/2007 Red Hat, inc. /g' -e 's/FIRST AUTHOR <EMAIL@ADDRESS>, YEAR/Adrian Likins <alikins@redhat.com>, 2007/g' -e 's/PACKAGE VERSION/certmaster $(VERSION)-$(RELEASE)/g' -e 's/PACKAGE/certmaster/g' $(MESSAGESPOT)
26
27 build: clean
28 $(PYTHON) setup.py build -f
29
30 clean:
31 -rm -f MANIFEST
32 -rm -rf dist/ build/
33 -rm -rf *~
34 -rm -rf rpm-build/
35 -rm -rf docs/*.gz
36 -for d in $(DIRS); do ($(MAKE) -C $$d clean ); done
37
38 clean_hard:
39 -rm -rf $(shell $(PYTHON) -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")/certmaster
40
41 clean_harder:
42 -rm -rf /etc/pki/certmaster
43 -rm -rf /etc/certmaster
44 -rm -rf /var/lib/certmaster
45
46 clean_hardest: clean_rpms
47
48
49 install: build manpage
50 $(PYTHON) setup.py install -f
51
52 install_hard: clean_hard install
53
54 install_harder: clean_harder install
55
56 install_hardest: clean_harder clean_rpms rpms install_rpm restart
57
58 install_rpm:
59 -rpm -Uvh rpm-build/certmaster-$(VERSION)-$(RELEASE)$(shell rpm -E "%{?dist}").noarch.rpm
60
61 restart:
62 -/etc/init.d/certmaster restart
63
64 recombuild: install_harder restart
65
66 clean_rpms:
67 -rpm -e certmaster
68
69 sdist: messages
70 $(PYTHON) setup.py sdist
71
72 new-rpms: bumprelease rpms
73
74 pychecker:
75 -for d in $(PYDIRS); do ($(MAKE) -C $$d pychecker ); done
76 pyflakes:
77 -for d in $(PYDIRS); do ($(MAKE) -C $$d pyflakes ); done
78
79 money: clean
80 -sloccount --addlang "makefile" $(TOPDIR) $(PYDIRS) $(EXAMPLEDIR) $(INITDIR)
81
82 async: install
83 /sbin/service certmaster restart
84 sleep 4
85
86 rpms: build manpage sdist
87 mkdir -p rpm-build
88 cp dist/*.gz rpm-build/
89 rpmbuild --define "_topdir %(pwd)/rpm-build" \
90 --define "_builddir %{_topdir}" \
91 --define "_rpmdir %{_topdir}" \
92 --define "_srcrpmdir %{_topdir}" \
93 --define '_rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm' \
94 --define "_specdir %{_topdir}" \
95 --define "_sourcedir %{_topdir}" \
96 -ba certmaster.spec