xref: /freebsd/sys/contrib/openzfs/scripts/Makefile.am (revision 8ac904ce090b1c2e355da8aa122ca2252183f4e1)
1scriptsdir = $(datadir)/$(PACKAGE)
2dist_noinst_SCRIPTS = \
3	%D%/commitcheck.sh \
4	%D%/common.sh.in \
5	%D%/dkms.mkconf \
6	%D%/dkms.postbuild \
7	%D%/kmodtool \
8	%D%/make_gitrev.sh \
9	%D%/man-dates.sh \
10	%D%/mancheck.sh \
11	%D%/paxcheck.sh \
12	%D%/zfs-tests-color.sh
13
14scripts_scripts = \
15	%D%/zfs-helpers.sh \
16	%D%/zfs-tests.sh \
17	%D%/zfs.sh \
18	%D%/zimport.sh \
19	%D%/zloop.sh
20
21if CONFIG_USER
22dist_scripts_SCRIPTS = $(scripts_scripts)
23dist_zfsexec_SCRIPTS = \
24	%D%/zfs_prepare_disk
25else
26dist_noinst_SCRIPTS += $(scripts_scripts)
27endif
28
29dist_noinst_DATA += \
30	%D%/cstyle.pl \
31	%D%/update_authors.pl
32
33SHELLCHECKSCRIPTS += $(dist_scripts_SCRIPTS) $(dist_noinst_SCRIPTS)
34
35define SCRIPTS_EXTRA_ENVIRONMENT
36
37# Only required for in-tree use
38export INTREE="yes"
39export GDB="libtool --mode=execute gdb"
40export LDMOD=/sbin/insmod
41
42export CMD_DIR=$(abs_top_builddir)
43export UDEV_SCRIPT_DIR=$(abs_top_srcdir)/udev
44export UDEV_CMD_DIR=$(abs_top_builddir)/udev
45export UDEV_RULE_DIR=$(abs_top_builddir)/udev/rules.d
46export ZEDLET_ETC_DIR=$$CMD_DIR/cmd/zed/zed.d
47export ZEDLET_LIBEXEC_DIR=$$CMD_DIR/cmd/zed/zed.d
48export ZPOOL_SCRIPT_DIR=$$CMD_DIR/cmd/zpool/zpool.d
49export ZPOOL_SCRIPTS_PATH=$$CMD_DIR/cmd/zpool/zpool.d
50export ZPOOL_COMPAT_DIR=$$CMD_DIR/cmd/zpool/compatibility.d
51export CONTRIB_DIR=$(abs_top_builddir)/contrib
52export LIB_DIR=$(abs_top_builddir)/.libs
53export SYSCONF_DIR=$(abs_top_builddir)/etc
54
55export INSTALL_UDEV_DIR=$(udevdir)
56export INSTALL_UDEV_RULE_DIR=$(udevruledir)
57export INSTALL_MOUNT_HELPER_DIR=$(mounthelperdir)
58export INSTALL_SYSCONF_DIR=$(sysconfdir)
59export INSTALL_PYTHON_DIR=$(pythonsitedir)
60export INSTALL_PKGDATA_DIR=$(pkgdatadir)
61
62export KMOD_SPL=$(abs_top_builddir)/module/spl.ko
63export KMOD_ZFS=$(abs_top_builddir)/module/zfs.ko
64export KMOD_FREEBSD=$(abs_top_builddir)/module/openzfs.ko
65endef
66
67export SCRIPTS_EXTRA_ENVIRONMENT
68
69CLEANFILES += %D%/common.sh
70%D%/common.sh: %D%/common.sh.in Makefile
71	-$(AM_V_at)$(MKDIR_P) $(@D)
72	-$(AM_V_GEN)$(SED) -e '/^export BIN_DIR=/s|$$|$(abs_top_builddir)/tests/zfs-tests/bin|' \
73		-e '/^export SBIN_DIR=/s|$$|$(abs_top_builddir)|' \
74		-e '/^export LIBEXEC_DIR=/s|$$|$(abs_top_builddir)|' \
75		-e '/^export ZTS_DIR=/s|$$|$(abs_top_srcdir)/tests|' \
76		-e '/^export SCRIPT_DIR=/s|$$|$(abs_top_srcdir)/scripts|' \
77		$< >$@
78	-$(AM_V_at)echo "$$SCRIPTS_EXTRA_ENVIRONMENT" >>$@
79
80ALL_LOCAL += scripts-all-local
81scripts-all-local: %D%/common.sh $(PROGRAMS) $(SCRIPTS) $(DATA)
82	-SCRIPT_COMMON=$< $(srcdir)/%D%/zfs-tests.sh -c
83
84CLEAN_LOCAL += scripts-clean-local
85scripts-clean-local:
86	-$(RM) -r tests/zfs-tests/bin/
87
88INSTALL_DATA_HOOKS += scripts-install-data-hook
89scripts-install-data-hook: %D%/common.sh.in Makefile
90	-$(SED) -e '/^export BIN_DIR=/s|$$|$(bindir)|' \
91		-e '/^export SBIN_DIR=/s|$$|$(sbindir)|' \
92		-e '/^export LIBEXEC_DIR=/s|$$|$(zfsexecdir)|' \
93		-e '/^export ZTS_DIR=/s|$$|$(datadir)/$(PACKAGE)|' \
94		-e '/^export SCRIPT_DIR=/s|$$|$(datadir)/$(PACKAGE)|' \
95		$< >$(DESTDIR)$(datadir)/$(PACKAGE)/common.sh
96