summaryrefslogtreecommitdiffstats
path: root/Makefile.am
blob: 803b0a92aeff90684c338cb859a50b654a0a3963 (plain)
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
92
SUBDIRS = asn1 util client contrib daemons init install ipaclient ipalib ipaplatform ipapython ipaserver ipatests po

MOSTLYCLEANFILES = ipasetup.pyc ipasetup.pyo

# user-facing scripts
dist_bin_SCRIPTS = ipa

# files required for build but not installed
dist_noinst_SCRIPTS = ignore_import_errors.py \
		      lite-server.py \
		      makeapi \
		      makeaci \
		      make-doc \
		      make-test \
		      pylint_plugins.py

EXTRA_DIST = .mailmap \
	     ACI.txt \
	     API.txt \
	     BUILD.txt \
	     Contributors.txt \
	     COPYING.openssl \
	     contrib \
	     doc \
	     pylintrc \
	     pytest.ini

# convenience targets for RPM build
RPMBUILD ?= $(abs_builddir)/rpmbuild
TARBALL = $(PACKAGE)-$(VERSION).tar.gz
rpmroot:
	mkdir -p $(RPMBUILD)/BUILD
	mkdir -p $(RPMBUILD)/RPMS
	mkdir -p $(RPMBUILD)/SOURCES
	mkdir -p $(RPMBUILD)/SPECS
	mkdir -p $(RPMBUILD)/SRPMS

rpmdistdir:
	mkdir -p $(top_builddir)/dist/rpms
	mkdir -p $(top_builddir)/dist/srpms

rpms: dist-gzip rpmroot rpmdistdir
	cp $(top_builddir)/$(TARBALL) $(RPMBUILD)/SOURCES/
	rpmbuild --define "_topdir $(RPMBUILD)" -ba $(top_builddir)/$(PACKAGE).spec
	cp $(RPMBUILD)/RPMS/*/*.rpm $(top_builddir)/dist/rpms/
	cp $(RPMBUILD)/SRPMS/*.src.rpm $(top_builddir)/dist/srpms/

.PHONY: lint
if WITH_PYLINT
PYLINT_TARGET = pylint
endif WITH_PYLINT
if WITH_JSLINT
JSLINT_TARGET = jslint
endif WITH_JSLINT
lint: $(PYLINT_TARGET) $(JSLINT_TARGET)

.PHONY: pylint
pylint:
	FILES=`find $(top_srcdir) \
		-type d -exec test -e '{}/__init__.py' \; -print -prune -o \
		-path '*/.*' -o \
		-path '*.in' -o \
		-path './dist/*' -o \
		-path './lextab.py' -o \
		-path './yacctab.py' -o \
		-name '*~' -o \
		-name \*.py -print -o \
		-type f -exec grep -qsm1 '^#!.*\bpython' '{}' \; -print`; \
	echo "Pylint is running, please wait ..."; \
	PYTHONPATH=$(top_srcdir) $(PYLINT) \
		--rcfile=$(top_srcdir)/pylintrc $${FILES}

.PHONY: jslint jslint-ui jslint-ui-test jslint-html
jslint: jslint-ui jslint-ui-test jslint-html

# create temporary symlinks to allow jslint to find libs/loader.js
jslint-ui:
	cd $(top_srcdir)/install/ui;				\
	$(MKDIR_P) js;						\
	rm -f js/libs;						\
	$(LN_S) ../src/libs js/libs;				\
	jsl -nologo -nosummary -nofilelisting -conf jsl.conf;	\
	rm js/libs;						\
	rmdir js

jslint-ui-test:
	cd $(top_srcdir)/install/ui/test;			\
	jsl -nologo -nosummary -nofilelisting -conf jsl.conf

jslint-html:
	cd $(top_srcdir)/install/html; 				\
	jsl -nologo -nosummary -nofilelisting -conf jsl.conf