-# 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 =
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_PROGRAM = ${INSTALL}
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_SCRIPT = ${INSTALL_PROGRAM}
-override CFLAGS+=-D_FILE_OFFSET_BITS=64
+all: $(PROG) $(MAN_PAGES)
+.PHONY: all
+.DEFAULT: all
-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/cramfs/cramfs.o \
- volume_id/dasd/dasd.o \
- volume_id/volume_id.o \
- volume_id/util.o
+%.o: %.c $(GEN_HEADERS)
+ $(E) " CC " $@
+ $(Q) $(CC) -c $(CFLAGS) $< -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/cramfs/cramfs.h \
- volume_id/dasd/dasd.h \
- volume_id/volume_id.h \
- volume_id/util.h
+lib/libvolume_id.a:
+ $(Q) $(MAKE) -C lib
-OBJS = udev_volume_id.o $(VOLUME_ID_OBJS) $(SYSFS)
-HEADERS = $(VOLUME_ID_HEADERS)
+$(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
-$(OBJS): $(HEADERS)
+# man pages
+%.8: %.xml
+ $(E) " XMLTO " $@
+ $(Q) xmlto man $?
+.PRECIOUS: %.8
-.c.o:
- $(QUIET) $(CC) $(CFLAGS) -c -o $@ $<
+clean:
+ $(E) " CLEAN "
+ $(Q) rm -f $(PROG) $(OBJS) $(GEN_HEADERS)
+ $(Q) $(MAKE) -C lib clean
+.PHONY: clean
-$(PROG): $(OBJS) $(HEADERS)
- $(QUIET) $(LD) $(LDFLAGS) -o $(PROG) $(CRT0) $(OBJS) $(LIB_OBJS) $(ARCH_LIB_OBJS)
+install-bin: all
+ $(INSTALL_PROGRAM) -D $(PROG) $(DESTDIR)$(sbindir)/$(PROG)
+ $(MAKE) -C lib install
+.PHONY: install-bin
-clean:
- rm -f $(PROG) $(OBJS)
+uninstall-bin:
+ - rm $(DESTDIR)$(sbindir)/$(PROG)
+ $(MAKE) -C lib uninstall
+.PHONY: uninstall-bin
-spotless: clean
+install-man:
+ $(INSTALL_DATA) -D $(PROG).8 $(DESTDIR)$(mandir)/man8/$(PROG).8
+.PHONY: uninstall-man
-install: all
- $(INSTALL_PROGRAM) $(PROG) $(DESTDIR)$(sbindir)/$(PROG)
+uninstall-man:
+ -rm -f $(DESTDIR)$(mandir)/man8/$(PROG).8
+.PHONY: uninstall-man
-uninstall:
- - rm $(DESTDIR)$(sbindir)/$(PROG)
+install-config:
+ @echo "no config file to install"
+.PHONY: install-config