-
ACLOCAL_AMFLAGS = -I config
-include $(top_srcdir)/config/rpm.am
-include $(top_srcdir)/config/deb.am
-include $(top_srcdir)/config/tgz.am
+include config/rpm.am
+include config/deb.am
+include config/tgz.am
SUBDIRS = include rpm
if CONFIG_USER
-SUBDIRS += dracut udev etc man scripts lib cmd contrib
+SUBDIRS += udev etc man scripts lib tests cmd contrib
endif
if CONFIG_KERNEL
SUBDIRS += module
-extradir = /usr/src/zfs-$(VERSION)
+extradir = @prefix@/src/zfs-$(VERSION)
extra_HEADERS = zfs.release.in zfs_config.h.in
-kerneldir = /usr/src/zfs-$(VERSION)/$(LINUX_VERSION)
+kerneldir = @prefix@/src/zfs-$(VERSION)/$(LINUX_VERSION)
nodist_kernel_HEADERS = zfs.release zfs_config.h module/$(LINUX_SYMBOLS)
endif
sed -i 's/Release:[[:print:]]*/Release: $(RELEASE)/' \
$(distdir)/META
-checkstyle:
+checkstyle: cstyle shellcheck flake8
+
+cstyle:
@find ${top_srcdir} -name '*.[hc]' ! -name 'zfs_config.*' \
- ! -name '*.mod.c' -type f -exec scripts/cstyle.pl {} \+
+ ! -name '*.mod.c' -type f -exec scripts/cstyle.pl -cpP {} \+
+
+shellcheck:
+ @if type shellcheck > /dev/null 2>&1; then \
+ shellcheck --exclude=SC1090 --format gcc scripts/paxcheck.sh \
+ scripts/zloop.sh \
+ scripts/zfs-tests.sh \
+ scripts/zfs.sh; \
+ (find cmd/zed/zed.d/*.sh -type f) | \
+ grep -v 'zfs-script-config' | \
+ while read file; do \
+ shellcheck --exclude=SC1090 --format gcc "$$file"; \
+ done; \
+ fi
+
+lint: cppcheck paxcheck
+
+cppcheck:
+ @if type cppcheck > /dev/null 2>&1; then \
+ cppcheck --inline-suppr --quiet --force --error-exitcode=2 \
+ ${top_srcdir}; \
+ fi
+
+paxcheck:
+ @if type scanelf > /dev/null 2>&1; then \
+ scripts/paxcheck.sh ${top_srcdir}; \
+ fi
+
+flake8:
+ @if type flake8 > /dev/null 2>&1; then \
+ flake8 ${top_srcdir}; \
+ fi
ctags:
- $(RM) $(top_srcdir)/tags
+ $(RM) tags
find $(top_srcdir) -name .git -prune -o -name '*.[hc]' | xargs ctags
etags:
- $(RM) $(top_srcdir)/TAGS
+ $(RM) TAGS
find $(top_srcdir) -name .pc -prune -o -name '*.[hc]' | xargs etags -a
tags: ctags etags