+ - find . \( -not -type d \) -and \( -name '*~' -o -name '*.[oas]' \) -type f -print0 | xargs -0rt rm -f
+ - find -name "*.gcno" -print0 | xargs -0rt rm -f
+ - find -name "*.gcda" -print0 | xargs -0rt rm -f
+ - find -name "*.gcov" -print0 | xargs -0rt rm -f
+ - rm -f udev_gcov.txt
+ - rm -f core $(PROGRAMS) $(GEN_HEADERS) $(GEN_CONFIGS)
+ $(MAKE) -C klibc SUBDIRS=klibc clean
+ @extras="$(EXTRAS)"; for target in $$extras; do \
+ echo $$target; \
+ $(MAKE) prefix=$(prefix) -C $$target $@; \
+ done;
+.PHONY: clean
+
+spotless: clean
+ $(MAKE) -C klibc SUBDIRS=klibc spotless
+ rm -rf klibc/.install
+.PHONY: spotless
+
+release: spotless
+ git-tar-tree HEAD $(RELEASE_NAME) | gzip -9v > $(RELEASE_NAME).tar.gz
+ @echo "$(RELEASE_NAME).tar.gz created"
+.PHONY: release
+
+install-config: $(GEN_CONFIGS)
+ $(INSTALL) -d $(DESTDIR)$(configdir)/rules.d
+ @if [ ! -r $(DESTDIR)$(configdir)/udev.conf ]; then \
+ echo $(INSTALL_DATA) $(LOCAL_CFG_DIR)/udev.conf $(DESTDIR)$(configdir); \
+ $(INSTALL_DATA) $(LOCAL_CFG_DIR)/udev.conf $(DESTDIR)$(configdir); \
+ fi
+ @if [ ! -r $(DESTDIR)$(configdir)/rules.d/50-udev.rules ]; then \
+ echo; \
+ echo "pick a udev rules file from the etc/udev directory that matches your distribution"; \
+ echo; \
+ fi
+ @extras="$(EXTRAS)"; for target in $$extras; do \
+ echo $$target; \
+ $(MAKE) prefix=$(prefix) -C $$target $@; \
+ done;
+.PHONY: install-config
+
+install-man:
+ $(INSTALL_DATA) -D udev.8 $(DESTDIR)$(mandir)/man8/udev.8
+ $(INSTALL_DATA) -D udevinfo.8 $(DESTDIR)$(mandir)/man8/udevinfo.8
+ $(INSTALL_DATA) -D udevtest.8 $(DESTDIR)$(mandir)/man8/udevtest.8
+ $(INSTALL_DATA) -D udevstart.8 $(DESTDIR)$(mandir)/man8/udevstart.8
+ $(INSTALL_DATA) -D udevd.8 $(DESTDIR)$(mandir)/man8/udevd.8
+ $(INSTALL_DATA) -D udevsend.8 $(DESTDIR)$(mandir)/man8/udevsend.8
+ $(INSTALL_DATA) -D udevmonitor.8 $(DESTDIR)$(mandir)/man8/udevmonitor.8
+ - ln -f -s udevd.8 $(DESTDIR)$(mandir)/man8/udevcontrol.8
+ @extras="$(EXTRAS)"; for target in $$extras; do \
+ echo $$target; \
+ $(MAKE) prefix=$(prefix) -C $$target $@; \
+ done;
+.PHONY: install-man
+
+uninstall-man:
+ - rm -f $(mandir)/man8/udev.8
+ - rm -f $(mandir)/man8/udevinfo.8
+ - rm -f $(mandir)/man8/udevtest.8
+ - rm -f $(mandir)/man8/udevstart.8
+ - rm -f $(mandir)/man8/udevd.8
+ - rm -f $(mandir)/man8/udevmonitor.8
+ - rm -f $(mandir)/man8/udevsend.8
+ - rm -f $(mandir)/man8/udevcontrol.8
+ @extras="$(EXTRAS)"; for target in $$extras; do \
+ echo $$target; \
+ $(MAKE) prefix=$(prefix) -C $$target $@; \
+ done;
+.PHONY: uninstall-man
+
+install-bin:
+ $(INSTALL) -d $(DESTDIR)$(udevdir)
+ $(INSTALL_PROGRAM) -D udev $(DESTDIR)$(sbindir)/udev
+ $(INSTALL_PROGRAM) -D udevd $(DESTDIR)$(sbindir)/udevd
+ $(INSTALL_PROGRAM) -D udevsend $(DESTDIR)$(sbindir)/udevsend
+ $(INSTALL_PROGRAM) -D udevcontrol $(DESTDIR)$(sbindir)/udevcontrol
+ $(INSTALL_PROGRAM) -D udevmonitor $(DESTDIR)$(usrsbindir)/udevmonitor
+ $(INSTALL_PROGRAM) -D udevinfo $(DESTDIR)$(usrbindir)/udevinfo
+ $(INSTALL_PROGRAM) -D udevtest $(DESTDIR)$(usrbindir)/udevtest
+ $(INSTALL_PROGRAM) -D udevstart $(DESTDIR)$(sbindir)/udevstart
+ @extras="$(EXTRAS)"; for target in $$extras; do \
+ echo $$target; \
+ $(MAKE) prefix=$(prefix) -C $$target $@; \
+ done;
+ifndef DESTDIR
+ - killall udevd
+ - rm -rf $(udevdb)
+ - $(sbindir)/udevd --daemon
+endif
+.PHONY: install-bin
+
+uninstall-bin:
+ - rm -f $(sbindir)/udev
+ - rm -f $(sbindir)/udevd
+ - rm -f $(sbindir)/udevsend
+ - rm -f $(sbindir)/udevinitsend
+ - rm -f $(sbindir)/udeveventrecoreder
+ - rm -f $(sbindir)/udevcontrol
+ - rm -f $(sbindir)/udevstart
+ - rm -f $(usrsbindir)/udevmonitor
+ - rm -f $(usrbindir)/udevinfo
+ - rm -f $(usrbindir)/udevtest
+ - rm -rf $(udevdb)
+ - killall udevd
+ @extras="$(EXTRAS)"; for target in $$extras; do \
+ echo $$target; \
+ $(MAKE) prefix=$(prefix) -C $$target $@; \
+ done;
+.PHONY: uninstall-bin
+
+install: all install-bin install-config install-man
+.PHONY: install
+
+uninstall: uninstall-bin uninstall-man
+.PHONY: uninstall
+
+test tests: all
+ @ cd test && ./udev-test.pl
+ @ cd test && ./udevstart-test.pl
+.PHONY: test tests
+
+buildtest:
+ ./test/simple-build-check.sh
+.PHONY: buildtest
+
+gcov-all:
+ $(MAKE) clean all DEBUG=true USE_GCOV=true
+ @echo
+ @echo "binaries built with gcov support."
+ @echo "run the tests and analyze with 'make udev_gcov.txt'"
+.PHONY: gcov-all
+
+# see docs/README-gcov_for_udev
+udev_gcov.txt: $(wildcard *.gcda) $(wildcard *.gcno)
+ for file in `find -maxdepth 1 -name "*.gcno"`; do \
+ name=`basename $$file .gcno`; \
+ echo "################" >> $@; \
+ echo "$$name.c" >> $@; \
+ echo "################" >> $@; \
+ if [ -e "$$name.gcda" ]; then \
+ gcov -l "$$name.c" >> $@ 2>&1; \
+ else \
+ echo "code for $$name.c was never executed" >> $@ 2>&1; \
+ fi; \
+ echo >> $@; \
+ done; \
+ echo "view $@ for the result"
+