Add sdist and rpms targets to Makefile
[cascardo/ipsilon.git] / Makefile
1 RPMBUILD = $(PWD)/dist/rpmbuild
2
3 all: lint pep8
4
5 lint:
6         # Analyze code
7         # don't show recommendations, info, comments, report
8         # W0613 - unused argument
9         # Ignore cherrypy class members as they are dynamically added
10         pylint -d c,r,i,W0613 -r n -f colorized \
11                    --notes= \
12                    --ignored-classes=cherrypy \
13                    ./ipsilon
14
15 pep8:
16         # Check style consistency
17         pep8 ipsilon
18
19 # Requires python-lesscpy
20 ui: less/ipsilon.less less/admin.less
21         # Create CSS
22         lesscpy less/ipsilon.less > ui/css/ipsilon.css
23         lesscpy less/admin.less > ui/css/admin.css
24
25 # Requires NodeJS less and clear-css packages
26 # Should be removed when lesscpy starts to work properly
27 ui-node: less/ipsilon.less less/admin.less
28         # Create and minify CSS
29         lessc --clean-css less/ipsilon.less ui/css/ipsilon.css
30         lessc --clean-css less/admin.less ui/css/admin.css
31
32 sdist:
33         python setup.py sdist
34
35 rpmroot:
36         rm -rf $(RPMBUILD)
37         mkdir -p $(RPMBUILD)/BUILD
38         mkdir -p $(RPMBUILD)/RPMS
39         mkdir -p $(RPMBUILD)/SOURCES
40         mkdir -p $(RPMBUILD)/SPECS
41         mkdir -p $(RPMBUILD)/SRPMS
42
43 rpmdistdir:
44         mkdir -p dist/rpms
45         mkdir -p dist/srpms
46
47 rpms: rpmroot rpmdistdir sdist
48         cp dist/ipsilon*.tar.gz $(RPMBUILD)/SOURCES/
49         rpmbuild --define "_topdir $(RPMBUILD)" -ba contrib/fedora/ipsilon.spec
50         mv $(RPMBUILD)/RPMS/*/ipsilon-*.rpm dist/rpms/
51         mv $(RPMBUILD)/SRPMS/ipsilon-*.src.rpm dist/srpms/
52         rm -rf $(RPMBUILD)
53
54 rpms: sdist