1SUBDIRS = . libkmod/docs 2 3if BUILD_MANPAGES 4SUBDIRS += man 5endif 6 7DISTCLEAN_LOCAL_HOOKS = 8EXTRA_DIST = 9CLEANFILES = $(BUILT_FILES) 10DISTCLEANFILES = 11BUILT_FILES = 12ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} 13AM_MAKEFLAGS = --no-print-directory 14 15GCC_COLORS ?= 'yes' 16export GCC_COLORS 17 18AM_CPPFLAGS = \ 19 -include $(top_builddir)/config.h \ 20 -I$(top_srcdir) \ 21 -DSYSCONFDIR=\""$(sysconfdir)"\" \ 22 ${zlib_CFLAGS} 23 24AM_CFLAGS = $(OUR_CFLAGS) 25AM_LDFLAGS = $(OUR_LDFLAGS) 26 27SED_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 45LIBKMOD_CURRENT=5 46LIBKMOD_REVISION=4 47LIBKMOD_AGE=3 48 49noinst_LTLIBRARIES = shared/libshared.la 50shared_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 64include_HEADERS = libkmod/libkmod.h 65lib_LTLIBRARIES = libkmod/libkmod.la 66 67libkmod_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 80EXTRA_DIST += libkmod/libkmod.sym 81EXTRA_DIST += libkmod/README \ 82 libkmod/COPYING testsuite/COPYING tools/COPYING COPYING 83 84libkmod_libkmod_la_LDFLAGS = $(AM_LDFLAGS) \ 85 -version-info $(LIBKMOD_CURRENT):$(LIBKMOD_REVISION):$(LIBKMOD_AGE) \ 86 -Wl,--version-script=$(top_srcdir)/libkmod/libkmod.sym 87libkmod_libkmod_la_DEPENDENCIES = \ 88 shared/libshared.la \ 89 ${top_srcdir}/libkmod/libkmod.sym 90libkmod_libkmod_la_LIBADD = \ 91 shared/libshared.la \ 92 ${liblzma_LIBS} ${zlib_LIBS} ${openssl_LIBS} 93 94noinst_LTLIBRARIES += libkmod/libkmod-internal.la 95libkmod_libkmod_internal_la_SOURCES = $(libkmod_libkmod_la_SOURCES) 96libkmod_libkmod_internal_la_LDFLAGS = $(AM_LDFLAGS) \ 97 -Wl,--version-script=$(top_srcdir)/libkmod/libkmod.sym 98libkmod_libkmod_internal_la_DEPENDENCIES = $(libkmod_libkmod_la_DEPENDENCIES) 99libkmod_libkmod_internal_la_LIBADD = $(libkmod_libkmod_la_LIBADD) 100 101pkgconfigdir = $(libdir)/pkgconfig 102pkgconfig_DATA = libkmod/libkmod.pc 103EXTRA_DIST += libkmod/libkmod.pc.in 104CLEANFILES += libkmod/libkmod.pc 105 106bashcompletiondir=@bashcompletiondir@ 107dist_bashcompletion_DATA = \ 108 shell-completion/bash/kmod 109 110install-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 119uninstall-hook: 120 rm -f $(DESTDIR)$(rootlibdir)/libkmod.so* 121 122if BUILD_TOOLS 123bin_PROGRAMS = tools/kmod 124 125noinst_SCRIPTS = \ 126 tools/insmod tools/rmmod tools/lsmod \ 127 tools/modprobe tools/modinfo tools/depmod 128 129tools_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 136if BUILD_EXPERIMENTAL 137tools_kmod_SOURCES += \ 138 tools/insert.c \ 139 tools/remove.c 140endif 141 142tools_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 $<) $@) 149endif 150 151# ------------------------------------------------------------------------------ 152# PYTHON BINDINGS 153# ------------------------------------------------------------------------------ 154 155CYTHON_FLAGS_VERBOSE_ = 156CYTHON_FLAGS_VERBOSE_0 = 157CYTHON_FLAGS_VERBOSE_1 = -v 158CYTHON_FLAGS = $(CYTHON_FLAGS_VERBOSE_$(V)) 159AM_V_CYTHON = $(am__v_CYTHON_$(V)) 160am__v_CYTHON_ = $(am__v_CYTHON_$(AM_DEFAULT_VERBOSITY)) 161am__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 170PYTHON_NOWARN = -Wno-redundant-decls -Wno-shadow -Wno-strict-aliasing 171 172CPYTHON_MODULE_CFLAGS = \ 173 $(AM_CFLAGS) -DCPYTHON_COMPILING_IN_PYPY=0 \ 174 $(PYTHON_NOWARN) $(PYTHON_CFLAGS) \ 175 -fvisibility=default 176CPYTHON_MODULE_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version -shared 177 178if BUILD_PYTHON 179pkgpyexec_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 185libkmod_python_kmod_kmod_la_SOURCES = libkmod/python/kmod/kmod.c 186libkmod_python_kmod_kmod_la_CFLAGS = $(CPYTHON_MODULE_CFLAGS) 187libkmod_python_kmod_kmod_la_LDFLAGS = $(CPYTHON_MODULE_LDFLAGS) 188libkmod_python_kmod_kmod_la_LIBADD = $(PYTHON_LIBS) libkmod/libkmod.la 189 190libkmod_python_kmod_list_la_SOURCES = libkmod/python/kmod/list.c 191libkmod_python_kmod_list_la_CFLAGS = $(CPYTHON_MODULE_CFLAGS) 192libkmod_python_kmod_list_la_LDFLAGS = $(CPYTHON_MODULE_LDFLAGS) 193libkmod_python_kmod_list_la_LIBADD = $(PYTHON_LIBS) libkmod/libkmod.la 194 195libkmod_python_kmod_module_la_SOURCES = libkmod/python/kmod/module.c 196libkmod_python_kmod_module_la_CFLAGS = $(CPYTHON_MODULE_CFLAGS) 197libkmod_python_kmod_module_la_LDFLAGS = $(CPYTHON_MODULE_LDFLAGS) 198libkmod_python_kmod_module_la_LIBADD = $(PYTHON_LIBS) libkmod/libkmod.la 199 200libkmod_python_kmod__util_la_SOURCES = libkmod/python/kmod/_util.c 201libkmod_python_kmod__util_la_CFLAGS = $(CPYTHON_MODULE_CFLAGS) 202libkmod_python_kmod__util_la_LDFLAGS = $(CPYTHON_MODULE_LDFLAGS) 203libkmod_python_kmod__util_la_LIBADD = $(PYTHON_LIBS) libkmod/libkmod.la 204 205BUILT_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 211dist_pkgpyexec_PYTHON = \ 212 libkmod/python/kmod/error.py \ 213 libkmod/python/kmod/__init__.py \ 214 libkmod/python/kmod/version.py 215 216BUILT_FILES += libkmod/python/kmod/version.py 217 218endif 219# ------------------------------------------------------------------------------ 220# TESTSUITE 221# ------------------------------------------------------------------------------ 222 223EXTRA_DIST += testsuite/populate-modules.sh 224 225MODULE_PLAYGROUND = testsuite/module-playground 226ROOTFS = testsuite/rootfs 227ROOTFS_PRISTINE = $(top_srcdir)/testsuite/rootfs-pristine 228CREATE_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 236build-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 242if BUILD_MODULES 243 $(MAKE) -C $(MODULE_PLAYGROUND) 244else 245 $(MAKE) -C $(MODULE_PLAYGROUND) FAKE_BUILD=1 246endif 247 248 249rootfs: build-module-playground 250 $(CREATE_ROOTFS) 251 252.PHONY: rootfs build-playground 253 254$(ROOTFS): $(ROOTFS_PRISTINE) 255 $(CREATE_ROOTFS) 256 257TESTSUITE_OVERRIDE_LIBS = \ 258 testsuite/uname.la testsuite/path.la \ 259 testsuite/init_module.la \ 260 testsuite/delete_module.la 261TESTSUITE_OVERRIDE_LIBS_LDFLAGS = \ 262 avoid-version -module -shared -export-dynamic -rpath /nowhere -ldl 263 264check-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 270check-am: rootfs check-sysconfdir 271 272 273EXTRA_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 305check_LTLIBRARIES = $(TESTSUITE_OVERRIDE_LIBS) 306 307testsuite_uname_la_LDFLAGS = $(TESTSUITE_OVERRIDE_LIBS_LDFLAGS) 308testsuite_path_la_CPPFLAGS = $(AM_CPPFLAGS) \ 309 -DABS_TOP_BUILDDIR=\"$(abs_top_builddir)\" 310testsuite_path_la_LDFLAGS = $(TESTSUITE_OVERRIDE_LIBS_LDFLAGS) 311 312testsuite_delete_module_la_LDFLAGS = $(TESTSUITE_OVERRIDE_LIBS_LDFLAGS) 313testsuite_init_module_la_LDFLAGS = $(TESTSUITE_OVERRIDE_LIBS_LDFLAGS) 314testsuite_init_module_la_SOURCES = testsuite/init_module.c \ 315 testsuite/stripped-module.h 316testsuite_init_module_la_LIBADD = libkmod/libkmod-internal.la 317 318TESTSUITE_CPPFLAGS = $(AM_CPPFLAGS) \ 319 -DTESTSUITE_ROOTFS=\"$(abs_top_builddir)/$(ROOTFS)/\" \ 320 -DABS_TOP_BUILDDIR=\"$(abs_top_builddir)\" 321TESTSUITE_LDADD = \ 322 testsuite/libtestsuite.la libkmod/libkmod-internal.la \ 323 shared/libshared.la 324 325check_LTLIBRARIES += testsuite/libtestsuite.la 326testsuite_libtestsuite_la_SOURCES = \ 327 testsuite/testsuite.c testsuite/testsuite.h 328testsuite_libtestsuite_la_DEPENDENCIES = \ 329 $(ROOTFS) $(TESTSUITE_OVERRIDE_LIBS) 330testsuite_libtestsuite_la_CPPFLAGS = $(TESTSUITE_CPPFLAGS) 331testsuite_libtestsuite_la_LIBADD = -lrt 332 333TESTSUITE = \ 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 346if BUILD_EXPERIMENTAL 347TESTSUITE += \ 348 testsuite/test-tools 349endif 350 351check_PROGRAMS = $(TESTSUITE) 352TESTS = $(TESTSUITE) 353 354testsuite_test_testsuite_LDADD = \ 355 testsuite/libtestsuite.la shared/libshared.la 356testsuite_test_testsuite_CPPFLAGS = $(TESTSUITE_CPPFLAGS) 357 358testsuite_test_hash_LDADD = $(TESTSUITE_LDADD) 359testsuite_test_hash_CPPFLAGS = $(TESTSUITE_CPPFLAGS) 360 361testsuite_test_array_LDADD = $(TESTSUITE_LDADD) 362testsuite_test_array_CPPFLAGS = $(TESTSUITE_CPPFLAGS) 363 364testsuite_test_scratchbuf_LDADD = $(TESTSUITE_LDADD) 365testsuite_test_scratchbuf_CPPFLAGS = $(TESTSUITE_CPPFLAGS) 366 367testsuite_test_strbuf_LDADD = $(TESTSUITE_LDADD) 368testsuite_test_strbuf_CPPFLAGS = $(TESTSUITE_CPPFLAGS) 369 370testsuite_test_init_LDADD = $(TESTSUITE_LDADD) 371testsuite_test_init_CPPFLAGS = $(TESTSUITE_CPPFLAGS) 372testsuite_test_initstate_LDADD = $(TESTSUITE_LDADD) 373testsuite_test_initstate_CPPFLAGS = $(TESTSUITE_CPPFLAGS) 374testsuite_test_loaded_LDADD = $(TESTSUITE_LDADD) 375testsuite_test_loaded_CPPFLAGS = $(TESTSUITE_CPPFLAGS) 376testsuite_test_modinfo_LDADD = $(TESTSUITE_LDADD) 377testsuite_test_modinfo_CPPFLAGS = $(TESTSUITE_CPPFLAGS) 378testsuite_test_util_LDADD = $(TESTSUITE_LDADD) 379testsuite_test_util_CPPFLAGS = $(TESTSUITE_CPPFLAGS) 380testsuite_test_new_module_LDADD = $(TESTSUITE_LDADD) 381testsuite_test_new_module_CPPFLAGS = $(TESTSUITE_CPPFLAGS) 382testsuite_test_modprobe_LDADD = $(TESTSUITE_LDADD) 383testsuite_test_modprobe_CPPFLAGS = $(TESTSUITE_CPPFLAGS) 384testsuite_test_blacklist_LDADD = $(TESTSUITE_LDADD) 385testsuite_test_blacklist_CPPFLAGS = $(TESTSUITE_CPPFLAGS) 386testsuite_test_dependencies_LDADD = $(TESTSUITE_LDADD) 387testsuite_test_dependencies_CPPFLAGS = $(TESTSUITE_CPPFLAGS) 388testsuite_test_depmod_LDADD = $(TESTSUITE_LDADD) 389testsuite_test_depmod_CPPFLAGS = $(TESTSUITE_CPPFLAGS) 390testsuite_test_list_LDADD = $(TESTSUITE_LDADD) 391testsuite_test_list_CPPFLAGS = $(TESTSUITE_CPPFLAGS) 392 393if BUILD_EXPERIMENTAL 394testsuite_test_tools_LDADD = $(TESTSUITE_LDADD) 395testsuite_test_tools_CPPFLAGS = $(TESTSUITE_CPPFLAGS) 396endif 397 398testsuite-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 406DISTCLEAN_LOCAL_HOOKS += testsuite-distclean 407EXTRA_DIST += testsuite/rootfs-pristine 408 409DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc --enable-python --sysconfdir=/etc \ 410 --with-zlib --with-openssl \ 411 --with-bashcompletiondir=$$dc_install_base/$(bashcompletiondir) 412 413distclean-local: $(DISTCLEAN_LOCAL_HOOKS) 414 415buildtest-TESTS: 416 $(MAKE) $(AM_MAKEFLAGS) $(check_LTLIBRARIES) $(check_PROGRAMS) 417 418DISTCLEANFILES += $(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 428coverage: all 429 $(MAKE) lcov-run 430 $(MAKE) lcov-report 431 432coverage_dir = coverage 433coverage_opts = --base-directory $(srcdir) --directory $(builddir) \ 434 --rc 'geninfo_adjust_src_path=$(abspath $(srcdir))=>$(abspath $(builddir))' 435 436if ENABLE_COVERAGE 437# reset run coverage tests 438lcov-run: 439 @rm -rf $(coverage_dir) 440 lcov $(coverage_opts) --zerocounters 441 -$(MAKE) check 442 443# generate report based on current coverage data 444lcov-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 452else 453 454lcov-run lcov-report: 455 echo "Need to reconfigure with --enable-coverage" 456 457endif 458 459# ------------------------------------------------------------------------------ 460# coverity 461# ------------------------------------------------------------------------------ 462 463kmod-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 470coverity-tar: kmod-coverity-$(shell git describe 2>/dev/null).tar.xz 471 472coverity-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@gmail.com \ 476 --form file=@$< \ 477 --form version="$(shell git describe)" \ 478 --form description="" \ 479 https://scan.coverity.com/builds?project=kmod 480 481coverity-clean: 482 rm -rf kmod-coverity-*.tar.xz cov-int 483 484# ------------------------------------------------------------------------------ 485# custom release helpers 486# ------------------------------------------------------------------------------ 487 488git-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 494kmod-$(VERSION).tar.xz: 495 make distcheck 496 497kmod-$(VERSION).tar.sign: 498 xz -d -c kmod-$(VERSION).tar.xz | gpg --armor --detach-sign --output kmod-$(VERSION).tar.sign 499 500tar: kmod-$(VERSION).tar.xz kmod-$(VERSION).tar.sign 501 502tar-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 509DISTRO ?= "arch" 510 511mkosi: 512 -$(MKDIR_P) $(top_srcdir)/testsuite/mkosi/mkosi.cache 513 $(MKOSI) -C $(top_srcdir)/testsuite/mkosi --build-sources ../../ --default mkosi.${DISTRO} -fi 514