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