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