]> git.ipfire.org Git - thirdparty/systemd.git/blame - Makefile.am
configure: allow to enable/disable extras individually
[thirdparty/systemd.git] / Makefile.am
CommitLineData
863ad21f
KS
1# ------------------------------------------------------------------------------
2# Copyright (C) 2008-2009 Kay Sievers <kay.sievers@vrfy.org>
3# Copyright (C) 2009 Diego Elio 'Flameeyes' Pettenò <flameeyes@gmail.com>
4# ------------------------------------------------------------------------------
01618658 5
863ad21f 6SUBDIRS = .
5d89ef7b 7
863ad21f 8EXTRA_DIST = autogen.sh
7d701b0e 9
03733b04
KS
10ACLOCAL_AMFLAGS = -I m4
11
6e4025df
KS
12AM_MAKEFLAGS = --no-print-directory
13
51668e2c
DEP
14AM_CPPFLAGS = \
15 -include $(top_builddir)/config.h \
16 -I$(top_srcdir)/libudev \
17 -DSYSCONFDIR=\""$(sysconfdir)"\" \
18 -DLIBEXECDIR=\""$(libexecdir)"\"
19
51668e2c
DEP
20AM_LDFLAGS = \
21 -Wl,--as-needed
22
af23b83e 23DISTCHECK_CONFIGURE_FLAGS = \
f0565500
KS
24 --enable-gtk-doc \
25 --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)
26812f0a 26
863ad21f 27CLEANFILES =
d5d6a7f3 28BUILT_SOURCES =
a04879b5
KS
29INSTALL_EXEC_HOOKS =
30INSTALL_DATA_HOOKS =
31UNINSTALL_EXEC_HOOKS =
32DISTCHECK_HOOKS =
d5d6a7f3 33dist_libexec_SCRIPTS =
a04879b5 34
863ad21f
KS
35# ------------------------------------------------------------------------------
36# libudev
37# ------------------------------------------------------------------------------
218e47ae 38LIBUDEV_CURRENT=11
8958da13 39LIBUDEV_REVISION=3
218e47ae 40LIBUDEV_AGE=11
59d93adb 41
863ad21f 42SUBDIRS += libudev/docs
402520cc 43
59d93adb 44include_HEADERS = libudev/libudev.h
59d93adb
DEP
45lib_LTLIBRARIES = libudev/libudev.la
46
47libudev_libudev_la_SOURCES =\
48 libudev/libudev-private.h \
49 libudev/libudev.c \
50 libudev/libudev-list.c \
51 libudev/libudev-util.c \
52 libudev/libudev-device.c \
53 libudev/libudev-enumerate.c \
54 libudev/libudev-monitor.c \
55 libudev/libudev-queue.c
56
59d93adb
DEP
57libudev_libudev_la_LDFLAGS = \
58 -version-info $(LIBUDEV_CURRENT):$(LIBUDEV_REVISION):$(LIBUDEV_AGE) \
59 -export-symbols $(top_srcdir)/libudev/exported_symbols
60
61noinst_LTLIBRARIES = \
62 libudev/libudev-private.la
63
64libudev_libudev_private_la_SOURCES =\
65 $(libudev_libudev_la_SOURCES) \
66 libudev/libudev-ctrl.c \
67 libudev/libudev-util-private.c \
68 libudev/libudev-device-private.c \
69 libudev/libudev-queue-private.c
70
863ad21f
KS
71if WITH_SELINUX
72libudev_libudev_private_la_SOURCES += libudev/libudev-selinux-private.c
73libudev_libudev_private_la_LIBADD = $(SELINUX_LIBS)
74endif
59d93adb 75
2016ac8e
KS
76pkgconfigdir = $(libdir)/pkgconfig
77pkgconfig_DATA = libudev/libudev.pc
78
c0b19a17 79EXTRA_DIST += libudev/exported_symbols libudev/COPYING
863ad21f
KS
80# move lib from $(libdir) to $(rootlib_execdir) and update devel link, if needed
81libudev-install-move-hook:
82 if test "$(libdir)" != "$(rootlib_execdir)"; then \
83 mkdir -p $(DESTDIR)$(rootlib_execdir) && \
84 so_img_name=$$(readlink $(DESTDIR)$(libdir)/libudev.so) && \
85 so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \
86 ln -sf $$so_img_rel_target_prefix$(rootlib_execdir)/$$so_img_name $(DESTDIR)$(libdir)/libudev.so && \
87 mv $(DESTDIR)$(libdir)/libudev.so.* $(DESTDIR)$(rootlib_execdir); \
88 fi
33eb1830 89
863ad21f
KS
90libudev-uninstall-move-hook:
91 rm -f $(DESTDIR)$(rootlib_execdir)/libudev.so*
33eb1830 92
a04879b5
KS
93INSTALL_EXEC_HOOKS += libudev-install-move-hook
94UNINSTALL_EXEC_HOOKS += libudev-uninstall-move-hook
33eb1830 95
59d93adb 96# ------------------------------------------------------------------------------
863ad21f 97# main udev
59d93adb 98# ------------------------------------------------------------------------------
a04879b5 99udev-confdirs:
863ad21f 100 -mkdir -p $(DESTDIR)$(sysconfdir)/udev/rules.d
860a404d 101 -mkdir -p $(DESTDIR)$(libexecdir)/devices
863ad21f 102
a04879b5
KS
103INSTALL_DATA_HOOKS += udev-confdirs
104
863ad21f 105EXTRA_DIST += \
d4309983 106 rules/arch \
492da5ef 107 rules/misc
863ad21f
KS
108
109udevrulesdir = $(libexecdir)/rules.d
110dist_udevrules_DATA = \
111 rules/rules.d/50-udev-default.rules \
112 rules/rules.d/60-persistent-storage.rules \
113 rules/rules.d/60-persistent-storage-tape.rules \
114 rules/rules.d/60-persistent-serial.rules \
115 rules/rules.d/60-persistent-input.rules \
116 rules/rules.d/60-persistent-alsa.rules \
117 rules/rules.d/80-drivers.rules \
118 rules/rules.d/95-udev-late.rules
119
120udevconfdir = $(sysconfdir)/udev
121dist_udevconf_DATA = udev.conf
122
123sharepkgconfigdir = $(datadir)/pkgconfig
124sharepkgconfig_DATA = udev/udev.pc
59d93adb 125
08b4c883
KS
126if WITH_SYSTEMD
127systemdsystemunit_DATA = \
fc1de713 128 init/udev.socket \
08b4c883 129 init/udev.service \
fc1de713 130 init/udev-trigger.service \
baf2b4eb 131 init/udev-settle.service
a04879b5 132
fc1de713
KS
133EXTRA_DIST += init/udev.socket
134
a04879b5 135systemd-install-hook:
079f5697
KS
136 mkdir -p $(DESTDIR)$(systemdsystemunitdir)/sockets.target.wants
137 ln -sf ../udev.socket $(DESTDIR)$(systemdsystemunitdir)/sockets.target.wants/udev.socket
0bd77e2a
KS
138 mkdir -p $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants
139 ln -sf ../udev.service $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants/udev.service
fc1de713 140 ln -sf ../udev-trigger.service $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants/udev-trigger.service
a04879b5
KS
141
142INSTALL_DATA_HOOKS += systemd-install-hook
08b4c883
KS
143endif
144
59d93adb
DEP
145sbin_PROGRAMS = \
146 udev/udevd \
147 udev/udevadm
148
149udev_common_sources =\
150 udev/udev.h \
151 udev/udev-event.c \
152 udev/udev-watch.c \
153 udev/udev-node.c \
154 udev/udev-rules.c
59d93adb
DEP
155
156udev_udevd_SOURCES = \
157 $(udev_common_sources) \
392ef7a2
KS
158 udev/udevd.c \
159 udev/sd-daemon.h \
160 udev/sd-daemon.c
863ad21f 161udev_udevd_LDADD = libudev/libudev-private.la
59d93adb
DEP
162
163udev_udevadm_SOURCES = \
164 $(udev_common_sources) \
165 udev/udevadm.c \
166 udev/udevadm-info.c \
167 udev/udevadm-control.c \
168 udev/udevadm-test.c \
169 udev/udevadm-monitor.c \
170 udev/udevadm-settle.c \
171 udev/udevadm-trigger.c
863ad21f
KS
172udev_udevadm_LDADD = libudev/libudev-private.la
173
174# ------------------------------------------------------------------------------
26420abf 175# udev man pages
863ad21f 176# ------------------------------------------------------------------------------
863ad21f
KS
177dist_man_MANS = \
178 udev/udev.7 \
179 udev/udevadm.8 \
180 udev/udevd.8
181
e99cc723
KS
182dist_noinst_DATA = \
183 udev/udev.html \
184 udev/udevadm.html \
185 udev/udevd.html
186
863ad21f
KS
187EXTRA_DIST += \
188 udev/udev.xml \
189 udev/udevadm.xml \
190 udev/udevd.xml
191
e99cc723 192udev/%.7 udev/%.8 : udev/%.xml
63749b1a 193 $(AM_V_GEN)$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
863ad21f 194
e99cc723
KS
195udev/%.html : udev/%.xml
196 $(AM_V_GEN)$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/xhtml-1_1/docbook.xsl $<
197
863ad21f
KS
198# ------------------------------------------------------------------------------
199# udev tests
200# ------------------------------------------------------------------------------
b2ad12eb 201TESTS = test/udev-test.pl test/rules-test.sh
863ad21f
KS
202
203check_PROGRAMS = \
204 libudev/test-libudev \
205 udev/test-udev
206
207libudev_test_libudev_SOURCES = libudev/test-libudev.c
208libudev_test_libudev_LDADD = libudev/libudev.la
209
210udev_test_udev_SOURCES = \
211 $(udev_common_sources) \
212 udev/test-udev.c
213udev_test_udev_LDADD = libudev/libudev-private.la
59d93adb 214
6fb1b637
PP
215# ------------------------------------------------------------------------------
216# firmware - firmware loading
217# ------------------------------------------------------------------------------
218extras_firmware_firmware_SOURCES = extras/firmware/firmware.c
219extras_firmware_firmware_LDADD = libudev/libudev-private.la
4101ce14 220extras_firmware_firmware_CPPFLAGS = $(AM_CPPFLAGS) -DFIRMWARE_PATH="$(FIRMWARE_PATH)"
6fb1b637
PP
221dist_udevrules_DATA += extras/firmware/50-firmware.rules
222libexec_PROGRAMS = extras/firmware/firmware
223
863ad21f
KS
224# ------------------------------------------------------------------------------
225# ata_id - ATA identify
226# ------------------------------------------------------------------------------
59d93adb
DEP
227extras_ata_id_ata_id_SOURCES = extras/ata_id/ata_id.c
228extras_ata_id_ata_id_LDADD = libudev/libudev-private.la
6fb1b637 229libexec_PROGRAMS += extras/ata_id/ata_id
59d93adb 230
863ad21f
KS
231# ------------------------------------------------------------------------------
232# cdrom_id - optical drive/media capability
233# ------------------------------------------------------------------------------
59d93adb
DEP
234extras_cdrom_id_cdrom_id_SOURCES = extras/cdrom_id/cdrom_id.c
235extras_cdrom_id_cdrom_id_LDADD = libudev/libudev-private.la
863ad21f
KS
236libexec_PROGRAMS += extras/cdrom_id/cdrom_id
237dist_udevrules_DATA += extras/cdrom_id/60-cdrom_id.rules
59d93adb 238
863ad21f
KS
239# ------------------------------------------------------------------------------
240# collect - trigger action when a collection of devices appeared
241# ------------------------------------------------------------------------------
59d93adb
DEP
242extras_collect_collect_SOURCES = extras/collect/collect.c
243extras_collect_collect_LDADD = libudev/libudev-private.la
863ad21f 244libexec_PROGRAMS += extras/collect/collect
59d93adb 245
a6cf7734 246# ------------------------------------------------------------------------------
5b920478 247# input_id - import input device class
a6cf7734
MP
248# ------------------------------------------------------------------------------
249extras_input_id_input_id_SOURCES = extras/input_id/input_id.c
a245a97b 250extras_input_id_input_id_LDADD = libudev/libudev-private.la
a6cf7734
MP
251libexec_PROGRAMS += extras/input_id/input_id
252
863ad21f
KS
253# ------------------------------------------------------------------------------
254# path_id - compose identifier of persistent elements of the parent buses
255# ------------------------------------------------------------------------------
59d93adb
DEP
256extras_path_id_path_id_SOURCES = extras/path_id/path_id.c
257extras_path_id_path_id_LDADD = libudev/libudev-private.la
863ad21f 258libexec_PROGRAMS += extras/path_id/path_id
59d93adb 259
863ad21f
KS
260# ------------------------------------------------------------------------------
261# scsi_id - SCSI inquiry to get various serial numbers
262# ------------------------------------------------------------------------------
59d93adb
DEP
263extras_scsi_id_scsi_id_SOURCES =\
264 extras/scsi_id/scsi_id.c \
265 extras/scsi_id/scsi_serial.c \
266 extras/scsi_id/scsi.h \
24355313 267 extras/scsi_id/scsi_id.h
59d93adb 268extras_scsi_id_scsi_id_LDADD = libudev/libudev-private.la
863ad21f
KS
269libexec_PROGRAMS += extras/scsi_id/scsi_id
270dist_man_MANS += extras/scsi_id/scsi_id.8
59d93adb 271
863ad21f
KS
272# ------------------------------------------------------------------------------
273# usb_id - USB device property import
274# ------------------------------------------------------------------------------
59d93adb
DEP
275extras_usb_id_usb_id_SOURCES = extras/usb_id/usb_id.c
276extras_usb_id_usb_id_LDADD = libudev/libudev-private.la
863ad21f 277libexec_PROGRAMS += extras/usb_id/usb_id
59d93adb 278
863ad21f
KS
279# ------------------------------------------------------------------------------
280# v4l_id - video4linux capabilities
281# ------------------------------------------------------------------------------
59d93adb
DEP
282extras_v4l_id_v4l_id_SOURCES = extras/v4l_id/v4l_id.c
283extras_v4l_id_v4l_id_LDADD = libudev/libudev-private.la
863ad21f
KS
284libexec_PROGRAMS += extras/v4l_id/v4l_id
285dist_udevrules_DATA += extras/v4l_id/60-persistent-v4l.rules
59d93adb 286
d5d6a7f3
KS
287# ------------------------------------------------------------------------------
288# mtd_probe - autoloads FTL module for mtd devices
289# ------------------------------------------------------------------------------
290extras_mtd_probe_mtd_probe_SOURCES = \
291 extras/mtd_probe/mtd_probe.c \
292 extras/mtd_probe/mtd_probe.h \
293 extras/mtd_probe/probe_smartmedia.c
294extras_mtd_probe_mtd_probe_CPPFLAGS = $(AM_CPPFLAGS)
295dist_udevrules_DATA += extras/mtd_probe/75-probe_mtd.rules
296libexec_PROGRAMS += extras/mtd_probe/mtd_probe
297
4e54f533
GH
298# ------------------------------------------------------------------------------
299# qemu -- qemu/kvm guest tweaks
300# ------------------------------------------------------------------------------
06bd02c5 301dist_udevrules_DATA += extras/qemu/42-qemu-usb.rules
4e54f533 302
d5d6a7f3 303if ENABLE_RULE_GENERATOR
863ad21f 304# ------------------------------------------------------------------------------
d5d6a7f3 305# rule_generator - persistent network and optical device rule generator
863ad21f 306# ------------------------------------------------------------------------------
d5d6a7f3
KS
307dist_libexec_SCRIPTS += \
308 extras/rule_generator/write_cd_rules \
309 extras/rule_generator/write_net_rules
310
311udevhomedir = $(libexecdir)
312dist_udevhome_DATA = extras/rule_generator/rule_generator.functions
313
314dist_udevrules_DATA += \
315 extras/rule_generator/75-cd-aliases-generator.rules \
316 extras/rule_generator/75-persistent-net-generator.rules
317endif
318
319if ENABLE_HWDB
320# ------------------------------------------------------------------------------
321# usb/pci-db - read vendor/device string database
322# ------------------------------------------------------------------------------
323extras_usb_db_usb_db_SOURCES = extras/usb-db/usb-db.c
324extras_usb_db_usb_db_CPPFLAGS = $(AM_CPPFLAGS) -DUSB_DATABASE=\"$(USB_DATABASE)\" -DBUILD_FOR_USB
325extras_usb_db_usb_db_LDADD = libudev/libudev-private.la
326libexec_PROGRAMS += extras/usb-db/usb-db
863ad21f
KS
327dist_udevrules_DATA += \
328 rules/rules.d/75-net-description.rules \
329 rules/rules.d/75-tty-description.rules \
330 rules/rules.d/78-sound-card.rules
7d701b0e 331
d5d6a7f3
KS
332extras_usb_db_pci_db_SOURCES = extras/usb-db/usb-db.c
333extras_usb_db_pci_db_CPPFLAGS = $(AM_CPPFLAGS) -DPCI_DATABASE=\"$(PCI_DATABASE)\" -DBUILD_FOR_PCI
334extras_usb_db_pci_db_LDADD = libudev/libudev-private.la
335libexec_PROGRAMS += extras/usb-db/pci-db
336endif
337
338if ENABLE_UDEV_ACL
339# ------------------------------------------------------------------------------
340# udev_acl - apply ACLs for users with local forground sessions
341# ------------------------------------------------------------------------------
342extras_udev_acl_udev_acl_SOURCES = extras/udev-acl/udev-acl.c
343extras_udev_acl_udev_acl_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
344extras_udev_acl_udev_acl_LDADD = libudev/libudev-private.la -lacl $(GLIB_LIBS)
345dist_udevrules_DATA += extras/udev-acl/70-acl.rules
346libexec_PROGRAMS += extras/udev-acl/udev-acl
347
348udevacl-install-hook:
349 mkdir -p $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d
350 ln -sf $(libexecdir)/udev-acl $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d/udev-acl.ck
351
352INSTALL_EXEC_HOOKS += udevacl-install-hook
353endif
354
355if ENABLE_GUDEV
59d93adb 356# ------------------------------------------------------------------------------
9b0dded6 357# GUdev - libudev gobject interface
59d93adb 358# ------------------------------------------------------------------------------
2363d33e
KS
359LIBGUDEV_CURRENT=1
360LIBGUDEV_REVISION=0
361LIBGUDEV_AGE=1
405e606f 362
863ad21f 363SUBDIRS += extras/gudev/docs
405e606f 364
863ad21f
KS
365libgudev_includedir=$(includedir)/gudev-1.0/gudev
366libgudev_include_HEADERS = \
367 extras/gudev/gudev.h \
368 extras/gudev/gudevenums.h \
369 extras/gudev/gudevenumtypes.h \
370 extras/gudev/gudevtypes.h \
371 extras/gudev/gudevclient.h \
0976fd06
DZ
372 extras/gudev/gudevdevice.h \
373 extras/gudev/gudevenumerator.h
59d93adb 374
863ad21f
KS
375lib_LTLIBRARIES += extras/gudev/libgudev-1.0.la
376pkgconfig_DATA += extras/gudev/gudev-1.0.pc
59d93adb 377
863ad21f
KS
378extras_gudev_libgudev_1_0_la_SOURCES = \
379 extras/gudev/gudevenums.h \
380 extras/gudev/gudevenumtypes.h \
381 extras/gudev/gudevenumtypes.h\
382 extras/gudev/gudevtypes.h \
383 extras/gudev/gudevclient.h \
384 extras/gudev/gudevclient.c \
385 extras/gudev/gudevdevice.h \
386 extras/gudev/gudevdevice.c \
0976fd06
DZ
387 extras/gudev/gudevenumerator.h \
388 extras/gudev/gudevenumerator.c \
863ad21f 389 extras/gudev/gudevprivate.h
59d93adb 390
863ad21f
KS
391dist_extras_gudev_libgudev_1_0_la_SOURCES = \
392 extras/gudev/gudevmarshal.h \
393 extras/gudev/gudevmarshal.c \
394 extras/gudev/gudevenumtypes.h \
395 extras/gudev/gudevenumtypes.c
d5d6a7f3 396BUILT_SOURCES += $(dist_extras_gudev_libgudev_1_0_la_SOURCES)
59d93adb 397
863ad21f
KS
398extras_gudev_libgudev_1_0_la_CPPFLAGS = \
399 $(AM_CPPFLAGS) \
400 -I$(top_builddir)/extras \
401 -I$(top_srcdir)/extras \
402 -I$(top_builddir)/extras/gudev \
403 -I$(top_srcdir)/extras/gudev \
404 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT \
405 -D_GUDEV_COMPILATION \
863ad21f
KS
406 -DG_LOG_DOMAIN=\"GUdev\"
407extras_gudev_libgudev_1_0_la_CFLAGS = $(GLIB_CFLAGS)
408extras_gudev_libgudev_1_0_la_LIBADD = libudev/libudev.la $(GLIB_LIBS)
409
410extras_gudev_libgudev_1_0_la_LDFLAGS = \
411 -version-info $(LIBGUDEV_CURRENT):$(LIBGUDEV_REVISION):$(LIBGUDEV_AGE) \
412 -export-dynamic -no-undefined \
413 -export-symbols-regex '^g_udev_.*'
59d93adb
DEP
414
415EXTRA_DIST += \
c0b19a17 416 extras/gudev/COPYING \
863ad21f
KS
417 extras/gudev/gudevmarshal.list \
418 extras/gudev/gudevenumtypes.h.template \
dcaa8639 419 extras/gudev/gudevenumtypes.c.template
59d93adb 420
863ad21f
KS
421extras/gudev/gudevmarshal.h: extras/gudev/gudevmarshal.list
422 $(AM_V_GEN)glib-genmarshal $< --prefix=g_udev_marshal --header > $@
5b528d84 423
863ad21f
KS
424extras/gudev/gudevmarshal.c: extras/gudev/gudevmarshal.list
425 $(AM_V_GEN)echo "#include \"gudevmarshal.h\"" > $@ && \
426 glib-genmarshal $< --prefix=g_udev_marshal --body >> $@
5b528d84 427
863ad21f
KS
428extras/gudev/gudevenumtypes.h: extras/gudev/gudevenumtypes.h.template extras/gudev/gudevenums.h
429 $(AM_V_GEN)glib-mkenums --template $^ > \
430 $@.tmp && mv $@.tmp $@
5b528d84 431
863ad21f
KS
432extras/gudev/gudevenumtypes.c: extras/gudev/gudevenumtypes.c.template extras/gudev/gudevenums.h
433 $(AM_V_GEN)glib-mkenums --template $^ > \
434 $@.tmp && mv $@.tmp $@
5b528d84 435
863ad21f
KS
436extras/gudev/GUdev-1.0.gir: extras/gudev/libgudev-1.0.la $(G_IR_SCANNER) Makefile.am
437 $(AM_V_GEN)PKG_CONFIG_PATH=$(top_builddir)/data:$$PKG_CONFIG_PATH \
86a62b0c 438 LD_LIBRARY_PATH=$(top_builddir)/extras/gudev:$$LD_LIBRARY_PATH \
863ad21f
KS
439 $(G_IR_SCANNER) -v \
440 --namespace GUdev \
441 --nsversion=1.0 \
442 --include=GObject-2.0 \
443 --library=gudev-1.0 \
444 --library-path=extras/gudev \
445 --output $@ \
446 --pkg=glib-2.0 \
447 --pkg=gobject-2.0 \
83d28808 448 -I$(top_builddir)/extras \
baf2e222 449 -I$(top_srcdir)/extras \
863ad21f 450 -D_GUDEV_COMPILATION \
4e3664f2 451 -D_GUDEV_WORK_AROUND_DEV_T_BUG \
863ad21f
KS
452 $(top_srcdir)/extras/gudev/gudev.h \
453 $(top_srcdir)/extras/gudev/gudevtypes.h \
454 $(top_srcdir)/extras/gudev/gudevenums.h \
baf2e222 455 $(or $(wildcard $(top_builddir)/extras/gudev/gudevenumtypes.h),$(top_srcdir)/extras/gudev/gudevenumtypes.h) \
863ad21f
KS
456 $(top_srcdir)/extras/gudev/gudevclient.h \
457 $(top_srcdir)/extras/gudev/gudevdevice.h \
0976fd06 458 $(top_srcdir)/extras/gudev/gudevenumerator.h \
863ad21f 459 $(top_srcdir)/extras/gudev/gudevclient.c \
0976fd06
DZ
460 $(top_srcdir)/extras/gudev/gudevdevice.c \
461 $(top_srcdir)/extras/gudev/gudevenumerator.c
863ad21f
KS
462
463extras/gudev/GUdev-1.0.typelib: extras/gudev/GUdev-1.0.gir $(G_IR_COMPILER)
464 $(AM_V_GEN)g-ir-compiler $< -o $@
465
863ad21f
KS
466girdir = $(GIRDIR)
467gir_DATA = extras/gudev/GUdev-1.0.gir
468
469typelibsdir = $(GIRTYPELIBDIR)
470typelibs_DATA = extras/gudev/GUdev-1.0.typelib
471
863ad21f 472CLEANFILES += $(gir_DATA) $(typelibs_DATA)
5b528d84 473
18f5c802
DZ
474# move lib from $(libdir) to $(rootlib_execdir) and update devel link, if needed
475libgudev-install-move-hook:
476 if test "$(libdir)" != "$(rootlib_execdir)"; then \
477 mkdir -p $(DESTDIR)$(rootlib_execdir) && \
478 so_img_name=$$(readlink $(DESTDIR)$(libdir)/libgudev-1.0.so) && \
479 so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \
480 ln -sf $$so_img_rel_target_prefix$(rootlib_execdir)/$$so_img_name $(DESTDIR)$(libdir)/libgudev-1.0.so && \
481 mv $(DESTDIR)$(libdir)/libgudev-1.0.so.* $(DESTDIR)$(rootlib_execdir); \
482 fi
483
484libgudev-uninstall-move-hook:
485 rm -f $(DESTDIR)$(rootlib_execdir)/libgudev-1.0.so*
486
487INSTALL_EXEC_HOOKS += libgudev-install-move-hook
488UNINSTALL_EXEC_HOOKS += libgudev-uninstall-move-hook
d5d6a7f3 489endif
18f5c802 490
d5d6a7f3 491if ENABLE_KEYMAP
863ad21f
KS
492# ------------------------------------------------------------------------------
493# keymap - map custom hardware's multimedia keys
494# ------------------------------------------------------------------------------
495extras_keymap_keymap_SOURCES = extras/keymap/keymap.c
496extras_keymap_keymap_CPPFLAGS = $(AM_CPPFLAGS) -I extras/keymap
497nodist_extras_keymap_keymap_SOURCES = \
498 extras/keymap/keys-from-name.h \
499 extras/keymap/keys-to-name.h
500BUILT_SOURCES += $(nodist_extras_keymap_keymap_SOURCES)
501
502EXTRA_DIST += extras/keymap/check-keymaps.sh
503dist_udevrules_DATA += extras/keymap/95-keymap.rules
8350d0b9 504dist_udevrules_DATA += extras/keymap/95-keyboard-force-release.rules
863ad21f
KS
505libexec_PROGRAMS += extras/keymap/keymap
506dist_libexec_SCRIPTS += extras/keymap/findkeyboards
8350d0b9 507dist_libexec_SCRIPTS += extras/keymap/keyboard-force-release.sh
863ad21f 508dist_doc_DATA = extras/keymap/README.keymap.txt
7d701b0e
DEP
509CLEANFILES += \
510 extras/keymap/keys.txt \
ca7ad570 511 extras/keymap/keys-from-name.gperf
7d701b0e 512
7d701b0e
DEP
513udevkeymapdir = $(libexecdir)/keymaps
514dist_udevkeymap_DATA = \
515 extras/keymap/keymaps/acer \
df3e07d6 516 extras/keymap/keymaps/acer-aspire_5720 \
54453a95 517 extras/keymap/keymaps/acer-aspire_8930 \
7d701b0e 518 extras/keymap/keymaps/acer-aspire_5920g \
5daaf29d 519 extras/keymap/keymaps/acer-aspire_6920 \
7d701b0e
DEP
520 extras/keymap/keymaps/acer-travelmate_c300 \
521 extras/keymap/keymaps/asus \
522 extras/keymap/keymaps/compaq-e_evo \
523 extras/keymap/keymaps/dell \
5e0ec43f 524 extras/keymap/keymaps/dell-latitude-xt2 \
7d701b0e
DEP
525 extras/keymap/keymaps/everex-xt5000 \
526 extras/keymap/keymaps/fujitsu-amilo_pa_2548 \
527 extras/keymap/keymaps/fujitsu-amilo_pro_edition_v3505 \
528 extras/keymap/keymaps/fujitsu-amilo_pro_v3205 \
529 extras/keymap/keymaps/fujitsu-amilo_si_1520 \
530 extras/keymap/keymaps/fujitsu-esprimo_mobile_v5 \
531 extras/keymap/keymaps/fujitsu-esprimo_mobile_v6 \
532 extras/keymap/keymaps/hewlett-packard \
533 extras/keymap/keymaps/hewlett-packard-2510p_2530p \
534 extras/keymap/keymaps/hewlett-packard-compaq_elitebook \
535 extras/keymap/keymaps/hewlett-packard-pavilion \
536 extras/keymap/keymaps/hewlett-packard-presario-2100 \
537 extras/keymap/keymaps/hewlett-packard-tablet \
538 extras/keymap/keymaps/hewlett-packard-tx2 \
8bc376a3 539 extras/keymap/keymaps/ibm-thinkpad-usb-keyboard-trackpoint \
7d701b0e
DEP
540 extras/keymap/keymaps/inventec-symphony_6.0_7.0 \
541 extras/keymap/keymaps/lenovo-3000 \
9cd075e3 542 extras/keymap/keymaps/lenovo-ideapad \
5da84380 543 extras/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint \
7d701b0e
DEP
544 extras/keymap/keymaps/lenovo-thinkpad_x6_tablet \
545 extras/keymap/keymaps/lenovo-thinkpad_x200_tablet \
4c514e31 546 extras/keymap/keymaps/lg-x110 \
5fa1d794 547 extras/keymap/keymaps/logitech-wave \
0ddfae5f 548 extras/keymap/keymaps/logitech-wave-cordless \
0fade612 549 extras/keymap/keymaps/logitech-wave-pro-cordless \
7d701b0e
DEP
550 extras/keymap/keymaps/maxdata-pro_7000 \
551 extras/keymap/keymaps/medion-fid2060 \
552 extras/keymap/keymaps/medionnb-a555 \
553 extras/keymap/keymaps/micro-star \
554 extras/keymap/keymaps/module-asus-w3j \
555 extras/keymap/keymaps/module-ibm \
556 extras/keymap/keymaps/module-lenovo \
557 extras/keymap/keymaps/module-sony \
558 extras/keymap/keymaps/module-sony-old \
2f151e0f 559 extras/keymap/keymaps/module-sony-vgn \
bf088a57 560 extras/keymap/keymaps/olpc-xo \
acf865b6 561 extras/keymap/keymaps/onkyo \
7d701b0e
DEP
562 extras/keymap/keymaps/oqo-model2 \
563 extras/keymap/keymaps/samsung-other \
564 extras/keymap/keymaps/samsung-sq1us \
565 extras/keymap/keymaps/samsung-sx20s \
566 extras/keymap/keymaps/toshiba-satellite_a100 \
567 extras/keymap/keymaps/toshiba-satellite_a110 \
4ca91a04 568 extras/keymap/keymaps/toshiba-satellite_m30x \
7d701b0e 569 extras/keymap/keymaps/zepto-znote
59d93adb 570
8350d0b9
JS
571udevkeymapforcereldir = $(libexecdir)/keymaps/force-release
572dist_udevkeymapforcerel_DATA = \
a2f8d214 573 extras/keymap/force-release-maps/dell-touchpad \
ecfad208 574 extras/keymap/force-release-maps/hp-other \
b15bb801 575 extras/keymap/force-release-maps/samsung-other \
db57bdda 576 extras/keymap/force-release-maps/common-volume-keys
8350d0b9 577
d8f33f02 578extras/keymap/keys.txt: $(INCLUDE_PREFIX)/linux/input.h
a4555e40 579 $(AM_V_at)mkdir -p extras/keymap
82c6558e 580 $(AM_V_GEN)$(AWK) '/^#define.*KEY_[^ ]+[ \t]+[0-9]/ { if ($$2 != "KEY_MAX") { print $$2 } }' < $< | sed 's/^KEY_COFFEE$$/KEY_SCREENLOCK/' > $@
59d93adb 581
863ad21f
KS
582extras/keymap/keys-from-name.gperf: extras/keymap/keys.txt
583 $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct key { const char* name; unsigned short id; };"; print "%null-strings"; print "%%";} { print $$1 ", " $$1 }' < $< > $@
33eb1830 584
863ad21f
KS
585extras/keymap/keys-from-name.h: extras/keymap/keys-from-name.gperf Makefile
586 $(AM_V_GEN)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_key -H hash_key_name -p -C < $< > $@
33eb1830 587
863ad21f
KS
588extras/keymap/keys-to-name.h: extras/keymap/keys.txt Makefile
589 $(AM_V_GEN)$(AWK) 'BEGIN{ print "const char* const key_names[KEY_CNT] = { "} { print "[" $$1 "] = \"" $$1 "\"," } END{print "};"}' < $< > $@
33eb1830 590
863ad21f
KS
591keymaps-distcheck-hook: extras/keymap/keys.txt
592 $(top_srcdir)/extras/keymap/check-keymaps.sh $(top_srcdir) $^
a04879b5 593DISTCHECK_HOOKS += keymaps-distcheck-hook
d5d6a7f3
KS
594endif
595
596if ENABLE_FLOPPY
597# ------------------------------------------------------------------------------
598# create_floppy_devices - historical floppy kernel device nodes (/dev/fd0h1440, ...)
599# ------------------------------------------------------------------------------
600extras_floppy_create_floppy_devices_SOURCES = extras/floppy/create_floppy_devices.c
601extras_floppy_create_floppy_devices_LDADD = libudev/libudev-private.la
602libexec_PROGRAMS += extras/floppy/create_floppy_devices
603dist_udevrules_DATA += extras/floppy/60-floppy.rules
604endif
605
606if ENABLE_EDD
607# ------------------------------------------------------------------------------
608# edd_id - create /dev/disk/by-id/edd-* links for BIOS EDD data
609# ------------------------------------------------------------------------------
610extras_edd_id_edd_id_SOURCES = extras/edd_id/edd_id.c
611extras_edd_id_edd_id_LDADD = libudev/libudev-private.la
612libexec_PROGRAMS += extras/edd_id/edd_id
613dist_udevrules_DATA += extras/edd_id/61-persistent-storage-edd.rules
614endif
615
616if ENABLE_HID2HCI
617# ------------------------------------------------------------------------------
618# Bluetooth HID devices with special magic to switch the device
619# ------------------------------------------------------------------------------
620extras_hid2hci_hid2hci_SOURCES = extras/hid2hci/hid2hci.c
621extras_hid2hci_hid2hci_CPPFLAGS = $(AM_CPPFLAGS) $(LIBUSB_CFLAGS)
622extras_hid2hci_hid2hci_LDADD = libudev/libudev-private.la $(LIBUSB_LIBS)
623dist_udevrules_DATA += extras/hid2hci/70-hid2hci.rules
624libexec_PROGRAMS += extras/hid2hci/hid2hci
625endif
ca7ad570 626
d5d6a7f3
KS
627if ENABLE_ACTION_MODESWITCH
628# ------------------------------------------------------------------------------
629# mobile-action-modeswitch - switch Mobile Action cables into serial mode
630# ------------------------------------------------------------------------------
631extras_mobile_action_modeswitch_mobile_action_modeswitch_SOURCES =\
632 extras/mobile-action-modeswitch/mobile-action-modeswitch.c \
633 extras/mobile-action-modeswitch/utils.c \
634 extras/mobile-action-modeswitch/utils.h \
635 extras/mobile-action-modeswitch/ma8280p_us.c \
636 extras/mobile-action-modeswitch/ma8280p_us.h
637extras_mobile_action_modeswitch_mobile_action_modeswitch_CPPFLAGS = $(AM_CPPFLAGS) $(LIBUSB_CFLAGS)
638extras_mobile_action_modeswitch_mobile_action_modeswitch_LDADD = libudev/libudev-private.la $(LIBUSB_LIBS)
639dist_udevrules_DATA += \
640 extras/mobile-action-modeswitch/61-mobile-action.rules
641libexec_PROGRAMS += extras/mobile-action-modeswitch/mobile-action-modeswitch
642endif
1199a948 643
59d93adb 644# ------------------------------------------------------------------------------
863ad21f 645# install, uninstall, clean hooks
59d93adb 646# ------------------------------------------------------------------------------
863ad21f
KS
647clean-local:
648 rm -rf udev-test-install
b02140b6 649
863ad21f
KS
650distclean-local:
651 rm -rf autom4te.cache
b02140b6 652
863ad21f
KS
653CLEANFILES += \
654 udev-$(VERSION).tar.gz \
655 udev-$(VERSION).tar.bz2 \
656 $(BUILT_SOURCES)
eab32c25 657
863ad21f 658EXTRA_DIST += $(TESTS)
b2ad12eb 659EXTRA_DIST += test/rule-syntax-check.py
59d93adb 660
863ad21f 661install-exec-hook: $(INSTALL_EXEC_HOOKS)
59d93adb 662
a04879b5
KS
663install-data-hook: $(INSTALL_DATA_HOOKS)
664
863ad21f 665uninstall-hook: $(UNINSTALL_EXEC_HOOKS)
7d701b0e 666
863ad21f 667distcheck-hook: $(DISTCHECK_HOOKS)
eab32c25 668
7d701b0e 669# ------------------------------------------------------------------------------
863ad21f 670# custom release helpers
7d701b0e 671# ------------------------------------------------------------------------------
863ad21f
KS
672PREVIOUS_VERSION = `expr $(VERSION) - 1`
673changelog:
674 @ head -1 ChangeLog | grep -q "to v$(PREVIOUS_VERSION)"
675 @ mv ChangeLog ChangeLog.tmp
676 @ echo "Summary of changes from v$(PREVIOUS_VERSION) to v$(VERSION)" >> ChangeLog
677 @ echo "============================================" >> ChangeLog
678 @ echo >> ChangeLog
679 @ git log --pretty=short $(PREVIOUS_VERSION)..HEAD | git shortlog >> ChangeLog
680 @ echo >> ChangeLog
681 @ cat ChangeLog
682 @ cat ChangeLog.tmp >> ChangeLog
683 @ rm ChangeLog.tmp
7d701b0e 684
863ad21f
KS
685test-install:
686 rm -rf $(PWD)/udev-test-install/
687 make DESTDIR=$(PWD)/udev-test-install install
688 tree $(PWD)/udev-test-install/
33eb1830 689
863ad21f
KS
690git-release:
691 head -1 ChangeLog | grep -q "to v$(VERSION)"
692 head -1 NEWS | grep -q "udev $(VERSION)"
693 git commit -a -m "release $(VERSION)"
694 cat .git/refs/heads/master > .git/refs/tags/$(VERSION)
695 git gc
696 git prune
33eb1830 697
863ad21f 698doc-sync:
e99cc723 699 rsync -av udev/*.html master.kernel.org:/pub/linux/utils/kernel/hotplug/udev/
863ad21f
KS
700 rsync -av --delete libudev/docs/html/ master.kernel.org:/pub/linux/utils/kernel/hotplug/libudev/
701 rsync -av --delete extras/gudev/docs/html/ master.kernel.org:/pub/linux/utils/kernel/hotplug/gudev/