-
Notifications
You must be signed in to change notification settings - Fork 28
/
Makefile
91 lines (66 loc) · 2.2 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
VERSION = 1.4.2
RELEASE = 1
DATE = $(shell date)
NEWRELEASE = $(shell echo $$(($(RELEASE) + 1)))
PYTHON = /usr/bin/python
TOPDIR = $(shell pwd)
DIRS = build docs etc okconfig usr
PYDIRS = okconfig bin
EXAMPLEDIR =
MANPAGES = okconfig
all: rpms
versionfile:
echo "version:" $(VERSION) > etc/version
echo "release:" $(RELEASE) >> etc/version
echo "source build date:" $(DATE) >> etc/version
#echo "git commit:" $(shell git log -n 1 --pretty="format:%H") >> etc/version
#echo "git date:" $(shell git log -n 1 --pretty="format:%cd") >> etc/version
# echo $(shell git log -n 1 --pretty="format:git commit: %H from \(%cd\)") >> etc/version
manpage:
for manpage in $(MANPAGES); do (pod2man --center=$$manpage --release="" ./docs/$$manpage.pod | gzip -c > ./docs/$$manpage.1.gz); done
build: clean versionfile
$(PYTHON) setup.py build -f
clean:
-rm -f MANIFEST
-rm -rf dist/ build/
-rm -rf *~
-rm -rf rpm-build/
-rm -rf docs/*.gz
-rm -f etc/version
#-for d in $(DIRS); do ($(MAKE) -C $$d clean ); done
clean_hard:
-rm -rf $(shell $(PYTHON) -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")/okconfig
clean_hardest: clean_rpms
install: build manpage
$(PYTHON) setup.py install -f
install_hard: clean_hard install
install_harder: clean_harder install
install_hardest: clean_harder clean_rpms rpms install_rpm
install_rpm:
-rpm -Uvh rpm-build/okconfig-$(VERSION)-$(NEWRELEASE)$(shell rpm -E "%{?dist}").noarch.rpm
recombuild: install_harder
clean_rpms:
-rpm -e okconfig
sdist:
$(PYTHON) setup.py sdist
pychecker:
-for d in $(PYDIRS); do ($(MAKE) -C $$d pychecker ); done
pyflakes:
-for d in $(PYDIRS); do ($(MAKE) -C $$d pyflakes ); done
money: clean
-sloccount --addlang "makefile" $(TOPDIR) $(PYDIRS) $(EXAMPLEDIR)
testit: clean
-cd test; sh test-it.sh
unittest:
-nosetests -v -w test/unittest
rpms: build manpage sdist
mkdir -p rpm-build
cp dist/*.gz rpm-build/
rpmbuild --define "_topdir %(pwd)/rpm-build" \
--define "_builddir %{_topdir}" \
--define "_rpmdir %{_topdir}" \
--define "_srcrpmdir %{_topdir}" \
--define '_rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm' \
--define "_specdir %{_topdir}" \
--define "_sourcedir %{_topdir}" \
-ba okconfig.spec