xref: /freebsd/sys/contrib/openzfs/cmd/zpool/Makefile.am (revision 66e85755595a451db490d2fe24267d85db4b09c2)
1zpool_CFLAGS  = $(AM_CFLAGS)
2zpool_CFLAGS += $(LIBBLKID_CFLAGS) $(LIBUUID_CFLAGS)
3
4zpool_CPPFLAGS  = $(AM_CPPFLAGS)
5zpool_CPPFLAGS += -I$(srcdir)/%D%
6
7sbin_PROGRAMS   += zpool
8CPPCHECKTARGETS += zpool
9
10zpool_SOURCES = \
11	%D%/zpool_iter.c \
12	%D%/zpool_main.c \
13	%D%/zpool_util.c \
14	%D%/zpool_util.h \
15	%D%/zpool_vdev.c
16
17if BUILD_FREEBSD
18zpool_SOURCES += \
19	%D%/os/freebsd/zpool_vdev_os.c
20endif
21
22if BUILD_LINUX
23zpool_SOURCES += \
24	%D%/os/linux/zpool_vdev_os.c
25endif
26
27zpool_LDADD = \
28	libzfs.la \
29	libzfs_core.la \
30	libnvpair.la \
31	libzutil.la
32
33zpool_LDADD += $(LTLIBINTL)
34
35if BUILD_FREEBSD
36zpool_LDADD += -lgeom
37endif
38zpool_LDADD += -lm $(LIBBLKID_LIBS) $(LIBUUID_LIBS)
39
40dist_noinst_DATA += %D%/zpool.d/README
41
42SHELLCHECKSCRIPTS += $(dist_zpoolexec_SCRIPTS)
43zpoolexecdir = $(zfsexecdir)/zpool.d
44dist_zpoolexec_SCRIPTS = \
45	%D%/zpool.d/ata_err \
46	%D%/zpool.d/cmd_to \
47	%D%/zpool.d/defect \
48	%D%/zpool.d/dm-deps \
49	%D%/zpool.d/enc \
50	%D%/zpool.d/encdev \
51	%D%/zpool.d/fault_led \
52	%D%/zpool.d/health \
53	%D%/zpool.d/hours_on \
54	%D%/zpool.d/iostat \
55	%D%/zpool.d/iostat-10s \
56	%D%/zpool.d/iostat-1s \
57	%D%/zpool.d/label \
58	%D%/zpool.d/locate_led \
59	%D%/zpool.d/lsblk \
60	%D%/zpool.d/media \
61	%D%/zpool.d/model \
62	%D%/zpool.d/nonmed \
63	%D%/zpool.d/nvme_err \
64	%D%/zpool.d/off_ucor \
65	%D%/zpool.d/pend_sec \
66	%D%/zpool.d/pwr_cyc \
67	%D%/zpool.d/r_proc \
68	%D%/zpool.d/r_ucor \
69	%D%/zpool.d/realloc \
70	%D%/zpool.d/rep_ucor \
71	%D%/zpool.d/serial \
72	%D%/zpool.d/ses \
73	%D%/zpool.d/size \
74	%D%/zpool.d/slot \
75	%D%/zpool.d/smart \
76	%D%/zpool.d/smart_test \
77	%D%/zpool.d/smartx \
78	%D%/zpool.d/temp \
79	%D%/zpool.d/test_ended \
80	%D%/zpool.d/test_progress \
81	%D%/zpool.d/test_status \
82	%D%/zpool.d/test_type \
83	%D%/zpool.d/upath \
84	%D%/zpool.d/vendor \
85	%D%/zpool.d/w_proc \
86	%D%/zpool.d/w_ucor
87
88zpoolconfdefaults = \
89	dm-deps \
90	enc \
91	encdev \
92	fault_led \
93	iostat \
94	iostat-1s \
95	iostat-10s \
96	label \
97	locate_led \
98	lsblk \
99	media \
100	model \
101	serial \
102	ses \
103	size \
104	slot \
105	smart \
106	smartx \
107	temp \
108	health \
109	r_proc \
110	w_proc \
111	r_ucor \
112	w_ucor \
113	nonmed \
114	defect \
115	hours_on \
116	realloc \
117	rep_ucor \
118	cmd_to \
119	pend_sec \
120	off_ucor \
121	ata_err \
122	nvme_err \
123	pwr_cyc \
124	upath \
125	vendor \
126	smart_test \
127	test_type \
128	test_status \
129	test_progress \
130	test_ended
131
132zpoolcompatdir = $(pkgdatadir)/compatibility.d
133dist_zpoolcompat_DATA = \
134	%D%/compatibility.d/compat-2018 \
135	%D%/compatibility.d/compat-2019 \
136	%D%/compatibility.d/compat-2020 \
137	%D%/compatibility.d/compat-2021 \
138	%D%/compatibility.d/freebsd-11.0 \
139	%D%/compatibility.d/freebsd-11.2 \
140	%D%/compatibility.d/freebsd-11.3 \
141	%D%/compatibility.d/freenas-9.10.2 \
142	%D%/compatibility.d/grub2-2.06 \
143	%D%/compatibility.d/grub2-2.12 \
144	%D%/compatibility.d/openzfs-2.0-freebsd \
145	%D%/compatibility.d/openzfs-2.0-linux \
146	%D%/compatibility.d/openzfs-2.1-freebsd \
147	%D%/compatibility.d/openzfs-2.1-linux \
148	%D%/compatibility.d/openzfs-2.2 \
149	%D%/compatibility.d/openzfs-2.3 \
150	%D%/compatibility.d/openzfs-2.4 \
151	%D%/compatibility.d/openzfsonosx-1.7.0 \
152	%D%/compatibility.d/openzfsonosx-1.8.1 \
153	%D%/compatibility.d/openzfsonosx-1.9.3 \
154	%D%/compatibility.d/zol-0.6.1 \
155	%D%/compatibility.d/zol-0.6.4 \
156	%D%/compatibility.d/zol-0.6.5 \
157	%D%/compatibility.d/zol-0.7 \
158	%D%/compatibility.d/zol-0.8
159
160# canonical <- alias symbolic link pairs
161# eg: "2018" is a link to "compat-2018"
162zpoolcompatlinks = \
163	"compat-2018		2018" \
164	"compat-2019		2019" \
165	"compat-2020		2020" \
166	"compat-2021		2021" \
167	"freebsd-11.0		freebsd-11.1" \
168	"freebsd-11.0		freenas-11.0" \
169	"freebsd-11.2		freenas-11.2" \
170	"freebsd-11.3		freebsd-11.4" \
171	"freebsd-11.3		freebsd-12.0" \
172	"freebsd-11.3		freebsd-12.1" \
173	"freebsd-11.3		freebsd-12.2" \
174	"freebsd-11.3		freebsd-12.3" \
175	"freebsd-11.3		freebsd-12.4" \
176	"grub2-2.12		grub2" \
177	"openzfs-2.1-freebsd	freebsd-13.0" \
178	"openzfs-2.1-freebsd	freebsd-13.1" \
179	"openzfs-2.1-freebsd	freebsd-13.2" \
180	"freebsd-11.3		freenas-11.3" \
181	"freenas-11.0		freenas-11.1" \
182	"openzfsonosx-1.9.3	openzfsonosx-1.9.4" \
183	"openzfs-2.0-freebsd	truenas-12.0" \
184	"zol-0.7		ubuntu-18.04" \
185	"zol-0.8		ubuntu-20.04" \
186	"openzfs-2.1-linux	ubuntu-22.04" \
187	"openzfs-2.2		openzfs-2.2-linux" \
188	"openzfs-2.2		openzfs-2.2-freebsd" \
189	"openzfs-2.3		openzfs-2.3-linux" \
190	"openzfs-2.3		openzfs-2.3-freebsd" \
191	"openzfs-2.4		openzfs-2.4-linux" \
192	"openzfs-2.4		openzfs-2.4-freebsd"
193
194zpoolconfdir = $(sysconfdir)/zfs/zpool.d
195INSTALL_DATA_HOOKS += zpool-install-data-hook
196zpool-install-data-hook:
197	$(MKDIR_P) "$(DESTDIR)$(zpoolconfdir)"
198	set -x; for f in $(zpoolconfdefaults); do \
199	  [ -f "$(DESTDIR)$(zpoolconfdir)/$${f}" ] || \
200	  [ -L "$(DESTDIR)$(zpoolconfdir)/$${f}" ] || \
201	    $(LN_S) "$(zpoolexecdir)/$${f}" "$(DESTDIR)$(zpoolconfdir)"; \
202	done
203	set -x; printf '%s\n' $(zpoolcompatlinks) | \
204	while read -r canon alias; do \
205		$(LN_S) -f "$${canon}" "$(DESTDIR)$(zpoolcompatdir)/$${alias}"; \
206	done
207