Consolidated definitions in logrotate file using glob.
[certmaster.git] / Makefile
1 VERSION = 0.28
2 RELEASE = 1
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 versionfile:
16 echo "version:" $(VERSION) > etc/version
17 echo "release:" $(RELEASE) >> etc/version
18 echo "source build date:" $(DATE) >> etc/version
19 echo "git commit:" $(shell git log -n 1 --pretty="format:%H") >> etc/version
20 echo "git date:" $(shell git log -n 1 --pretty="format:%cd") >> etc/version
21
22 manpage:
23 pod2man --center="certmaster-request" --release="" ./docs/certmaster-request.pod | gzip -c > ./docs/certmaster-request.1.gz
24 pod2man --center="certmaster" --release="" ./docs/certmaster.pod | gzip -c > ./docs/certmaster.1.gz
25 pod2man --center="certmaster-ca" --release="" ./docs/certmaster-ca.pod | gzip -c > ./docs/certmaster-ca.1.gz
26 pod2man --center="certmaster-sync" --release="" ./docs/certmaster-sync.pod | gzip -c > ./docs/certmaster-sync.1.gz
27
28 messages: certmaster/*.py
29 touch $(MESSAGESPOT)
30 xgettext -k_ -kN_ -o $(MESSAGESPOT) certmaster/*.py
31 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)
32
33 build: clean
34 $(PYTHON) setup.py build -f
35
36 clean:
37 -rm -f MANIFEST
38 -rm -rf dist/ build/
39 -rm -rf *~
40 -rm -rf rpm-build/
41 -rm -rf docs/*.gz
42 -for d in $(DIRS); do ($(MAKE) -C $$d clean ); done
43
44 clean_hard:
45 -rm -rf $(shell $(PYTHON) -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")/certmaster
46
47 clean_harder:
48 -rm -rf /etc/pki/certmaster
49 -rm -rf /etc/certmaster
50 -rm -rf /var/lib/certmaster
51
52 clean_hardest: clean_rpms
53
54
55 install: build manpage
56 $(PYTHON) setup.py install -f
57
58 install_hard: clean_hard install
59
60 install_harder: clean_harder install
61
62 install_hardest: clean_harder clean_rpms rpms install_rpm restart
63
64 install_rpm:
65 -rpm -Uvh rpm-build/certmaster-$(VERSION)-$(RELEASE)$(shell rpm -E "%{?dist}").noarch.rpm
66
67 restart:
68 -/etc/init.d/certmaster restart
69
70 recombuild: install_harder restart
71
72 clean_rpms:
73 -rpm -e certmaster
74
75 sdist: messages
76 $(PYTHON) setup.py sdist
77
78 new-rpms: bumprelease rpms
79
80 pychecker:
81 -for d in $(PYDIRS); do ($(MAKE) -C $$d pychecker ); done
82 pyflakes:
83 -for d in $(PYDIRS); do ($(MAKE) -C $$d pyflakes ); done
84
85 money: clean
86 -sloccount --addlang "makefile" $(TOPDIR) $(PYDIRS) $(EXAMPLEDIR) $(INITDIR)
87
88 async: install
89 /sbin/service certmaster restart
90 sleep 4
91
92 rpms: build manpage sdist
93 mkdir -p rpm-build
94 cp dist/*.gz 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