Add make cscope target
[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 clean:
33         rm -fr testdir cscope.out
34
35 cscope:
36         git ls-files | xargs pycscope -i .filelist
37
38 lp-test:
39         pylint -d c,r,i,W0613 -r n -f colorized \
40                    --notes= \
41                    --ignored-classes=cherrypy \
42                    ./tests
43         pep8 tests
44
45 wrappers:
46         #rm -fr wrapdir
47         #mkdir wrapdir
48         #LD_PRELOAD=libsocket_wrapper.so
49         #SOCKET_WRAPPER_DIR=wrapdir
50         #SOCKET_WRAPPER_DEFAULT_IFACE=9
51
52 tests: wrappers
53         PYTHONPATH=./ ./tests/tests.py --test=test1
54         PYTHONPATH=./ ./tests/tests.py --test=attrs
55         PYTHONPATH=./ ./tests/tests.py --test=trans
56
57 test: lp-test tests
58         PYTHONPATH=./ ./ipsilon/tools/saml2metadata.py
59
60 sdist:
61         python setup.py sdist
62
63 rpmroot:
64         rm -rf $(RPMBUILD)
65         mkdir -p $(RPMBUILD)/BUILD
66         mkdir -p $(RPMBUILD)/RPMS
67         mkdir -p $(RPMBUILD)/SOURCES
68         mkdir -p $(RPMBUILD)/SPECS
69         mkdir -p $(RPMBUILD)/SRPMS
70
71 rpmdistdir:
72         mkdir -p dist/rpms
73         mkdir -p dist/srpms
74
75 rpms: rpmroot rpmdistdir sdist
76         cp dist/ipsilon*.tar.gz $(RPMBUILD)/SOURCES/
77         rpmbuild --define "_topdir $(RPMBUILD)" -ba contrib/fedora/ipsilon.spec
78         mv $(RPMBUILD)/RPMS/*/ipsilon-*.rpm dist/rpms/
79         mv $(RPMBUILD)/SRPMS/ipsilon-*.src.rpm dist/srpms/
80         rm -rf $(RPMBUILD)
81
82 rpms: sdist