]>
Commit | Line | Data |
---|---|---|
8631552d CW |
1 | SUBDIRS = . libkmod/docs |
2 | ||
3 | if BUILD_MANPAGES | |
4 | SUBDIRS += man | |
5 | endif | |
646b83b8 | 6 | |
6afc9cd6 | 7 | DISTCLEAN_LOCAL_HOOKS = |
85ece204 | 8 | EXTRA_DIST = |
3a33a7a5 | 9 | CLEANFILES = $(BUILT_FILES) |
9cc8a20d | 10 | DISTCLEANFILES = |
3a33a7a5 | 11 | BUILT_FILES = |
ecd40ee4 LDM |
12 | ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} |
13 | AM_MAKEFLAGS = --no-print-directory | |
14 | ||
fd56638a MA |
15 | GCC_COLORS ?= 'yes' |
16 | export GCC_COLORS | |
17 | ||
ecd40ee4 LDM |
18 | AM_CPPFLAGS = \ |
19 | -include $(top_builddir)/config.h \ | |
576dd439 | 20 | -I$(top_srcdir) \ |
ecd40ee4 | 21 | -DSYSCONFDIR=\""$(sysconfdir)"\" \ |
7b3a74fc | 22 | ${zlib_CFLAGS} |
ecd40ee4 | 23 | |
84aaaedf LDM |
24 | AM_CFLAGS = $(OUR_CFLAGS) |
25 | AM_LDFLAGS = $(OUR_LDFLAGS) | |
ecd40ee4 | 26 | |
9faa7b37 KS |
27 | SED_PROCESS = \ |
28 | $(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(SED) \ | |
29 | -e 's,@VERSION\@,$(VERSION),g' \ | |
30 | -e 's,@prefix\@,$(prefix),g' \ | |
31 | -e 's,@exec_prefix\@,$(exec_prefix),g' \ | |
32 | -e 's,@libdir\@,$(libdir),g' \ | |
33 | -e 's,@includedir\@,$(includedir),g' \ | |
3821e197 TM |
34 | -e 's,@libzstd_CFLAGS\@,${libzstd_CFLAGS},g' \ |
35 | -e 's,@libzstd_LIBS\@,${libzstd_LIBS},g' \ | |
b182f8fb JE |
36 | -e 's,@liblzma_CFLAGS\@,${liblzma_CFLAGS},g' \ |
37 | -e 's,@liblzma_LIBS\@,${liblzma_LIBS},g' \ | |
7b3a74fc JE |
38 | -e 's,@zlib_CFLAGS\@,${zlib_CFLAGS},g' \ |
39 | -e 's,@zlib_LIBS\@,${zlib_LIBS},g' \ | |
8e266b9e DR |
40 | -e 's,@libcrypto_CFLAGS\@,${libcrypto_CFLAGS},g' \ |
41 | -e 's,@libcrypto_LIBS\@,${libcrypto_LIBS},g' \ | |
9faa7b37 KS |
42 | < $< > $@ || rm $@ |
43 | ||
44 | %.pc: %.pc.in Makefile | |
45 | $(SED_PROCESS) | |
46 | ||
42f32b8a | 47 | LIBKMOD_CURRENT=5 |
819a125c | 48 | LIBKMOD_REVISION=5 |
42f32b8a | 49 | LIBKMOD_AGE=3 |
ecd40ee4 | 50 | |
2c5bc218 LDM |
51 | noinst_LTLIBRARIES = shared/libshared.la |
52 | shared_libshared_la_SOURCES = \ | |
8eded79c | 53 | shared/macro.h \ |
74d1df66 LDM |
54 | shared/missing.h \ |
55 | shared/array.c \ | |
56 | shared/array.h \ | |
0db718ed LDM |
57 | shared/hash.c \ |
58 | shared/hash.h \ | |
780a4e97 | 59 | shared/scratchbuf.c \ |
527658ad | 60 | shared/scratchbuf.h \ |
b4d1f44a LDM |
61 | shared/strbuf.c \ |
62 | shared/strbuf.h \ | |
8eded79c | 63 | shared/util.c \ |
f4e8c162 | 64 | shared/util.h |
529148ea | 65 | |
586fc304 LDM |
66 | include_HEADERS = libkmod/libkmod.h |
67 | lib_LTLIBRARIES = libkmod/libkmod.la | |
ecd40ee4 | 68 | |
8eded79c | 69 | libkmod_libkmod_la_SOURCES = \ |
586fc304 | 70 | libkmod/libkmod.h \ |
83b855a6 | 71 | libkmod/libkmod-internal.h \ |
6924e47a | 72 | libkmod/libkmod.c \ |
60084cf1 | 73 | libkmod/libkmod-builtin.c \ |
5369797d | 74 | libkmod/libkmod-list.c \ |
7c2ab358 | 75 | libkmod/libkmod-config.c \ |
e8847fd2 LDM |
76 | libkmod/libkmod-index.c \ |
77 | libkmod/libkmod-index.h \ | |
3d8226ed | 78 | libkmod/libkmod-module.c \ |
708624a4 | 79 | libkmod/libkmod-file.c \ |
8fe1681c MM |
80 | libkmod/libkmod-elf.c \ |
81 | libkmod/libkmod-signature.c | |
ecd40ee4 | 82 | |
586fc304 | 83 | EXTRA_DIST += libkmod/libkmod.sym |
1a07559a LDM |
84 | EXTRA_DIST += libkmod/README \ |
85 | libkmod/COPYING testsuite/COPYING tools/COPYING COPYING | |
ecd40ee4 | 86 | |
586fc304 LDM |
87 | libkmod_libkmod_la_LDFLAGS = $(AM_LDFLAGS) \ |
88 | -version-info $(LIBKMOD_CURRENT):$(LIBKMOD_REVISION):$(LIBKMOD_AGE) \ | |
89 | -Wl,--version-script=$(top_srcdir)/libkmod/libkmod.sym | |
8eded79c | 90 | libkmod_libkmod_la_DEPENDENCIES = \ |
2c5bc218 | 91 | shared/libshared.la \ |
8eded79c LDM |
92 | ${top_srcdir}/libkmod/libkmod.sym |
93 | libkmod_libkmod_la_LIBADD = \ | |
2c5bc218 | 94 | shared/libshared.la \ |
3821e197 | 95 | ${libzstd_LIBS} ${liblzma_LIBS} ${zlib_LIBS} ${libcrypto_LIBS} |
ecd40ee4 | 96 | |
83b855a6 LDM |
97 | noinst_LTLIBRARIES += libkmod/libkmod-internal.la |
98 | libkmod_libkmod_internal_la_SOURCES = $(libkmod_libkmod_la_SOURCES) | |
99 | libkmod_libkmod_internal_la_LDFLAGS = $(AM_LDFLAGS) \ | |
39baaec1 | 100 | -Wl,--version-script=$(top_srcdir)/libkmod/libkmod.sym |
83b855a6 LDM |
101 | libkmod_libkmod_internal_la_DEPENDENCIES = $(libkmod_libkmod_la_DEPENDENCIES) |
102 | libkmod_libkmod_internal_la_LIBADD = $(libkmod_libkmod_la_LIBADD) | |
39baaec1 | 103 | |
ecd40ee4 | 104 | pkgconfigdir = $(libdir)/pkgconfig |
586fc304 | 105 | pkgconfig_DATA = libkmod/libkmod.pc |
9faa7b37 KS |
106 | EXTRA_DIST += libkmod/libkmod.pc.in |
107 | CLEANFILES += libkmod/libkmod.pc | |
ecd40ee4 | 108 | |
80cf2c8f LDM |
109 | bashcompletiondir=@bashcompletiondir@ |
110 | dist_bashcompletion_DATA = \ | |
111 | shell-completion/bash/kmod | |
112 | ||
e79bf83b KS |
113 | install-exec-hook: |
114 | if test "$(libdir)" != "$(rootlibdir)"; then \ | |
6a4fa8d8 | 115 | $(MKDIR_P) $(DESTDIR)$(rootlibdir) && \ |
e79bf83b | 116 | so_img_name=$$(readlink $(DESTDIR)$(libdir)/libkmod.so) && \ |
90a6e798 | 117 | so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \ |
e79bf83b KS |
118 | ln -sf $$so_img_rel_target_prefix$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/libkmod.so && \ |
119 | mv $(DESTDIR)$(libdir)/libkmod.so.* $(DESTDIR)$(rootlibdir); \ | |
120 | fi | |
121 | ||
122 | uninstall-hook: | |
123 | rm -f $(DESTDIR)$(rootlibdir)/libkmod.so* | |
124 | ||
72c51a9e | 125 | if BUILD_TOOLS |
8d75053e LDM |
126 | bin_PROGRAMS = tools/kmod |
127 | ||
8eded79c LDM |
128 | noinst_SCRIPTS = \ |
129 | tools/insmod tools/rmmod tools/lsmod \ | |
130 | tools/modprobe tools/modinfo tools/depmod | |
8900b916 | 131 | |
8eded79c LDM |
132 | tools_kmod_SOURCES = \ |
133 | tools/kmod.c tools/kmod.h tools/lsmod.c \ | |
134 | tools/rmmod.c tools/insmod.c \ | |
135 | tools/modinfo.c tools/modprobe.c \ | |
136 | tools/depmod.c tools/log.h tools/log.c \ | |
137 | tools/static-nodes.c | |
013e8550 LDM |
138 | |
139 | if BUILD_EXPERIMENTAL | |
140 | tools_kmod_SOURCES += \ | |
141 | tools/insert.c \ | |
142 | tools/remove.c | |
143 | endif | |
144 | ||
8eded79c | 145 | tools_kmod_LDADD = \ |
2c5bc218 | 146 | shared/libshared.la \ |
8eded79c | 147 | libkmod/libkmod-internal.la |
00fc926c | 148 | |
b6adccd6 | 149 | ${noinst_SCRIPTS}: tools/kmod |
00fc926c LDM |
150 | $(AM_V_GEN) ($(RM) $@; \ |
151 | $(LN_S) $(notdir $<) $@) | |
72c51a9e GSB |
152 | endif |
153 | ||
3a33a7a5 LDM |
154 | # ------------------------------------------------------------------------------ |
155 | # PYTHON BINDINGS | |
156 | # ------------------------------------------------------------------------------ | |
157 | ||
158 | CYTHON_FLAGS_VERBOSE_ = | |
159 | CYTHON_FLAGS_VERBOSE_0 = | |
160 | CYTHON_FLAGS_VERBOSE_1 = -v | |
161 | CYTHON_FLAGS = $(CYTHON_FLAGS_VERBOSE_$(V)) | |
162 | AM_V_CYTHON = $(am__v_CYTHON_$(V)) | |
163 | am__v_CYTHON_ = $(am__v_CYTHON_$(AM_DEFAULT_VERBOSITY)) | |
164 | am__v_CYTHON_0 = @echo " CYTHON " $@; | |
165 | ||
166 | .pyx.c: | |
167 | $(AM_V_CYTHON)$(CYTHON) -o $@ $< | |
168 | ||
169 | %.py: %.py.in Makefile | |
170 | $(SED_PROCESS) | |
171 | ||
172 | # Remove some warnings for generated code | |
173 | PYTHON_NOWARN = -Wno-redundant-decls -Wno-shadow -Wno-strict-aliasing | |
174 | ||
8eded79c LDM |
175 | CPYTHON_MODULE_CFLAGS = \ |
176 | $(AM_CFLAGS) -DCPYTHON_COMPILING_IN_PYPY=0 \ | |
177 | $(PYTHON_NOWARN) $(PYTHON_CFLAGS) \ | |
178 | -fvisibility=default | |
8aa52bf2 FF |
179 | # Filter -Wl,--no-undefined to fix build with python 3.8 |
180 | comma = , | |
181 | CPYTHON_MODULE_LDFLAGS = $(subst -Wl$(comma)--no-undefined,,$(AM_LDFLAGS)) | |
182 | CPYTHON_MODULE_LDFLAGS += -module -avoid-version -shared | |
3a33a7a5 LDM |
183 | |
184 | if BUILD_PYTHON | |
8eded79c LDM |
185 | pkgpyexec_LTLIBRARIES = \ |
186 | libkmod/python/kmod/kmod.la \ | |
187 | libkmod/python/kmod/list.la \ | |
188 | libkmod/python/kmod/module.la \ | |
189 | libkmod/python/kmod/_util.la | |
3a33a7a5 LDM |
190 | |
191 | libkmod_python_kmod_kmod_la_SOURCES = libkmod/python/kmod/kmod.c | |
192 | libkmod_python_kmod_kmod_la_CFLAGS = $(CPYTHON_MODULE_CFLAGS) | |
193 | libkmod_python_kmod_kmod_la_LDFLAGS = $(CPYTHON_MODULE_LDFLAGS) | |
194 | libkmod_python_kmod_kmod_la_LIBADD = $(PYTHON_LIBS) libkmod/libkmod.la | |
195 | ||
196 | libkmod_python_kmod_list_la_SOURCES = libkmod/python/kmod/list.c | |
197 | libkmod_python_kmod_list_la_CFLAGS = $(CPYTHON_MODULE_CFLAGS) | |
198 | libkmod_python_kmod_list_la_LDFLAGS = $(CPYTHON_MODULE_LDFLAGS) | |
199 | libkmod_python_kmod_list_la_LIBADD = $(PYTHON_LIBS) libkmod/libkmod.la | |
200 | ||
201 | libkmod_python_kmod_module_la_SOURCES = libkmod/python/kmod/module.c | |
202 | libkmod_python_kmod_module_la_CFLAGS = $(CPYTHON_MODULE_CFLAGS) | |
203 | libkmod_python_kmod_module_la_LDFLAGS = $(CPYTHON_MODULE_LDFLAGS) | |
204 | libkmod_python_kmod_module_la_LIBADD = $(PYTHON_LIBS) libkmod/libkmod.la | |
205 | ||
206 | libkmod_python_kmod__util_la_SOURCES = libkmod/python/kmod/_util.c | |
207 | libkmod_python_kmod__util_la_CFLAGS = $(CPYTHON_MODULE_CFLAGS) | |
208 | libkmod_python_kmod__util_la_LDFLAGS = $(CPYTHON_MODULE_LDFLAGS) | |
209 | libkmod_python_kmod__util_la_LIBADD = $(PYTHON_LIBS) libkmod/libkmod.la | |
210 | ||
8eded79c LDM |
211 | BUILT_FILES += \ |
212 | $(libkmod_python_kmod_kmod_la_SOURCES) \ | |
213 | $(libkmod_python_kmod_list_la_SOURCES) \ | |
214 | $(libkmod_python_kmod_module_la_SOURCES) \ | |
215 | $(libkmod_python_kmod__util_la_SOURCES) | |
3a33a7a5 | 216 | |
8eded79c LDM |
217 | dist_pkgpyexec_PYTHON = \ |
218 | libkmod/python/kmod/error.py \ | |
219 | libkmod/python/kmod/__init__.py \ | |
220 | libkmod/python/kmod/version.py | |
3a33a7a5 LDM |
221 | |
222 | BUILT_FILES += libkmod/python/kmod/version.py | |
223 | ||
224 | endif | |
6afc9cd6 LDM |
225 | # ------------------------------------------------------------------------------ |
226 | # TESTSUITE | |
227 | # ------------------------------------------------------------------------------ | |
228 | ||
4002d77a LDM |
229 | EXTRA_DIST += testsuite/populate-modules.sh |
230 | ||
231 | MODULE_PLAYGROUND = testsuite/module-playground | |
e2ee7d9b | 232 | ROOTFS = testsuite/rootfs |
0de690c9 | 233 | ROOTFS_PRISTINE = $(top_srcdir)/testsuite/rootfs-pristine |
518daf4f | 234 | CREATE_ROOTFS = $(AM_V_GEN) ( $(RM) -rf $(ROOTFS) && mkdir -p $(dir $(ROOTFS)) && \ |
0de690c9 | 235 | cp -r $(ROOTFS_PRISTINE) $(ROOTFS) && \ |
4002d77a | 236 | find $(ROOTFS) -type d -exec chmod +w {} \; && \ |
0f079cba | 237 | find $(ROOTFS) -type f -name .gitignore -exec rm -f {} \; && \ |
4002d77a | 238 | $(top_srcdir)/testsuite/populate-modules.sh \ |
0e68c625 LDM |
239 | $(MODULE_PLAYGROUND) $(ROOTFS) ) && \ |
240 | touch testsuite/stamp-rootfs | |
4002d77a LDM |
241 | |
242 | build-module-playground: | |
243 | $(AM_V_GEN)if test "$(top_srcdir)" != "$(top_builddir)"; then \ | |
244 | $(RM) -rf testsuite/module-playground && \ | |
245 | cp -r $(top_srcdir)/$(MODULE_PLAYGROUND) $(top_builddir)/$(MODULE_PLAYGROUND) && \ | |
246 | find $(top_builddir)/$(MODULE_PLAYGROUND) -type d -exec chmod +w {} \; ; \ | |
247 | fi | |
23603f1f | 248 | if BUILD_MODULES |
4002d77a | 249 | $(MAKE) -C $(MODULE_PLAYGROUND) |
23603f1f LDM |
250 | else |
251 | $(MAKE) -C $(MODULE_PLAYGROUND) FAKE_BUILD=1 | |
252 | endif | |
253 | ||
4002d77a LDM |
254 | |
255 | rootfs: build-module-playground | |
0de690c9 | 256 | $(CREATE_ROOTFS) |
4002d77a LDM |
257 | |
258 | .PHONY: rootfs build-playground | |
0de690c9 LDM |
259 | |
260 | $(ROOTFS): $(ROOTFS_PRISTINE) | |
261 | $(CREATE_ROOTFS) | |
452c1dde | 262 | |
8eded79c LDM |
263 | TESTSUITE_OVERRIDE_LIBS = \ |
264 | testsuite/uname.la testsuite/path.la \ | |
265 | testsuite/init_module.la \ | |
266 | testsuite/delete_module.la | |
267 | TESTSUITE_OVERRIDE_LIBS_LDFLAGS = \ | |
268 | avoid-version -module -shared -export-dynamic -rpath /nowhere -ldl | |
68cc4493 | 269 | |
9324bb52 MM |
270 | check-sysconfdir: |
271 | $(AM_V_at)if test "$(sysconfdir)" != "/etc" -a "$(sysconfdir)" != "/etc/"; then \ | |
272 | echo "warning: Some tests will fail without --sysconfdir=/etc" >&2; \ | |
273 | fi | |
274 | .PHONY: check-sysconfdir | |
275 | ||
276 | check-am: rootfs check-sysconfdir | |
277 | ||
2588e3df | 278 | |
80f6ab5c | 279 | EXTRA_DIST += \ |
fc1bc815 | 280 | testsuite/module-playground/cache \ |
9a015bcd | 281 | testsuite/module-playground/dummy.pkcs7 \ |
80f6ab5c LDM |
282 | testsuite/module-playground/dummy.sha1 \ |
283 | testsuite/module-playground/dummy.sha256 \ | |
284 | testsuite/module-playground/Makefile \ | |
285 | testsuite/module-playground/Makefile.arch \ | |
286 | testsuite/module-playground/mod-fake-cciss.c \ | |
287 | testsuite/module-playground/mod-fake-hpsa.c \ | |
288 | testsuite/module-playground/mod-fake-scsi-mod.c \ | |
289 | testsuite/module-playground/mod-foo-a.c \ | |
290 | testsuite/module-playground/mod-foo-b.c \ | |
291 | testsuite/module-playground/mod-foo.c \ | |
292 | testsuite/module-playground/mod-foo-c.c \ | |
293 | testsuite/module-playground/mod-loop-a.c \ | |
294 | testsuite/module-playground/mod-loop-b.c \ | |
295 | testsuite/module-playground/mod-loop-c.c \ | |
296 | testsuite/module-playground/mod-loop-d.c \ | |
297 | testsuite/module-playground/mod-loop-e.c \ | |
67d15343 LDM |
298 | testsuite/module-playground/mod-loop-f.c \ |
299 | testsuite/module-playground/mod-loop-g.c \ | |
9be03c52 YK |
300 | testsuite/module-playground/mod-loop-h.c \ |
301 | testsuite/module-playground/mod-loop-i.c \ | |
302 | testsuite/module-playground/mod-loop-j.c \ | |
303 | testsuite/module-playground/mod-loop-k.c \ | |
80f6ab5c LDM |
304 | testsuite/module-playground/mod-loop.h \ |
305 | testsuite/module-playground/mod-simple.c \ | |
306 | testsuite/module-playground/mod-simple-i386.ko \ | |
307 | testsuite/module-playground/mod-simple-sparc64.ko \ | |
308 | testsuite/module-playground/mod-simple-x86_64.ko \ | |
309 | testsuite/module-playground/README | |
4002d77a | 310 | |
d2c2b8b5 | 311 | check_LTLIBRARIES = $(TESTSUITE_OVERRIDE_LIBS) |
68cc4493 | 312 | |
d2c2b8b5 | 313 | testsuite_uname_la_LDFLAGS = $(TESTSUITE_OVERRIDE_LIBS_LDFLAGS) |
8ff7f008 LDM |
314 | testsuite_path_la_CPPFLAGS = $(AM_CPPFLAGS) \ |
315 | -DABS_TOP_BUILDDIR=\"$(abs_top_builddir)\" | |
d2c2b8b5 | 316 | testsuite_path_la_LDFLAGS = $(TESTSUITE_OVERRIDE_LIBS_LDFLAGS) |
6afc9cd6 | 317 | |
f6ef5d6b | 318 | testsuite_delete_module_la_LDFLAGS = $(TESTSUITE_OVERRIDE_LIBS_LDFLAGS) |
d2c2b8b5 LDM |
319 | testsuite_init_module_la_LDFLAGS = $(TESTSUITE_OVERRIDE_LIBS_LDFLAGS) |
320 | testsuite_init_module_la_SOURCES = testsuite/init_module.c \ | |
d48b8a79 | 321 | testsuite/stripped-module.h |
83b855a6 | 322 | testsuite_init_module_la_LIBADD = libkmod/libkmod-internal.la |
6afc9cd6 | 323 | |
6b88ef3e | 324 | TESTSUITE_CPPFLAGS = $(AM_CPPFLAGS) \ |
8eded79c LDM |
325 | -DTESTSUITE_ROOTFS=\"$(abs_top_builddir)/$(ROOTFS)/\" \ |
326 | -DABS_TOP_BUILDDIR=\"$(abs_top_builddir)\" | |
327 | TESTSUITE_LDADD = \ | |
328 | testsuite/libtestsuite.la libkmod/libkmod-internal.la \ | |
2c5bc218 | 329 | shared/libshared.la |
6b88ef3e | 330 | |
d2c2b8b5 | 331 | check_LTLIBRARIES += testsuite/libtestsuite.la |
8eded79c LDM |
332 | testsuite_libtestsuite_la_SOURCES = \ |
333 | testsuite/testsuite.c testsuite/testsuite.h | |
334 | testsuite_libtestsuite_la_DEPENDENCIES = \ | |
335 | $(ROOTFS) $(TESTSUITE_OVERRIDE_LIBS) | |
6b88ef3e | 336 | testsuite_libtestsuite_la_CPPFLAGS = $(TESTSUITE_CPPFLAGS) |
b8e344a6 | 337 | testsuite_libtestsuite_la_LIBADD = -lrt |
646b83b8 | 338 | |
8eded79c LDM |
339 | TESTSUITE = \ |
340 | testsuite/test-hash \ | |
fdafa6b6 | 341 | testsuite/test-array \ |
780a4e97 | 342 | testsuite/test-scratchbuf \ |
48e4d181 | 343 | testsuite/test-strbuf \ |
dbf90dc3 LDM |
344 | testsuite/test-init \ |
345 | testsuite/test-initstate \ | |
346 | testsuite/test-testsuite testsuite/test-loaded \ | |
8eded79c LDM |
347 | testsuite/test-modinfo testsuite/test-util testsuite/test-new-module \ |
348 | testsuite/test-modprobe testsuite/test-blacklist \ | |
2200a448 | 349 | testsuite/test-dependencies testsuite/test-depmod \ |
013e8550 LDM |
350 | testsuite/test-list |
351 | ||
352 | if BUILD_EXPERIMENTAL | |
353 | TESTSUITE += \ | |
03761881 | 354 | testsuite/test-tools |
013e8550 | 355 | endif |
b0c9fc85 | 356 | |
eebca81e LDM |
357 | check_PROGRAMS = $(TESTSUITE) |
358 | TESTS = $(TESTSUITE) | |
359 | ||
8eded79c | 360 | testsuite_test_testsuite_LDADD = \ |
2c5bc218 | 361 | testsuite/libtestsuite.la shared/libshared.la |
6b88ef3e | 362 | testsuite_test_testsuite_CPPFLAGS = $(TESTSUITE_CPPFLAGS) |
5963c36d LDM |
363 | |
364 | testsuite_test_hash_LDADD = $(TESTSUITE_LDADD) | |
365 | testsuite_test_hash_CPPFLAGS = $(TESTSUITE_CPPFLAGS) | |
366 | ||
fdafa6b6 LDM |
367 | testsuite_test_array_LDADD = $(TESTSUITE_LDADD) |
368 | testsuite_test_array_CPPFLAGS = $(TESTSUITE_CPPFLAGS) | |
369 | ||
780a4e97 LDM |
370 | testsuite_test_scratchbuf_LDADD = $(TESTSUITE_LDADD) |
371 | testsuite_test_scratchbuf_CPPFLAGS = $(TESTSUITE_CPPFLAGS) | |
372 | ||
48e4d181 LDM |
373 | testsuite_test_strbuf_LDADD = $(TESTSUITE_LDADD) |
374 | testsuite_test_strbuf_CPPFLAGS = $(TESTSUITE_CPPFLAGS) | |
375 | ||
d35e8832 DM |
376 | testsuite_test_init_LDADD = $(TESTSUITE_LDADD) |
377 | testsuite_test_init_CPPFLAGS = $(TESTSUITE_CPPFLAGS) | |
dbf90dc3 LDM |
378 | testsuite_test_initstate_LDADD = $(TESTSUITE_LDADD) |
379 | testsuite_test_initstate_CPPFLAGS = $(TESTSUITE_CPPFLAGS) | |
d35e8832 | 380 | testsuite_test_loaded_LDADD = $(TESTSUITE_LDADD) |
61e9433f | 381 | testsuite_test_loaded_CPPFLAGS = $(TESTSUITE_CPPFLAGS) |
d35e8832 | 382 | testsuite_test_modinfo_LDADD = $(TESTSUITE_LDADD) |
95daea07 | 383 | testsuite_test_modinfo_CPPFLAGS = $(TESTSUITE_CPPFLAGS) |
807c601d LDM |
384 | testsuite_test_util_LDADD = $(TESTSUITE_LDADD) |
385 | testsuite_test_util_CPPFLAGS = $(TESTSUITE_CPPFLAGS) | |
d35e8832 | 386 | testsuite_test_new_module_LDADD = $(TESTSUITE_LDADD) |
a9474303 | 387 | testsuite_test_new_module_CPPFLAGS = $(TESTSUITE_CPPFLAGS) |
976ea8c3 LDM |
388 | testsuite_test_modprobe_LDADD = $(TESTSUITE_LDADD) |
389 | testsuite_test_modprobe_CPPFLAGS = $(TESTSUITE_CPPFLAGS) | |
bcca1b95 DM |
390 | testsuite_test_blacklist_LDADD = $(TESTSUITE_LDADD) |
391 | testsuite_test_blacklist_CPPFLAGS = $(TESTSUITE_CPPFLAGS) | |
c88aec70 DM |
392 | testsuite_test_dependencies_LDADD = $(TESTSUITE_LDADD) |
393 | testsuite_test_dependencies_CPPFLAGS = $(TESTSUITE_CPPFLAGS) | |
b0c9fc85 LDM |
394 | testsuite_test_depmod_LDADD = $(TESTSUITE_LDADD) |
395 | testsuite_test_depmod_CPPFLAGS = $(TESTSUITE_CPPFLAGS) | |
2200a448 CMOF |
396 | testsuite_test_list_LDADD = $(TESTSUITE_LDADD) |
397 | testsuite_test_list_CPPFLAGS = $(TESTSUITE_CPPFLAGS) | |
013e8550 LDM |
398 | |
399 | if BUILD_EXPERIMENTAL | |
03761881 CMOF |
400 | testsuite_test_tools_LDADD = $(TESTSUITE_LDADD) |
401 | testsuite_test_tools_CPPFLAGS = $(TESTSUITE_CPPFLAGS) | |
013e8550 | 402 | endif |
eebca81e | 403 | |
452c1dde | 404 | testsuite-distclean: |
86bbd053 DR |
405 | $(RM) -r $(ROOTFS) |
406 | $(RM) testsuite/stamp-rootfs | |
4002d77a LDM |
407 | $(MAKE) -C testsuite/module-playground/ clean |
408 | if test "$(top_srcdir)" != "$(top_builddir)"; then \ | |
409 | $(RM) -rf testsuite/module-playground; \ | |
410 | fi | |
452c1dde LDM |
411 | |
412 | DISTCLEAN_LOCAL_HOOKS += testsuite-distclean | |
e2ee7d9b | 413 | EXTRA_DIST += testsuite/rootfs-pristine |
9c41596e | 414 | |
3a33a7a5 | 415 | DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc --enable-python --sysconfdir=/etc \ |
d83f488c | 416 | --with-zlib --with-zstd --with-openssl \ |
80cf2c8f | 417 | --with-bashcompletiondir=$$dc_install_base/$(bashcompletiondir) |
f4647b63 | 418 | |
6afc9cd6 | 419 | distclean-local: $(DISTCLEAN_LOCAL_HOOKS) |
f4647b63 | 420 | |
16535abe SW |
421 | buildtest-TESTS: |
422 | $(MAKE) $(AM_MAKEFLAGS) $(check_LTLIBRARIES) $(check_PROGRAMS) | |
423 | ||
e9b0d1b4 LDM |
424 | # ------------------------------------------------------------------------------ |
425 | # coverage | |
426 | # ------------------------------------------------------------------------------ | |
427 | ||
428 | # .PHONY so it always rebuilds it | |
429 | .PHONY: coverage lcov-run lcov-report coverage-sync | |
430 | ||
431 | # run lcov from scratch, always | |
432 | coverage: all | |
433 | $(MAKE) lcov-run | |
434 | $(MAKE) lcov-report | |
435 | ||
436 | coverage_dir = coverage | |
437 | coverage_opts = --base-directory $(srcdir) --directory $(builddir) \ | |
438 | --rc 'geninfo_adjust_src_path=$(abspath $(srcdir))=>$(abspath $(builddir))' | |
439 | ||
440 | if ENABLE_COVERAGE | |
441 | # reset run coverage tests | |
442 | lcov-run: | |
443 | @rm -rf $(coverage_dir) | |
444 | lcov $(coverage_opts) --zerocounters | |
445 | -$(MAKE) check | |
446 | ||
447 | # generate report based on current coverage data | |
448 | lcov-report: | |
449 | $(MKDIR_P) $(coverage_dir) | |
450 | lcov $(coverage_opts) --capture --no-external --ignore-errors graph \ | |
451 | | sed 's|$(abspath $(builddir))|$(abspath $(srcdir))|' > $(coverage_dir)/.lcov.info | |
452 | lcov --remove $(coverage_dir)/.lcov.info --output-file $(coverage_dir)/.lcov-clean.info 'test-*' | |
453 | genhtml -t "kmod test coverage" -o $(coverage_dir) $(coverage_dir)/.lcov-clean.info | |
454 | @echo "Coverage report generated in $(abs_builddir)/$(coverage_dir)/index.html" | |
455 | ||
456 | else | |
457 | ||
458 | lcov-run lcov-report: | |
459 | echo "Need to reconfigure with --enable-coverage" | |
460 | ||
461 | endif | |
462 | ||
0bcdef97 LDM |
463 | # ------------------------------------------------------------------------------ |
464 | # coverity | |
465 | # ------------------------------------------------------------------------------ | |
466 | ||
467 | kmod-coverity-%.tar.xz: | |
468 | rm -rf $< cov-int | |
028d4df3 | 469 | ./autogen.sh c --disable-python --disable-manpages |
0bcdef97 LDM |
470 | make clean |
471 | cov-build --dir cov-int make -j 4 | |
472 | tar caf $@ cov-int | |
473 | ||
681c623e | 474 | coverity-tar: kmod-coverity-$(shell git describe 2>/dev/null).tar.xz |
0bcdef97 | 475 | |
681c623e | 476 | coverity-sync: kmod-coverity-$(shell git describe 2>/dev/null).tar.xz |
0bcdef97 LDM |
477 | @echo "uploading coverity tarball" |
478 | @curl --form token=$(COVERITY_KMOD_TOKEN) \ | |
479 | --form email=lucas.de.marchi@gmail.com \ | |
480 | --form file=@$< \ | |
481 | --form version="$(shell git describe)" \ | |
482 | --form description="" \ | |
483 | https://scan.coverity.com/builds?project=kmod | |
484 | ||
485 | coverity-clean: | |
486 | rm -rf kmod-coverity-*.tar.xz cov-int | |
487 | ||
f4647b63 LDM |
488 | # ------------------------------------------------------------------------------ |
489 | # custom release helpers | |
490 | # ------------------------------------------------------------------------------ | |
491 | ||
492 | git-release: | |
493 | head -1 NEWS | grep -q "kmod $(VERSION)" | |
494 | git commit -a -m "kmod $(VERSION)" | |
495 | git tag -m "kmod $(VERSION)" -s v$(VERSION) | |
496 | git gc --prune=0 | |
497 | ||
498 | kmod-$(VERSION).tar.xz: | |
499 | make distcheck | |
500 | ||
501 | kmod-$(VERSION).tar.sign: | |
502 | xz -d -c kmod-$(VERSION).tar.xz | gpg --armor --detach-sign --output kmod-$(VERSION).tar.sign | |
503 | ||
504 | tar: kmod-$(VERSION).tar.xz kmod-$(VERSION).tar.sign | |
505 | ||
506 | tar-sync: kmod-$(VERSION).tar.xz kmod-$(VERSION).tar.sign | |
bb05bc8a | 507 | kup put kmod-$(VERSION).tar.xz kmod-$(VERSION).tar.sign /pub/linux/utils/kernel/kmod/ |
cc71e0a5 LDM |
508 | |
509 | # ------------------------------------------------------------------------------ | |
510 | # mkosi | |
511 | # ------------------------------------------------------------------------------ | |
512 | ||
7bc6b67d LDM |
513 | DISTRO ?= "arch" |
514 | ||
cc71e0a5 | 515 | mkosi: |
8d9c7e37 | 516 | -$(MKDIR_P) $(top_srcdir)/testsuite/mkosi/mkosi.cache |
7bc6b67d | 517 | $(MKOSI) -C $(top_srcdir)/testsuite/mkosi --build-sources ../../ --default mkosi.${DISTRO} -fi |