# ------------------------------------------------------------------------------ # Copyright (C) 2008-2012 Kay Sievers <kay.sievers@vrfy.org> # Copyright (C) 2009 Diego Elio 'Flameeyes' Pettenò <flameeyes@gmail.com> # ------------------------------------------------------------------------------ SUBDIRS = . ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} AM_MAKEFLAGS = --no-print-directory AM_CPPFLAGS = \ -include $(top_builddir)/config.h \ -I$(top_srcdir)/src \ -DSYSCONFDIR=\""$(sysconfdir)"\" \ -DPKGLIBEXECDIR=\""$(libexecdir)/udev"\" AM_CFLAGS = \ ${my_CFLAGS} \ -fvisibility=hidden \ -ffunction-sections \ -fdata-sections AM_LDFLAGS = \ -Wl,--gc-sections \ -Wl,--as-needed DISTCHECK_CONFIGURE_FLAGS = \ --enable-debug \ --enable-rule_generator \ --enable-udev_acl \ --enable-floppy \ --enable-edd \ --with-selinux \ --enable-gtk-doc \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) BUILT_SOURCES = EXTRA_DIST = CLEANFILES = INSTALL_EXEC_HOOKS = INSTALL_DATA_HOOKS = UNINSTALL_EXEC_HOOKS = DISTCHECK_HOOKS = DISTCLEAN_LOCAL_HOOKS = udevhomedir = $(libexecdir)/udev udevhome_SCRIPTS = dist_udevhome_SCRIPTS = dist_udevhome_DATA = dist_man_MANS = SED_PROCESS = \ $(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(SED) \ -e 's,@VERSION\@,$(VERSION),g' \ -e 's,@prefix\@,$(prefix),g' \ -e 's,@rootprefix\@,$(rootprefix),g' \ -e 's,@exec_prefix\@,$(exec_prefix),g' \ -e 's,@libdir\@,$(libdir),g' \ -e 's,@includedir\@,$(includedir),g' \ -e 's,@bindir\@,$(bindir),g' \ -e 's,@pkglibexecdir\@,$(libexecdir)/udev,g' \ < $< > $@ || rm $@ %.pc: %.pc.in Makefile $(SED_PROCESS) %.rules: %.rules.in Makefile $(SED_PROCESS) %.service: %.service.in Makefile $(SED_PROCESS) %.sh: %.sh.in Makefile $(SED_PROCESS) $(AM_V_GEN)chmod +x $@ %.pl: %.pl.in Makefile $(SED_PROCESS) $(AM_V_GEN)chmod +x $@ # ------------------------------------------------------------------------------ # libudev # ------------------------------------------------------------------------------ LIBUDEV_CURRENT=13 LIBUDEV_REVISION=1 LIBUDEV_AGE=13 SUBDIRS += src/docs include_HEADERS = src/libudev.h lib_LTLIBRARIES = src/libudev.la src_libudev_la_SOURCES =\ src/libudev-private.h \ src/libudev.c \ src/libudev-list.c \ src/libudev-util.c \ src/libudev-device.c \ src/libudev-enumerate.c \ src/libudev-monitor.c \ src/libudev-queue.c src_libudev_la_LDFLAGS = \ $(AM_LDFLAGS) \ -version-info $(LIBUDEV_CURRENT):$(LIBUDEV_REVISION):$(LIBUDEV_AGE) noinst_LTLIBRARIES = \ src/libudev-private.la src_libudev_private_la_SOURCES =\ $(src_libudev_la_SOURCES) \ src/libudev-util-private.c \ src/libudev-device-private.c \ src/libudev-queue-private.c if WITH_SELINUX src_libudev_private_la_SOURCES += src/libudev-selinux-private.c src_libudev_private_la_LIBADD = $(SELINUX_LIBS) endif pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = src/libudev.pc EXTRA_DIST += src/libudev.pc.in CLEANFILES += src/libudev.pc EXTRA_DIST += src/COPYING # move lib from $(libdir) to $(rootlib_execdir) and update devel link, if needed libudev-install-move-hook: if test "$(libdir)" != "$(rootlib_execdir)"; then \ mkdir -p $(DESTDIR)$(rootlib_execdir) && \ so_img_name=$$(readlink $(DESTDIR)$(libdir)/libudev.so) && \ so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \ ln -sf $$so_img_rel_target_prefix$(rootlib_execdir)/$$so_img_name $(DESTDIR)$(libdir)/libudev.so && \ mv $(DESTDIR)$(libdir)/libudev.so.* $(DESTDIR)$(rootlib_execdir); \ fi libudev-uninstall-move-hook: rm -f $(DESTDIR)$(rootlib_execdir)/libudev.so* INSTALL_EXEC_HOOKS += libudev-install-move-hook UNINSTALL_EXEC_HOOKS += libudev-uninstall-move-hook # ------------------------------------------------------------------------------ # main udev # ------------------------------------------------------------------------------ udev-confdirs: -mkdir -p $(DESTDIR)$(sysconfdir)/udev/rules.d -mkdir -p $(DESTDIR)$(libexecdir)/udev/devices INSTALL_DATA_HOOKS += udev-confdirs EXTRA_DIST += \ rules/arch \ rules/misc udevrulesdir = $(libexecdir)/udev/rules.d dist_udevrules_DATA = \ rules/rules.d/50-udev-default.rules \ rules/rules.d/60-persistent-storage-tape.rules \ rules/rules.d/60-persistent-serial.rules \ rules/rules.d/60-persistent-input.rules \ rules/rules.d/60-persistent-alsa.rules \ rules/rules.d/60-persistent-storage.rules \ rules/rules.d/75-net-description.rules \ rules/rules.d/75-tty-description.rules \ rules/rules.d/78-sound-card.rules \ rules/rules.d/80-drivers.rules \ rules/rules.d/95-udev-late.rules udevconfdir = $(sysconfdir)/udev dist_udevconf_DATA = src/udev.conf sharepkgconfigdir = $(datadir)/pkgconfig sharepkgconfig_DATA = src/udev.pc EXTRA_DIST += src/udev.pc.in CLEANFILES += src/udev.pc if WITH_SYSTEMD dist_systemdsystemunit_DATA = \ src/udev-control.socket \ src/udev-kernel.socket systemdsystemunit_DATA = \ src/udev.service \ src/udev-trigger.service \ src/udev-settle.service EXTRA_DIST += \ src/udev.service.in \ src/udev-trigger.service.in \ src/udev-settle.service.in CLEANFILES += \ src/udev.service \ src/udev-trigger.service \ src/udev-settle.service systemd-install-hook: mkdir -p $(DESTDIR)$(systemdsystemunitdir)/sockets.target.wants ln -sf ../udev-control.socket $(DESTDIR)$(systemdsystemunitdir)/sockets.target.wants/udev-control.socket ln -sf ../udev-kernel.socket $(DESTDIR)$(systemdsystemunitdir)/sockets.target.wants/udev-kernel.socket mkdir -p $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants ln -sf ../udev.service $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants/udev.service ln -sf ../udev-trigger.service $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants/udev-trigger.service INSTALL_DATA_HOOKS += systemd-install-hook endif bin_PROGRAMS = \ src/udevadm pkglibexec_PROGRAMS = \ src/udevd udev_common_sources = \ src/udev.h \ src/udev-event.c \ src/udev-watch.c \ src/udev-node.c \ src/udev-rules.c \ src/udev-ctrl.c \ src/udev-builtin.c \ src/udev-builtin-blkid.c \ src/udev-builtin-firmware.c \ src/udev-builtin-hwdb.c \ src/udev-builtin-input_id.c \ src/udev-builtin-kmod.c \ src/udev-builtin-path_id.c \ src/udev-builtin-usb_id.c udev_common_CFLAGS = \ $(BLKID_CFLAGS) \ $(KMOD_CFLAGS) udev_common_LDADD = \ src/libudev-private.la \ $(BLKID_LIBS) \ $(KMOD_LIBS) udev_common_CPPFLAGS = \ $(AM_CPPFLAGS) \ -DFIRMWARE_PATH="$(FIRMWARE_PATH)" \ -DUSB_DATABASE=\"$(USB_DATABASE)\" -DPCI_DATABASE=\"$(PCI_DATABASE)\" src_udevd_SOURCES = \ $(udev_common_sources) \ src/udevd.c \ src/sd-daemon.h \ src/sd-daemon.c src_udevd_CFLAGS = $(udev_common_CFLAGS) src_udevd_LDADD = $(udev_common_LDADD) src_udevd_CPPFLAGS = $(udev_common_CPPFLAGS) src_udevadm_SOURCES = \ $(udev_common_sources) \ src/udevadm.c \ src/udevadm-info.c \ src/udevadm-control.c \ src/udevadm-monitor.c \ src/udevadm-settle.c \ src/udevadm-trigger.c \ src/udevadm-test.c \ src/udevadm-test-builtin.c src_udevadm_CFLAGS = $(udev_common_CFLAGS) src_udevadm_LDADD = $(udev_common_LDADD) src_udevadm_CPPFLAGS = $(udev_common_CPPFLAGS) # ------------------------------------------------------------------------------ # udev man pages # ------------------------------------------------------------------------------ dist_man_MANS += \ src/udev.7 \ src/udevadm.8 \ src/udevd.8 EXTRA_DIST += \ src/udev.xml \ src/udevadm.xml \ src/udevd.xml if HAVE_XSLTPROC dist_noinst_DATA = \ src/udev.html \ src/udevadm.html \ src/udevd.html src/%.7 src/%.8 : src/%.xml $(AM_V_GEN)$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< src/%.html : src/%.xml $(AM_V_GEN)$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/xhtml-1_1/docbook.xsl $< endif # ------------------------------------------------------------------------------ # udev tests # ------------------------------------------------------------------------------ TESTS = \ test/udev-test.pl \ test/rules-test.sh check_PROGRAMS = \ src/test-libudev \ src/test-udev src_test_libudev_SOURCES = src/test-libudev.c src_test_libudev_LDADD = src/libudev.la src_test_udev_SOURCES = \ $(udev_common_sources) \ src/test-udev.c src_test_udev_CFLAGS = $(udev_common_CFLAGS) src_test_udev_LDADD = $(udev_common_LDADD) src_test_udev_CPPFLAGS = $(udev_common_CPPFLAGS) # packed sysfs test tree test/sys/kernel/uevent_seqnum: $(AM_V_GEN)mkdir -p test && tar -C test/ -xJf $(top_srcdir)/test/sys.tar.xz BUILT_SOURCES += test/sys/kernel/uevent_seqnum test-sys-distclean: -rm -rf test/sys DISTCLEAN_LOCAL_HOOKS += test-sys-distclean EXTRA_DIST += test/sys.tar.xz # ------------------------------------------------------------------------------ # ata_id - ATA identify # ------------------------------------------------------------------------------ src_extras_ata_id_ata_id_SOURCES = src/extras/ata_id/ata_id.c src_extras_ata_id_ata_id_LDADD = src/libudev-private.la pkglibexec_PROGRAMS += src/extras/ata_id/ata_id # ------------------------------------------------------------------------------ # cdrom_id - optical drive/media capability # ------------------------------------------------------------------------------ src_extras_cdrom_id_cdrom_id_SOURCES = src/extras/cdrom_id/cdrom_id.c src_extras_cdrom_id_cdrom_id_LDADD = src/libudev-private.la pkglibexec_PROGRAMS += src/extras/cdrom_id/cdrom_id dist_udevrules_DATA += src/extras/cdrom_id/60-cdrom_id.rules # ------------------------------------------------------------------------------ # collect - trigger action when a collection of devices appeared # ------------------------------------------------------------------------------ src_extras_collect_collect_SOURCES = src/extras/collect/collect.c src_extras_collect_collect_LDADD = src/libudev-private.la pkglibexec_PROGRAMS += src/extras/collect/collect # ------------------------------------------------------------------------------ # scsi_id - SCSI inquiry to get various serial numbers # ------------------------------------------------------------------------------ src_extras_scsi_id_scsi_id_SOURCES =\ src/extras/scsi_id/scsi_id.c \ src/extras/scsi_id/scsi_serial.c \ src/extras/scsi_id/scsi.h \ src/extras/scsi_id/scsi_id.h src_extras_scsi_id_scsi_id_LDADD = src/libudev-private.la pkglibexec_PROGRAMS += src/extras/scsi_id/scsi_id dist_man_MANS += src/extras/scsi_id/scsi_id.8 EXTRA_DIST += src/extras/scsi_id/README # ------------------------------------------------------------------------------ # v4l_id - video4linux capabilities # ------------------------------------------------------------------------------ src_extras_v4l_id_v4l_id_SOURCES = src/extras/v4l_id/v4l_id.c src_extras_v4l_id_v4l_id_LDADD = src/libudev-private.la pkglibexec_PROGRAMS += src/extras/v4l_id/v4l_id dist_udevrules_DATA += src/extras/v4l_id/60-persistent-v4l.rules # ------------------------------------------------------------------------------ # accelerometer - updates device orientation # ------------------------------------------------------------------------------ src_extras_accelerometer_accelerometer_SOURCES = src/extras/accelerometer/accelerometer.c src_extras_accelerometer_accelerometer_LDADD = src/libudev-private.la -lm pkglibexec_PROGRAMS += src/extras/accelerometer/accelerometer dist_udevrules_DATA += src/extras/accelerometer/61-accelerometer.rules # ------------------------------------------------------------------------------ # qemu -- qemu/kvm guest tweaks # ------------------------------------------------------------------------------ dist_udevrules_DATA += src/extras/qemu/42-qemu-usb.rules if ENABLE_GUDEV # ------------------------------------------------------------------------------ # GUdev - libudev gobject interface # ------------------------------------------------------------------------------ LIBGUDEV_CURRENT=1 LIBGUDEV_REVISION=1 LIBGUDEV_AGE=1 SUBDIRS += src/extras/gudev/docs src_extras_gudev_libgudev_includedir=$(includedir)/gudev-1.0/gudev src_extras_gudev_libgudev_include_HEADERS = \ src/extras/gudev/gudev.h \ src/extras/gudev/gudevenums.h \ src/extras/gudev/gudevenumtypes.h \ src/extras/gudev/gudevtypes.h \ src/extras/gudev/gudevclient.h \ src/extras/gudev/gudevdevice.h \ src/extras/gudev/gudevenumerator.h lib_LTLIBRARIES += src/extras/gudev/libgudev-1.0.la pkgconfig_DATA += src/extras/gudev/gudev-1.0.pc EXTRA_DIST += src/extras/gudev/gudev-1.0.pc.in CLEANFILES += src/extras/gudev/gudev-1.0.pc src_extras_gudev_libgudev_1_0_la_SOURCES = \ src/extras/gudev/gudevenums.h \ src/extras/gudev/gudevenumtypes.h \ src/extras/gudev/gudevenumtypes.h\ src/extras/gudev/gudevtypes.h \ src/extras/gudev/gudevclient.h \ src/extras/gudev/gudevclient.c \ src/extras/gudev/gudevdevice.h \ src/extras/gudev/gudevdevice.c \ src/extras/gudev/gudevenumerator.h \ src/extras/gudev/gudevenumerator.c \ src/extras/gudev/gudevprivate.h nodist_src_extras_gudev_libgudev_1_0_la_SOURCES = \ src/extras/gudev/gudevmarshal.h \ src/extras/gudev/gudevmarshal.c \ src/extras/gudev/gudevenumtypes.h \ src/extras/gudev/gudevenumtypes.c BUILT_SOURCES += $(nodist_src_extras_gudev_libgudev_1_0_la_SOURCES) src_extras_gudev_libgudev_1_0_la_CPPFLAGS = \ $(AM_CPPFLAGS) \ -I$(top_builddir)/src/extras \ -I$(top_srcdir)/src/extras \ -I$(top_builddir)/src/extras/gudev \ -I$(top_srcdir)/src/extras/gudev \ -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT \ -D_GUDEV_COMPILATION \ -DG_LOG_DOMAIN=\"GUdev\" src_extras_gudev_libgudev_1_0_la_CFLAGS = \ -fvisibility=default \ $(GLIB_CFLAGS) src_extras_gudev_libgudev_1_0_la_LIBADD = src/libudev.la $(GLIB_LIBS) src_extras_gudev_libgudev_1_0_la_LDFLAGS = \ -version-info $(LIBGUDEV_CURRENT):$(LIBGUDEV_REVISION):$(LIBGUDEV_AGE) \ -export-dynamic -no-undefined \ -export-symbols-regex '^g_udev_.*' EXTRA_DIST += \ src/extras/gudev/COPYING \ src/extras/gudev/gudevmarshal.list \ src/extras/gudev/gudevenumtypes.h.template \ src/extras/gudev/gudevenumtypes.c.template \ src/extras/gudev/gjs-example.js \ src/extras/gudev/seed-example-enum.js \ src/extras/gudev/seed-example.js src/extras/gudev/gudevmarshal.h: src/extras/gudev/gudevmarshal.list $(AM_V_GEN)glib-genmarshal $< --prefix=g_udev_marshal --header > $@ src/extras/gudev/gudevmarshal.c: src/extras/gudev/gudevmarshal.list $(AM_V_GEN)echo "#include \"gudevmarshal.h\"" > $@ && \ glib-genmarshal $< --prefix=g_udev_marshal --body >> $@ src/extras/gudev/gudevenumtypes.h: src/extras/gudev/gudevenumtypes.h.template src/extras/gudev/gudevenums.h $(AM_V_GEN)glib-mkenums --template $^ > \ $@.tmp && mv $@.tmp $@ src/extras/gudev/gudevenumtypes.c: src/extras/gudev/gudevenumtypes.c.template src/extras/gudev/gudevenums.h $(AM_V_GEN)glib-mkenums --template $^ > \ $@.tmp && mv $@.tmp $@ if ENABLE_INTROSPECTION src/extras/gudev/GUdev-1.0.gir: src/extras/gudev/libgudev-1.0.la $(G_IR_SCANNER) $(AM_V_GEN)$(G_IR_SCANNER) -v \ --warn-all \ --namespace GUdev \ --nsversion=1.0 \ --include=GObject-2.0 \ --library=gudev-1.0 \ --library-path=$(top_builddir)/src \ --library-path=$(top_builddir)/src/extras/gudev \ --output $@ \ --pkg=glib-2.0 \ --pkg=gobject-2.0 \ --pkg-export=gudev-1.0 \ --c-include=gudev/gudev.h \ -I$(top_srcdir)/src/extras \ -I$(top_builddir)/src/extras \ -D_GUDEV_COMPILATION \ -D_GUDEV_WORK_AROUND_DEV_T_BUG \ $(top_srcdir)/src/extras/gudev/gudev.h \ $(top_srcdir)/src/extras/gudev/gudevtypes.h \ $(top_srcdir)/src/extras/gudev/gudevenums.h \ $(or $(wildcard $(top_builddir)/src/extras/gudev/gudevenumtypes.h),$(top_srcdir)/src/extras/gudev/gudevenumtypes.h) \ $(top_srcdir)/src/extras/gudev/gudevclient.h \ $(top_srcdir)/src/extras/gudev/gudevdevice.h \ $(top_srcdir)/src/extras/gudev/gudevenumerator.h \ $(top_srcdir)/src/extras/gudev/gudevclient.c \ $(top_srcdir)/src/extras/gudev/gudevdevice.c \ $(top_srcdir)/src/extras/gudev/gudevenumerator.c src/extras/gudev/GUdev-1.0.typelib: src/extras/gudev/GUdev-1.0.gir $(G_IR_COMPILER) $(AM_V_GEN)g-ir-compiler $< -o $@ girdir = $(GIRDIR) gir_DATA = src/extras/gudev/GUdev-1.0.gir typelibsdir = $(GIRTYPELIBDIR) typelibs_DATA = src/extras/gudev/GUdev-1.0.typelib CLEANFILES += $(gir_DATA) $(typelibs_DATA) endif # ENABLE_INTROSPECTION # move lib from $(libdir) to $(rootlib_execdir) and update devel link, if needed libgudev-install-move-hook: if test "$(libdir)" != "$(rootlib_execdir)"; then \ mkdir -p $(DESTDIR)$(rootlib_execdir) && \ so_img_name=$$(readlink $(DESTDIR)$(libdir)/libgudev-1.0.so) && \ so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \ ln -sf $$so_img_rel_target_prefix$(rootlib_execdir)/$$so_img_name $(DESTDIR)$(libdir)/libgudev-1.0.so && \ mv $(DESTDIR)$(libdir)/libgudev-1.0.so.* $(DESTDIR)$(rootlib_execdir); \ fi libgudev-uninstall-move-hook: rm -f $(DESTDIR)$(rootlib_execdir)/libgudev-1.0.so* INSTALL_EXEC_HOOKS += libgudev-install-move-hook UNINSTALL_EXEC_HOOKS += libgudev-uninstall-move-hook endif if ENABLE_KEYMAP # ------------------------------------------------------------------------------ # keymap - map custom hardware's multimedia keys # ------------------------------------------------------------------------------ src_extras_keymap_keymap_SOURCES = src/extras/keymap/keymap.c src_extras_keymap_keymap_CPPFLAGS = $(AM_CPPFLAGS) -I src/extras/keymap nodist_src_extras_keymap_keymap_SOURCES = \ src/extras/keymap/keys-from-name.h \ src/extras/keymap/keys-to-name.h BUILT_SOURCES += $(nodist_src_extras_keymap_keymap_SOURCES) pkglibexec_PROGRAMS += src/extras/keymap/keymap dist_doc_DATA = src/extras/keymap/README.keymap.txt dist_udevrules_DATA += \ src/extras/keymap/95-keymap.rules \ src/extras/keymap/95-keyboard-force-release.rules dist_udevhome_SCRIPTS += src/extras/keymap/findkeyboards udevhome_SCRIPTS += src/extras/keymap/keyboard-force-release.sh EXTRA_DIST += \ src/extras/keymap/check-keymaps.sh \ src/extras/keymap/keyboard-force-release.sh.in CLEANFILES += \ src/extras/keymap/keys.txt \ src/extras/keymap/keys-from-name.gperf \ src/extras/keymap/keyboard-force-release.sh udevkeymapdir = $(libexecdir)/udev/keymaps dist_udevkeymap_DATA = \ src/extras/keymap/keymaps/acer \ src/extras/keymap/keymaps/acer-aspire_5720 \ src/extras/keymap/keymaps/acer-aspire_8930 \ src/extras/keymap/keymaps/acer-aspire_5920g \ src/extras/keymap/keymaps/acer-aspire_6920 \ src/extras/keymap/keymaps/acer-travelmate_c300 \ src/extras/keymap/keymaps/asus \ src/extras/keymap/keymaps/compaq-e_evo \ src/extras/keymap/keymaps/dell \ src/extras/keymap/keymaps/dell-latitude-xt2 \ src/extras/keymap/keymaps/everex-xt5000 \ src/extras/keymap/keymaps/fujitsu-amilo_pa_2548 \ src/extras/keymap/keymaps/fujitsu-amilo_pro_edition_v3505 \ src/extras/keymap/keymaps/fujitsu-amilo_pro_v3205 \ src/extras/keymap/keymaps/fujitsu-amilo_si_1520 \ src/extras/keymap/keymaps/fujitsu-esprimo_mobile_v5 \ src/extras/keymap/keymaps/fujitsu-esprimo_mobile_v6 \ src/extras/keymap/keymaps/genius-slimstar-320 \ src/extras/keymap/keymaps/hewlett-packard \ src/extras/keymap/keymaps/hewlett-packard-2510p_2530p \ src/extras/keymap/keymaps/hewlett-packard-compaq_elitebook \ src/extras/keymap/keymaps/hewlett-packard-pavilion \ src/extras/keymap/keymaps/hewlett-packard-presario-2100 \ src/extras/keymap/keymaps/hewlett-packard-tablet \ src/extras/keymap/keymaps/hewlett-packard-tx2 \ src/extras/keymap/keymaps/ibm-thinkpad-usb-keyboard-trackpoint \ src/extras/keymap/keymaps/inventec-symphony_6.0_7.0 \ src/extras/keymap/keymaps/lenovo-3000 \ src/extras/keymap/keymaps/lenovo-ideapad \ src/extras/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint \ src/extras/keymap/keymaps/lenovo-thinkpad_x6_tablet \ src/extras/keymap/keymaps/lenovo-thinkpad_x200_tablet \ src/extras/keymap/keymaps/lg-x110 \ src/extras/keymap/keymaps/logitech-wave \ src/extras/keymap/keymaps/logitech-wave-cordless \ src/extras/keymap/keymaps/logitech-wave-pro-cordless \ src/extras/keymap/keymaps/maxdata-pro_7000 \ src/extras/keymap/keymaps/medion-fid2060 \ src/extras/keymap/keymaps/medionnb-a555 \ src/extras/keymap/keymaps/micro-star \ src/extras/keymap/keymaps/module-asus-w3j \ src/extras/keymap/keymaps/module-ibm \ src/extras/keymap/keymaps/module-lenovo \ src/extras/keymap/keymaps/module-sony \ src/extras/keymap/keymaps/module-sony-old \ src/extras/keymap/keymaps/module-sony-vgn \ src/extras/keymap/keymaps/olpc-xo \ src/extras/keymap/keymaps/onkyo \ src/extras/keymap/keymaps/oqo-model2 \ src/extras/keymap/keymaps/samsung-other \ src/extras/keymap/keymaps/samsung-sq1us \ src/extras/keymap/keymaps/samsung-sx20s \ src/extras/keymap/keymaps/toshiba-satellite_a100 \ src/extras/keymap/keymaps/toshiba-satellite_a110 \ src/extras/keymap/keymaps/toshiba-satellite_m30x \ src/extras/keymap/keymaps/zepto-znote udevkeymapforcereldir = $(libexecdir)/udev/keymaps/force-release dist_udevkeymapforcerel_DATA = \ src/extras/keymap/force-release-maps/dell-touchpad \ src/extras/keymap/force-release-maps/hp-other \ src/extras/keymap/force-release-maps/samsung-other \ src/extras/keymap/force-release-maps/common-volume-keys src/extras/keymap/keys.txt: $(INCLUDE_PREFIX)/linux/input.h $(AM_V_at)mkdir -p src/extras/keymap $(AM_V_GEN)$(AWK) '/^#define.*KEY_[^ ]+[ \t]+[0-9]/ { if ($$2 != "KEY_MAX") { print $$2 } }' < $< | sed 's/^KEY_COFFEE$$/KEY_SCREENLOCK/' > $@ src/extras/keymap/keys-from-name.gperf: src/extras/keymap/keys.txt $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct key { const char* name; unsigned short id; };"; print "%null-strings"; print "%%";} { print $$1 ", " $$1 }' < $< > $@ src/extras/keymap/keys-from-name.h: src/extras/keymap/keys-from-name.gperf Makefile $(AM_V_GEN)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_key -H hash_key_name -p -C < $< > $@ src/extras/keymap/keys-to-name.h: src/extras/keymap/keys.txt Makefile $(AM_V_GEN)$(AWK) 'BEGIN{ print "const char* const key_names[KEY_CNT] = { "} { print "[" $$1 "] = \"" $$1 "\"," } END{print "};"}' < $< > $@ keymaps-distcheck-hook: src/extras/keymap/keys.txt $(top_srcdir)/src/extras/keymap/check-keymaps.sh $(top_srcdir) $^ DISTCHECK_HOOKS += keymaps-distcheck-hook endif if ENABLE_MTD_PROBE # ------------------------------------------------------------------------------ # mtd_probe - autoloads FTL module for mtd devices # ------------------------------------------------------------------------------ src_extras_mtd_probe_mtd_probe_SOURCES = \ src/extras/mtd_probe/mtd_probe.c \ src/extras/mtd_probe/mtd_probe.h \ src/extras/mtd_probe/probe_smartmedia.c src_extras_mtd_probe_mtd_probe_CPPFLAGS = $(AM_CPPFLAGS) dist_udevrules_DATA += src/extras/mtd_probe/75-probe_mtd.rules pkglibexec_PROGRAMS += src/extras/mtd_probe/mtd_probe endif if ENABLE_RULE_GENERATOR # ------------------------------------------------------------------------------ # rule_generator - persistent network and optical device rule generator # ------------------------------------------------------------------------------ dist_udevhome_SCRIPTS += \ src/extras/rule_generator/write_cd_rules \ src/extras/rule_generator/write_net_rules dist_udevhome_DATA += \ src/extras/rule_generator/rule_generator.functions dist_udevrules_DATA += \ src/extras/rule_generator/75-cd-aliases-generator.rules \ src/extras/rule_generator/75-persistent-net-generator.rules endif if ENABLE_UDEV_ACL # ------------------------------------------------------------------------------ # udev_acl - apply ACLs for users with local forground sessions # ------------------------------------------------------------------------------ src_udev_acl_SOURCES = src/extras/udev-acl/udev-acl.c src_udev_acl_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS) src_udev_acl_LDADD = src/libudev-private.la -lacl $(GLIB_LIBS) dist_udevrules_DATA += src/extras/udev-acl/70-udev-acl.rules pkglibexec_PROGRAMS += src/udev-acl udevacl-install-hook: mkdir -p $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d ln -sf $(libexecdir)/udev/udev-acl $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d/udev-acl.ck INSTALL_EXEC_HOOKS += udevacl-install-hook endif if ENABLE_FLOPPY # ------------------------------------------------------------------------------ # create_floppy_devices - historical floppy kernel device nodes (/dev/fd0h1440, ...) # ------------------------------------------------------------------------------ src_create_floppy_devices_SOURCES = src/extras/floppy/create_floppy_devices.c src_create_floppy_devices_LDADD = src/libudev-private.la pkglibexec_PROGRAMS += src/create_floppy_devices dist_udevrules_DATA += src/extras/floppy/60-floppy.rules endif if ENABLE_EDD # ------------------------------------------------------------------------------ # edd_id - create /dev/disk/by-id/edd-* links for BIOS EDD data # ------------------------------------------------------------------------------ src_edd_id_SOURCES = src/extras/edd_id/edd_id.c src_edd_id_LDADD = src/libudev-private.la pkglibexec_PROGRAMS += src/edd_id dist_udevrules_DATA += src/extras/edd_id/61-persistent-storage-edd.rules endif # ------------------------------------------------------------------------------ # install, uninstall, clean hooks # ------------------------------------------------------------------------------ clean-local: rm -rf udev-test-install distclean-local: rm -rf autom4te.cache EXTRA_DIST += \ $(TESTS) \ test/rule-syntax-check.py CLEANFILES += \ $(BUILT_SOURCES) install-exec-hook: $(INSTALL_EXEC_HOOKS) install-data-hook: $(INSTALL_DATA_HOOKS) uninstall-hook: $(UNINSTALL_EXEC_HOOKS) distcheck-hook: $(DISTCHECK_HOOKS) distclean-local: $(DISTCLEAN_LOCAL_HOOKS) # ------------------------------------------------------------------------------ # custom release helpers # ------------------------------------------------------------------------------ PREVIOUS_VERSION = `expr $(VERSION) - 1` changelog: @ head -1 ChangeLog | grep -q "to v$(PREVIOUS_VERSION)" @ mv ChangeLog ChangeLog.tmp @ echo "Summary of changes from v$(PREVIOUS_VERSION) to v$(VERSION)" >> ChangeLog @ echo "============================================" >> ChangeLog @ echo >> ChangeLog @ git log --pretty=short $(PREVIOUS_VERSION)..HEAD | git shortlog >> ChangeLog @ echo >> ChangeLog @ cat ChangeLog @ cat ChangeLog.tmp >> ChangeLog @ rm ChangeLog.tmp test-install: rm -rf $(PWD)/udev-test-install/ make DESTDIR=$(PWD)/udev-test-install install tree $(PWD)/udev-test-install/ git-release: head -1 ChangeLog | grep -q "to v$(VERSION)" head -1 NEWS | grep -q "udev $(VERSION)" git commit -a -m "release $(VERSION)" git tag -m "udev $(VERSION)" -s $(VERSION) git gc --prune=0 git-sync: git push git push --tags tar-sync: rm -f udev-$(VERSION).tar.sign xz -d -c udev-$(VERSION).tar.xz | gpg --armor --detach-sign --output udev-$(VERSION).tar.sign kup put udev-$(VERSION).tar.xz udev-$(VERSION).tar.sign /pub/linux/utils/kernel/hotplug/ doc-sync: for i in src/*.html; do rm -f $$i.sign; gpg --armor --detach-sign --output=$$i.sign $$i; done for i in src/*.html; do echo $$i; kup put $$i $$i.sign /pub/linux/utils/kernel/hotplug/udev/; done for i in src/docs/html/*.{html,css,png}; do rm -f $$i.sign; gpg --armor --detach-sign --output=$$i.sign $$i; done for i in src/docs/html/*.{html,css,png}; do echo $$i; kup put $$i $$i.sign /pub/linux/utils/kernel/hotplug/libudev/; done for i in src/extras/gudev/docs/html/*.{html,css,png}; do rm -f $$i.sign; gpg --armor --detach-sign --output=$$i.sign $$i; done for i in src/extras/gudev/docs/html/*.{html,css,png}; do echo $$i; kup put $$i $$i.sign /pub/linux/utils/kernel/hotplug/gudev/; done