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