-override CFLAGS+=-Wall -fno-builtin -Wchar-subscripts \
- -Wpointer-arith -Wcast-align -Wsign-compare
-
-override CFLAGS+=-D_FILE_OFFSET_BITS=64
-
-SYSFS = ../../libsysfs/sysfs_bus.o \
- ../../libsysfs/sysfs_class.o \
- ../../libsysfs/sysfs_device.o \
- ../../libsysfs/sysfs_dir.o \
- ../../libsysfs/sysfs_driver.o \
- ../../libsysfs/sysfs_utils.o \
- ../../libsysfs/dlist.o
-
-
-
-OBJS = volume_id.o udev_volume_id.o dasdlabel.o $(SYSFS)
-HEADERS = volume_id.h dasdlabel.h
-
-$(OBJS): $(HEADERS)
-
-.c.o:
- $(QUIET) $(CC) $(CFLAGS) -c -o $@ $<
-
-$(PROG): $(OBJS) $(HEADERS)
- $(QUIET) $(LD) $(LDFLAGS) -o $(PROG) $(CRT0) $(OBJS) $(LIB_OBJS) $(ARCH_LIB_OBJS)
+all: $(PROG) $(MAN_PAGES)
+.PHONY: all
+.DEFAULT: all
+
+%.o: %.c $(GEN_HEADERS)
+ $(E) " CC " $@
+ $(Q) $(CC) -c $(CFLAGS) $< -o $@
+
+lib/libvolume_id.a:
+ $(Q) $(MAKE) -C lib
+
+$(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
+ifneq ($(strip $(STRIPCMD)),)
+ $(E) " STRIP " $@
+ $(Q) $(STRIPCMD) $@
+endif
+
+# man pages
+%.8: %.xml
+ $(E) " XMLTO " $@
+ $(Q) xmlto man $?
+.PRECIOUS: %.8