Fleshing out README.md
[certmaster.git] / Makefile
1 VERSION = 0.28
2 RELEASE = 1
3 PYTHON = /usr/bin/python
4 DIST = pwan
5
6 MESSAGESPOT=po/messages.pot
7
8 TOPDIR = $(shell pwd)
9 DIRS = certmaster docs scripts
10 PYDIRS = certmaster scripts
11 EXAMPLEDIR = examples
12 INITDIR = init-scripts
13
14 all: rpms
15
16 versionfile:
17 echo "version:" $(VERSION) > etc/version
18 echo "release:" $(RELEASE) >> etc/version
19 echo "source build date:" $(DATE) >> etc/version
20 echo "git commit:" $(shell git log -n 1 --pretty="format:%H") >> etc/version
21 echo "git date:" $(shell git log -n 1 --pretty="format:%cd") >> etc/version
22
23 manpage:
24 pod2man --center="certmaster-request" --release="" ./docs/certmaster-request.pod | gzip -c > ./docs/certmaster-request.1.gz
25 pod2man --center="certmaster" --release="" ./docs/certmaster.pod | gzip -c > ./docs/certmaster.1.gz
26 pod2man --center="certmaster-ca" --release="" ./docs/certmaster-ca.pod | gzip -c > ./docs/certmaster-ca.1.gz
27 pod2man --center="certmaster-sync" --release="" ./docs/certmaster-sync.pod | gzip -c > ./docs/certmaster-sync.1.gz
28
29 messages: certmaster/*.py
30 touch $(MESSAGESPOT)
31 xgettext -k_ -kN_ -o $(MESSAGESPOT) certmaster/*.py
32 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)
33
34 build: clean
35 $(PYTHON) setup.py build -f
36
37 clean:
38 -rm -f MANIFEST
39 -rm -rf dist/ build/
40 -rm -rf *~
41 -rm -rf rpm-build/
42 -rm -rf docs/*.gz
43 -for d in $(DIRS); do ($(MAKE) -C $$d clean ); done
44
45 clean_hard:
46 -rm -rf $(shell $(PYTHON) -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")/certmaster
47
48 clean_harder:
49 -rm -rf /etc/pki/certmaster
50 -rm -rf /etc/certmaster
51 -rm -rf /var/lib/certmaster
52
53 clean_hardest: clean_rpms
54
55
56 install: build manpage
57 $(PYTHON) setup.py install -f
58
59 install_hard: clean_hard install
60
61 install_harder: clean_harder install
62
63 install_hardest: clean_harder clean_rpms rpms install_rpm restart
64
65 install_rpm:
66 -rpm -Uvh rpm-build/certmaster-$(VERSION)-$(RELEASE)$(shell rpm -E "%{?dist}").noarch.rpm
67
68 restart:
69 -/etc/init.d/certmaster restart
70
71 recombuild: install_harder restart
72
73 clean_rpms:
74 -rpm -e certmaster
75
76 sdist: messages
77 $(PYTHON) setup.py sdist
78
79 new-rpms: bumprelease rpms
80
81 pychecker:
82 -for d in $(PYDIRS); do ($(MAKE) -C $$d pychecker ); done
83 pyflakes:
84 -for d in $(PYDIRS); do ($(MAKE) -C $$d pyflakes ); done
85
86 money: clean
87 -sloccount --addlang "makefile" $(TOPDIR) $(PYDIRS) $(EXAMPLEDIR) $(INITDIR)
88
89 async: install
90 /sbin/service certmaster restart
91 sleep 4
92
93 rpms: build manpage sdist
94 mkdir -p rpm-build
95 cp dist/*.gz rpm-build/
96 echo ${RELEASE}
97 rpmbuild --define "_topdir %(pwd)/rpm-build" \
98 --define "dist ${DIST}" \
99 --define "_builddir %{_topdir}" \
100 --define "_rpmdir %{_topdir}" \
101 --define "_srcrpmdir %{_topdir}" \
102 --define '_rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm' \
103 --define "_specdir %{_topdir}" \
104 --define "_sourcedir %{_topdir}" \
105 -ba certmaster.spec