Merge branch 'master' of ssh://alikins@git.fedorahosted.org/git/certmaster
[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
21 messages: certmaster/*.py
22 touch $(MESSAGESPOT)
23 xgettext -k_ -kN_ -o $(MESSAGESPOT) certmaster/*.py
24 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)
25
26 build: clean
27 $(PYTHON) setup.py build -f
28
29 clean:
30 -rm -f MANIFEST
31 -rm -rf dist/ build/
32 -rm -rf *~
33 -rm -rf rpm-build/
34 -rm -rf docs/*.gz
35 -for d in $(DIRS); do ($(MAKE) -C $$d clean ); done
36
37 clean_hard:
38 -rm -rf $(shell $(PYTHON) -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")/certmaster
39
40 clean_harder:
41 -rm -rf /etc/pki/certmaster
42 -rm -rf /etc/certmaster
43 -rm -rf /var/lib/certmaster
44
45 clean_hardest: clean_rpms
46
47
48 install: build manpage
49 $(PYTHON) setup.py install -f
50
51 install_hard: clean_hard install
52
53 install_harder: clean_harder install
54
55 install_hardest: clean_harder clean_rpms rpms install_rpm restart
56
57 install_rpm:
58 -rpm -Uvh rpm-build/certmaster-$(VERSION)-$(RELEASE)$(shell rpm -E "%{?dist}").noarch.rpm
59
60 restart:
61 -/etc/init.d/certmaster restart
62
63 recombuild: install_harder restart
64
65 clean_rpms:
66 -rpm -e certmaster
67
68 sdist: messages
69 $(PYTHON) setup.py sdist
70
71 new-rpms: bumprelease rpms
72
73 pychecker:
74 -for d in $(PYDIRS); do ($(MAKE) -C $$d pychecker ); done
75 pyflakes:
76 -for d in $(PYDIRS); do ($(MAKE) -C $$d pyflakes ); done
77
78 money: clean
79 -sloccount --addlang "makefile" $(TOPDIR) $(PYDIRS) $(EXAMPLEDIR) $(INITDIR)
80
81 async: install
82 /sbin/service certmaster restart
83 sleep 4
84
85 rpms: build manpage sdist
86 mkdir -p rpm-build
87 cp dist/*.gz rpm-build/
88 rpmbuild --define "_topdir %(pwd)/rpm-build" \
89 --define "_builddir %{_topdir}" \
90 --define "_rpmdir %{_topdir}" \
91 --define "_srcrpmdir %{_topdir}" \
92 --define '_rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm' \
93 --define "_specdir %{_topdir}" \
94 --define "_sourcedir %{_topdir}" \
95 -ba certmaster.spec