chiark / gitweb /
Move pkg-config docs and man pages before conditionals.
[elogind.git] / Makefile.am
1 include $(top_srcdir)/Makefile.am.inc
2
3 SUBDIRS = . libudev/docs
4
5 udevconfdir = $(sysconfdir)/udev
6 dist_udevconf_DATA = \
7         udev.conf
8
9 EXTRA_DIST = \
10         autogen.sh \
11         libudev/exported_symbols
12
13 CLEANFILES = \
14         udev-$(VERSION).tar.gz udev-$(VERSION).tar.bz2
15
16 BUILT_SOURCES =
17
18 ACLOCAL_AMFLAGS = -I m4
19
20 AM_MAKEFLAGS = --no-print-directory
21
22 DISTCHECK_CONFIGURE_FLAGS = \
23         --enable-gtk-doc \
24         --enable-extras
25
26 clean-local:
27         rm -rf udev-test-install
28
29 distclean-local:
30         rm -rf autom4te.cache
31
32 PREVIOUS_VERSION = `expr $(VERSION) - 1`
33
34 changelog:
35         @ head -1 ChangeLog | grep -q "to v$(PREVIOUS_VERSION)"
36         @ mv ChangeLog ChangeLog.tmp
37         @ echo "Summary of changes from v$(PREVIOUS_VERSION) to v$(VERSION)" >> ChangeLog
38         @ echo "============================================" >> ChangeLog
39         @ echo >> ChangeLog
40         @ git log --pretty=short $(PREVIOUS_VERSION)..HEAD | git shortlog  >> ChangeLog
41         @ echo >> ChangeLog
42         @ cat ChangeLog
43         @ cat ChangeLog.tmp >> ChangeLog
44         @ rm ChangeLog.tmp
45
46 test-install:
47         rm -rf $(PWD)/udev-test-install/
48         make DESTDIR=$(PWD)/udev-test-install install
49         tree $(PWD)/udev-test-install/
50
51 git-release:
52         head -1 ChangeLog | grep -q "to v$(VERSION)"
53         head -1 NEWS | grep -q "udev $(VERSION)"
54         git commit -a -m "release $(VERSION)"
55         cat .git/refs/heads/master > .git/refs/tags/$(VERSION)
56         git gc
57         git prune
58
59 doc-sync:
60         rsync -av --delete libudev/docs/html/ master.kernel.org:/pub/linux/utils/kernel/hotplug/libudev/
61         rsync -av --delete extras/gudev/docs/html/ master.kernel.org:/pub/linux/utils/kernel/hotplug/gudev/
62
63 INSTALL_EXEC_HOOKS = libudev-install-move-hook
64 UNINSTALL_EXEC_HOOKS = libudev-uninstall-move-hook
65
66 include_HEADERS = libudev/libudev.h
67
68 # ------------------------------------------------------------------------------
69 # Libraries
70 # ------------------------------------------------------------------------------
71 lib_LTLIBRARIES = libudev/libudev.la
72
73 libudev_libudev_la_SOURCES =\
74         libudev/libudev-private.h \
75         libudev/libudev.c \
76         libudev/libudev-list.c \
77         libudev/libudev-util.c \
78         libudev/libudev-device.c \
79         libudev/libudev-enumerate.c \
80         libudev/libudev-monitor.c \
81         libudev/libudev-queue.c
82
83 LIBUDEV_CURRENT=5
84 LIBUDEV_REVISION=0
85 LIBUDEV_AGE=5
86 libudev_libudev_la_LDFLAGS = \
87         -version-info $(LIBUDEV_CURRENT):$(LIBUDEV_REVISION):$(LIBUDEV_AGE) \
88         -export-symbols $(top_srcdir)/libudev/exported_symbols
89
90 noinst_LTLIBRARIES = \
91         libudev/libudev-private.la
92
93 libudev_libudev_private_la_SOURCES =\
94         $(libudev_libudev_la_SOURCES) \
95         libudev/libudev-ctrl.c \
96         libudev/libudev-util-private.c \
97         libudev/libudev-device-private.c \
98         libudev/libudev-queue-private.c
99
100 libudev_libudev_private_la_LIBADD =
101
102 # ------------------------------------------------------------------------------
103 # Programs
104 # ------------------------------------------------------------------------------
105
106 sbin_PROGRAMS = \
107         udev/udevd \
108         udev/udevadm
109
110 udev_common_sources =\
111         udev/udev.h \
112         udev/udev-event.c \
113         udev/udev-watch.c \
114         udev/udev-node.c \
115         udev/udev-rules.c
116 udev_common_libs = libudev/libudev-private.la
117
118 udev_udevd_SOURCES = \
119         $(udev_common_sources) \
120         udev/udevd.c
121
122 udev_udevd_LDADD = $(udev_common_libs)
123
124 udev_udevadm_SOURCES = \
125         $(udev_common_sources) \
126         udev/udevadm.c \
127         udev/udevadm-info.c \
128         udev/udevadm-control.c \
129         udev/udevadm-test.c \
130         udev/udevadm-monitor.c \
131         udev/udevadm-settle.c \
132         udev/udevadm-trigger.c
133
134 udev_udevadm_LDADD = $(udev_common_libs)
135
136 libexec_PROGRAMS = \
137         extras/ata_id/ata_id \
138         extras/cdrom_id/cdrom_id \
139         extras/collect/collect \
140         extras/edd_id/edd_id \
141         extras/floppy/create_floppy_devices \
142         extras/path_id/path_id \
143         extras/fstab_import/fstab_import \
144         extras/scsi_id/scsi_id \
145         extras/usb_id/usb_id \
146         extras/v4l_id/v4l_id
147
148 dist_libexec_SCRIPTS = \
149         extras/firmware/firmware.sh \
150         extras/rule_generator/write_cd_rules \
151         extras/rule_generator/write_net_rules
152
153 udevhomedir = $(libexecdir)
154 dist_udevhome_DATA = \
155         extras/rule_generator/rule_generator.functions
156
157 extras_ata_id_ata_id_SOURCES = extras/ata_id/ata_id.c
158 extras_ata_id_ata_id_LDADD = libudev/libudev-private.la
159
160 extras_cdrom_id_cdrom_id_SOURCES = extras/cdrom_id/cdrom_id.c
161 extras_cdrom_id_cdrom_id_LDADD = libudev/libudev-private.la
162
163 extras_collect_collect_SOURCES = extras/collect/collect.c
164 extras_collect_collect_LDADD = libudev/libudev-private.la
165
166 extras_edd_id_edd_id_SOURCES = extras/edd_id/edd_id.c
167 extras_edd_id_edd_id_LDADD = libudev/libudev-private.la
168
169 extras_floppy_create_floppy_devices_SOURCES = extras/floppy/create_floppy_devices.c
170 extras_floppy_create_floppy_devices_LDADD = libudev/libudev-private.la
171
172 extras_path_id_path_id_SOURCES = extras/path_id/path_id.c
173 extras_path_id_path_id_LDADD = libudev/libudev-private.la
174
175 extras_fstab_import_fstab_import_SOURCES = extras/fstab_import/fstab_import.c
176 extras_fstab_import_fstab_import_LDADD = libudev/libudev-private.la
177
178 extras_scsi_id_scsi_id_SOURCES =\
179         extras/scsi_id/scsi_id.c \
180         extras/scsi_id/scsi_serial.c \
181         extras/scsi_id/scsi.h \
182         extras/scsi_id/scsi_id.h \
183         extras/scsi_id/bsg.h
184 extras_scsi_id_scsi_id_LDADD = libudev/libudev-private.la
185
186 extras_usb_id_usb_id_SOURCES = extras/usb_id/usb_id.c
187 extras_usb_id_usb_id_LDADD = libudev/libudev-private.la
188
189 extras_v4l_id_v4l_id_SOURCES = extras/v4l_id/v4l_id.c
190 extras_v4l_id_v4l_id_LDADD = libudev/libudev-private.la
191
192 extras_hid2hci_hid2hci_SOURCES = extras/hid2hci/hid2hci.c
193 extras_hid2hci_hid2hci_CPPFLAGS = $(AM_CPPFLAGS) $(LIBUSB_CFLAGS)
194 extras_hid2hci_hid2hci_LDADD = libudev/libudev-private.la $(LIBUSB_LIBS)
195
196 extras_udev_acl_udev_acl_SOURCES = extras/udev-acl/udev-acl.c
197 extras_udev_acl_udev_acl_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
198 extras_udev_acl_udev_acl_LDADD = libudev/libudev-private.la -lacl $(GLIB_LIBS)
199
200 extras_usb_db_usb_db_SOURCES = extras/usb-db/usb-db.c
201 extras_usb_db_usb_db_CPPFLAGS = $(AM_CPPFLAGS) -DUSB_DATABASE=\"$(USB_DATABASE)\" -DBUILD_FOR_USB
202 extras_usb_db_usb_db_LDADD = libudev/libudev-private.la
203
204 extras_usb_db_pci_db_SOURCES = extras/usb-db/usb-db.c
205 extras_usb_db_pci_db_CPPFLAGS = $(AM_CPPFLAGS) -DPCI_DATABASE=\"$(USB_DATABASE)\" -DBUILD_FOR_PCI
206 extras_usb_db_pci_db_LDADD = libudev/libudev-private.la
207
208 extras_modem_modeswitch_modem_modeswitch_SOURCES =\
209         extras/modem-modeswitch/modem-modeswitch.c \
210         extras/modem-modeswitch/utils.c \
211         extras/modem-modeswitch/utils.h \
212         extras/modem-modeswitch/ma8280p_us.c \
213         extras/modem-modeswitch/ma8280p_us.h \
214         extras/modem-modeswitch/option.c \
215         extras/modem-modeswitch/option.h
216 extras_modem_modeswitch_modem_modeswitch_CPPFLAGS = $(AM_CPPFLAGS) $(LIBUSB_CFLAGS)
217 extras_modem_modeswitch_modem_modeswitch_LDADD = libudev/libudev-private.la $(LIBUSB_LIBS)
218
219 extras_keymap_keymap_SOURCES = extras/keymap/keymap.c
220 nodist_extras_keymap_keymap_SOURCES = \
221         extras/keymap/keys-from-name.h \
222         extras/keymap/keys-to-name.h
223
224 # ------------------------------------------------------------------------------
225 # Tests
226 # ------------------------------------------------------------------------------
227
228 TESTS = test/udev-test.pl
229
230 check_PROGRAMS = \
231         libudev/test-libudev \
232         udev/test-udev
233
234 libudev_test_libudev_SOURCES = libudev/test-libudev.c
235 libudev_test_libudev_LDADD = libudev/libudev.la
236
237 udev_test_udev_SOURCES = \
238         $(udev_common_sources) \
239         udev/test-udev.c
240 udev_test_udev_LDADD = $(udev_common_libs)
241
242 # ------------------------------------------------------------------------------
243 # Basic rules
244 # ------------------------------------------------------------------------------
245
246 dist_udevrules_DATA = \
247         rules/rules.d/50-udev-default.rules \
248         rules/rules.d/60-persistent-storage.rules \
249         rules/rules.d/60-persistent-storage-tape.rules \
250         rules/rules.d/60-persistent-serial.rules \
251         rules/rules.d/60-persistent-input.rules \
252         rules/rules.d/60-persistent-alsa.rules \
253         rules/rules.d/80-drivers.rules \
254         rules/rules.d/95-udev-late.rules \
255         extras/rule_generator/75-cd-aliases-generator.rules \
256         extras/rule_generator/75-persistent-net-generator.rules \
257         extras/cdrom_id/60-cdrom_id.rules \
258         extras/edd_id/61-persistent-storage-edd.rules \
259         extras/firmware/50-firmware.rules \
260         extras/fstab_import/79-fstab_import.rules \
261         extras/v4l_id/60-persistent-v4l.rules
262
263 EXTRA_DIST += \
264         rules/packages \
265         rules/redhat \
266         rules/suse \
267         rules/gentoo
268
269 # ------------------------------------------------------------------------------
270 # Pkg-config, docs and man pages
271 # ------------------------------------------------------------------------------
272 pkgconfigdir = $(libdir)/pkgconfig
273 pkgconfig_DATA = \
274         libudev/libudev.pc \
275         udev/udev.pc
276
277 writing_udev_rulesdir = $(docdir)/writing_udev_rules
278 dist_writing_udev_rules_DATA = \
279         docs/writing_udev_rules/index.html
280
281 dist_man_MANS = \
282         udev/udev.7 \
283         udev/udevadm.8 \
284         udev/udevd.8 \
285         extras/scsi_id/scsi_id.8
286
287 EXTRA_DIST += \
288         udev/udev.xml \
289         udev/udevadm.xml \
290         udev/udevd.xml
291
292 %.7 %.8 : %.xml
293         $(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
294
295 # ------------------------------------------------------------------------------
296 # Conditionals (SElinux, etc…)
297 # ------------------------------------------------------------------------------
298 if WITH_SELINUX
299 libudev_libudev_private_la_SOURCES += \
300         libudev/libudev-selinux-private.c
301 libudev_libudev_private_la_LIBADD += \
302         $(SELINUX_LIBS)
303 endif
304
305 if ENABLE_EXTRAS
306 INSTALL_EXEC_HOOKS += udevacl-install-hook
307
308 dist_udevrules_DATA += \
309         rules/rules.d/75-net-description.rules \
310         rules/rules.d/75-tty-description.rules \
311         rules/rules.d/78-sound-card.rules \
312         extras/hid2hci/70-hid2hci.rules \
313         extras/modem-modeswitch/61-option-modem-modeswitch.rules \
314         extras/modem-modeswitch/61-mobile-action.rules \
315         extras/keymap/95-keymap.rules
316
317 libexec_PROGRAMS += \
318         extras/hid2hci/hid2hci \
319         extras/udev-acl/udev-acl \
320         extras/usb-db/usb-db \
321         extras/usb-db/pci-db \
322         extras/modem-modeswitch/modem-modeswitch \
323         extras/keymap/keymap
324
325 dist_libexec_SCRIPTS += \
326         extras/keymap/findkeyboards
327
328 BUILT_SOURCES += \
329         extras/keymap/keys-from-name.h \
330         extras/keymap/keys-to-name.h
331
332 TESTS += extras/keymap/check-keymaps.sh
333
334 check_DATA = extras/keymap/keys.txt
335
336 CLEANFILES += \
337         extras/keymap/keys.txt \
338         extras/keymap/keys-from-name.gperf \
339         extras/keymap/keys-from-name.h \
340         extras/keymap/keys-to-name.h
341
342 dist_doc_DATA = extras/keymap/README.keymap.txt
343
344 udevkeymapdir = $(libexecdir)/keymaps
345 dist_udevkeymap_DATA = \
346         extras/keymap/keymaps/acer \
347         extras/keymap/keymaps/acer-aspire_5920g \
348         extras/keymap/keymaps/acer-travelmate_c300 \
349         extras/keymap/keymaps/asus \
350         extras/keymap/keymaps/compaq-e_evo \
351         extras/keymap/keymaps/dell \
352         extras/keymap/keymaps/everex-xt5000 \
353         extras/keymap/keymaps/fujitsu-amilo_pa_2548 \
354         extras/keymap/keymaps/fujitsu-amilo_pro_edition_v3505 \
355         extras/keymap/keymaps/fujitsu-amilo_pro_v3205 \
356         extras/keymap/keymaps/fujitsu-amilo_si_1520 \
357         extras/keymap/keymaps/fujitsu-esprimo_mobile_v5 \
358         extras/keymap/keymaps/fujitsu-esprimo_mobile_v6 \
359         extras/keymap/keymaps/hewlett-packard \
360         extras/keymap/keymaps/hewlett-packard-2510p_2530p \
361         extras/keymap/keymaps/hewlett-packard-compaq_elitebook \
362         extras/keymap/keymaps/hewlett-packard-pavilion \
363         extras/keymap/keymaps/hewlett-packard-presario-2100 \
364         extras/keymap/keymaps/hewlett-packard-tablet \
365         extras/keymap/keymaps/hewlett-packard-tx2 \
366         extras/keymap/keymaps/inventec-symphony_6.0_7.0 \
367         extras/keymap/keymaps/lenovo-3000 \
368         extras/keymap/keymaps/lenovo-thinkpad_x6_tablet \
369         extras/keymap/keymaps/lenovo-thinkpad_x200_tablet \
370         extras/keymap/keymaps/maxdata-pro_7000 \
371         extras/keymap/keymaps/medion-fid2060 \
372         extras/keymap/keymaps/medionnb-a555 \
373         extras/keymap/keymaps/micro-star \
374         extras/keymap/keymaps/module-asus-w3j \
375         extras/keymap/keymaps/module-ibm \
376         extras/keymap/keymaps/module-lenovo \
377         extras/keymap/keymaps/module-sony \
378         extras/keymap/keymaps/module-sony-old \
379         extras/keymap/keymaps/oqo-model2 \
380         extras/keymap/keymaps/samsung-other \
381         extras/keymap/keymaps/samsung-sq1us \
382         extras/keymap/keymaps/samsung-sx20s \
383         extras/keymap/keymaps/toshiba-satellite_a100 \
384         extras/keymap/keymaps/toshiba-satellite_a110 \
385         extras/keymap/keymaps/zepto-znote
386
387 SUBDIRS += \
388         extras/gudev
389 endif
390
391 # ------------------------------------------------------------------------------
392 # Install and uninstall hooks
393 # ------------------------------------------------------------------------------
394 install-exec-hook: $(INSTALL_EXEC_HOOKS)
395
396 uninstall-hook: $(UNINSTALL_EXEC_HOOKS)
397
398 # move lib from $(libdir) to $(rootlib_execdir) and update devel link, if needed
399 libudev-install-move-hook:
400         if test "$(libdir)" != "$(rootlib_execdir)"; then \
401                 mkdir -p $(DESTDIR)$(rootlib_execdir) && \
402                 so_img_name=$$(readlink $(DESTDIR)$(libdir)/libudev.so) && \
403                 so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \
404                 ln -sf $$so_img_rel_target_prefix$(rootlib_execdir)/$$so_img_name $(DESTDIR)$(libdir)/libudev.so && \
405                 mv $(DESTDIR)$(libdir)/libudev.so.* $(DESTDIR)$(rootlib_execdir); \
406         fi
407
408 libudev-uninstall-move-hook:
409         rm -f $(DESTDIR)$(rootlib_execdir)/libudev.so*
410
411 udevacl-install-hook:
412         mkdir -p $(DESTDIR)$(prefix)/lib/ConsoleKit/run-session.d
413         ln -sf $(libexecdir)/udev-acl $(DESTDIR)$(prefix)/lib/ConsoleKit/run-session.d/udev-acl.ck
414
415 # ------------------------------------------------------------------------------
416 # Custom rules
417 # ------------------------------------------------------------------------------
418
419 extras/keymap/keys.txt: /usr/include/linux/input.h
420         $(AM_V_GEN)$(AWK) '/^#define.*KEY_/ { if ($$2 != "KEY_MAX" && $$2 != "KEY_CNT") { print $$2 } }' < $< > $@
421
422 extras/keymap/keys-from-name.gperf: extras/keymap/keys.txt
423         $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct key { const char* name; unsigned short id; };"; print "%null-strings"; print "%%";} { print $$1 ", " $$1 }' < $< > $@
424
425 extras/keymap/keys-from-name.h: extras/keymap/keys-from-name.gperf Makefile
426         $(AM_V_GEN)$(GPERF) -t --ignore-case -N lookup_key -H hash_key_name -p -C < $< > $@
427
428 extras/keymap/keys-to-name.h: extras/keymap/keys.txt Makefile
429         $(AM_V_GEN)$(AWK) 'BEGIN{ print "const char* const key_names[KEY_CNT] = { "} { print "[" $$1 "] = \"" $$1 "\"," } END{print "};"}' < $< > $@