chiark / gitweb /
volume_id: respect LDFLAGS
[elogind.git] / extras / volume_id / Makefile
index f0c15b8fecd4a50090519bccbe3792b8ca298b0e..6e5006594a1bf104275ad959bae8a4f0c5e4a27c 100644 (file)
@@ -1,98 +1,82 @@
-# Makefile for udev_volume_id
+# Makefile for udev extra invoked from the udev main Makefile
 #
-# Copyright (C) 2004 Kay Sievers <kay.sievers@vrfy.org>
+# Copyright (C) 2004-2006 Kay Sievers <kay.sievers@vrfy.org>
 #
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
+# Released under the GNU General Public License, version 2.
 #
 
-PROG = udev_volume_id
-
-all:   $(PROG)
+PROG = vol_id
+GEN_HEADERS =
+MAN_PAGES = vol_id.8
 
 prefix =
-exec_prefix =  ${prefix}
 etcdir =       ${prefix}/etc
-sbindir =      ${exec_prefix}/sbin
-usrbindir =    ${exec_prefix}/usr/bin
-usrsbindir =   ${exec_prefix}/usr/sbin
+sbindir =      ${prefix}/sbin
+usrbindir =    ${prefix}/usr/bin
+usrsbindir =   ${prefix}/usr/sbin
+libudevdir =   ${prefix}/lib/udev
 mandir =       ${prefix}/usr/share/man
-devddir =      ${etcdir}/dev.d/default
 configdir =    ${etcdir}/udev/
-initdir =      ${etcdir}/init.d/
-srcdir = .
 
-INSTALL = /usr/bin/install -c
+INSTALL = install -c
 INSTALL_PROGRAM = ${INSTALL}
 INSTALL_DATA  = ${INSTALL} -m 644
-INSTALL_SCRIPT = ${INSTALL_PROGRAM}
-
-override CFLAGS+=-Wall -fno-builtin -Wchar-subscripts \
-                -Wpointer-arith -Wcast-align -Wsign-compare
-
-override CFLAGS+=-D_FILE_OFFSET_BITS=64
-
-VOLUME_ID_OBJS=                                        \
-       volume_id/ext/ext.o                     \
-       volume_id/fat/fat.o                     \
-       volume_id/hfs/hfs.o                     \
-       volume_id/highpoint/highpoint.o         \
-       volume_id/iso9660/iso9660.o             \
-       volume_id/jfs/jfs.o                     \
-       volume_id/linux_raid/linux_raid.o       \
-       volume_id/linux_swap/linux_swap.o       \
-       volume_id/lvm/lvm.o                     \
-       volume_id/mac/mac.o                     \
-       volume_id/msdos/msdos.o                 \
-       volume_id/ntfs/ntfs.o                   \
-       volume_id/reiserfs/reiserfs.o           \
-       volume_id/udf/udf.o                     \
-       volume_id/ufs/ufs.o                     \
-       volume_id/xfs/xfs.o                     \
-       volume_id/dasd/dasd.o                   \
-       volume_id/volume_id.o                   \
-       volume_id/util.o
-
-VOLUME_ID_HEADERS=                             \
-       volume_id/ext/ext.h                     \
-       volume_id/fat/fat.h                     \
-       volume_id/hfs/hfs.h                     \
-       volume_id/highpoint/highpoint.h         \
-       volume_id/iso9660/iso9660.h             \
-       volume_id/jfs/jfs.h                     \
-       volume_id/linux_raid/linux_raid.h       \
-       volume_id/linux_swap/linux_swap.h       \
-       volume_id/lvm/lvm.h                     \
-       volume_id/mac/mac.h                     \
-       volume_id/msdos/msdos.h                 \
-       volume_id/ntfs/ntfs.h                   \
-       volume_id/reiserfs/reiserfs.h           \
-       volume_id/udf/udf.h                     \
-       volume_id/ufs/ufs.h                     \
-       volume_id/xfs/xfs.h                     \
-       volume_id/dasd/dasd.h                   \
-       volume_id/volume_id.h                   \
-       volume_id/util.h
-
-OBJS = udev_volume_id.o $(VOLUME_ID_OBJS) $(SYSFS)
-HEADERS = $(VOLUME_ID_HEADERS)
-
-$(OBJS): $(HEADERS)
-
-.c.o:
-       $(QUIET) $(CC) $(CFLAGS) -c -o $@ $<
-
-$(PROG): $(OBJS) $(HEADERS)
-       $(QUIET) $(LD) $(LDFLAGS) -o $(PROG) $(CRT0) $(OBJS) $(LIB_OBJS) $(ARCH_LIB_OBJS)
+INSTALL_SCRIPT = ${INSTALL}
 
-clean:
-       rm -f $(PROG) $(OBJS)
+all: lib $(PROG) $(MAN_PAGES)
+.PHONY: all
+.DEFAULT: all
+
+.SUFFIXES:
+
+%.o: %.c $(GEN_HEADERS)
+       $(E) "  CC      " $@
+       $(Q) $(CC) -c $(CFLAGS) $< -o $@
 
-spotless: clean
+lib:
+       $(Q) $(MAKE) -C $@
+.PHONY: lib
 
-install: all
-       $(INSTALL_PROGRAM) $(PROG) $(DESTDIR)$(sbindir)/$(PROG)
+lib/libvolume_id.a: lib
 
-uninstall:
-       - rm $(DESTDIR)$(sbindir)/$(PROG)
+$(PROG): %: $(HEADERS) %.o lib/libvolume_id.a
+       $(E) "  LD      " $@
+ifeq ($(strip $(VOLUME_ID_STATIC)),true)
+       $(Q) $(LD) $(LDFLAGS) -o $@ $@.o $(LIBUDEV) lib/libvolume_id.a $(LIB_OBJS)
+else
+       $(Q) $(LD) $(LDFLAGS) -o $@ $@.o $(LIBUDEV) -Llib -lvolume_id $(LIB_OBJS)
+endif
+
+# man pages
+%.8: %.xml
+       $(E) "  XMLTO   " $@
+       $(Q) xmlto man $?
+.PRECIOUS: %.8
+
+clean:
+       $(E) "  CLEAN   "
+       $(Q) rm -f $(PROG) $(OBJS) $(GEN_HEADERS)
+       $(Q) $(MAKE) -C lib clean
+.PHONY: clean
+
+install-bin: all
+       $(INSTALL_PROGRAM) -D $(PROG) $(DESTDIR)$(libudevdir)/$(PROG)
+       $(MAKE) -C lib install
+.PHONY: install-bin
+
+uninstall-bin:
+       - rm $(DESTDIR)$(libudevdir)/$(PROG)
+       $(MAKE) -C lib uninstall
+.PHONY: uninstall-bin
+
+install-man:
+       $(INSTALL_DATA) -D $(PROG).8 $(DESTDIR)$(mandir)/man8/$(PROG).8
+.PHONY: install-man
+
+uninstall-man:
+       -rm -f $(DESTDIR)$(mandir)/man8/$(PROG).8
+.PHONY: uninstall-man
+
+install-config:
+       @echo "no config file to install"
+.PHONY: install-config