chiark / gitweb /
volume_id: move some debug to info level
[elogind.git] / extras / scsi_id / Makefile
index 5ad2bcf3e12717fe8084c8b89f8f9a246fcdf7de..1e9910efb9a887411171c2a3af30dfa355933eca 100644 (file)
@@ -1,51 +1,89 @@
+# Makefile for udev extra invoked from the udev main Makefile
 #
 # Copyright (C) 2003 IBM
+# Copyright (C) 2004-2005 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.
 #
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 
-VERSION=0.1
+SCSI_ID_VERSION = 0.9
+
+PROG = scsi_id
+OBJS= scsi_serial.o
+HEADERS = scsi_id.h scsi.h scsi_id_version.h
+GEN_HEADERS = scsi_id_version.h
+MAN_PAGES = scsi_id.8
 
 prefix =
+etcdir =       ${prefix}/etc
 sbindir =      ${prefix}/sbin
+usrbindir =    ${prefix}/usr/bin
+usrsbindir =   ${prefix}/usr/sbin
+libudevdir =   ${prefix}/lib/udev
+mandir =       ${prefix}/usr/share/man
+configdir =    ${etcdir}/udev/
 
-INSTALL  = /usr/bin/install -c
+INSTALL = /usr/bin/install -c
 INSTALL_PROGRAM = ${INSTALL}
 INSTALL_DATA  = ${INSTALL} -m 644
+INSTALL_SCRIPT = ${INSTALL_PROGRAM}
 
-CFLAGS=-DVERSION=\"$(VERSION)\" $(DEBUG) -Wall
+all: $(PROG) $(MAN_PAGES)
+.PHONY: all
+.DEFAULT: all
 
-PROG=scsi_id
+%.o: %.c $(GEN_HEADERS)
+       $(E) "  CC      " $@
+       $(Q) $(CC) -c $(CFLAGS) $< -o $@
 
-LIBSYSFS=-lsysfs
-STRIP=-s
-LDFLAGS=$(STRIP) --static
+$(PROG): %: $(HEADERS) %.o $(OBJS)
+       $(E) "  LD      " $@
+       $(Q) $(LD) $(LDFLAGS) $@.o $(OBJS) -o $@ $(LIBUDEV) $(LIB_OBJS)
 
-OBJS= scsi_id.o \
-       scsi_serial.o \
+scsi_id_version.h:
+       $(E) "  GENHDR  " $@
+       $(Q) echo "/* Generated by make. */" > $@
+       $(Q) echo \#define SCSI_ID_VERSION     \"$(SCSI_ID_VERSION)\" >> $@
+       $(Q) echo \#define SCSI_ID_CONFIG_FILE     \"$(etcdir)/scsi_id.config\" >> $@
 
-all:   $(PROG)
+# man pages
+%.8: %.xml
+       $(E) "  XMLTO   " $@
+       $(Q) xmlto man $?
+.PRECIOUS: %.8
 
-install: all
-       $(INSTALL_PROGRAM) -D $(PROG) $(sbindir)/$(PROG)
-       
-uninstall:
-       -rm $(sbindir)/$(PROG)
+clean:
+       $(E) "  CLEAN   "
+       $(Q) rm -f $(PROG) $(OBJS) $(GEN_HEADERS)
+.PHONY: clean
 
-$(OBJS): scsi_id.h scsi.h
+install-bin: all
+       $(INSTALL_PROGRAM) -D $(PROG) $(DESTDIR)$(libudevdir)/$(PROG)
+       ln -sf $(libudevdir)/$(PROG) $(DESTDIR)$(sbindir)/$(PROG)
+.PHONY: install-bin
 
-clean:
-       rm -f $(PROG) $(OBJS)
+uninstall-bin:
+       - rm $(DESTDIR)$(libudevdir)/$(PROG)
+       - rm -f $(DESTDIR)$(sbindir)/$(PROG)
+.PHONY: uninstall-bin
+
+install-man:
+       $(INSTALL_DATA) -D scsi_id.8 $(DESTDIR)$(mandir)/man8/scsi_id.8
+.PHONY: uninstall-man
+
+uninstall-man:
+       -rm -f $(DESTDIR)$(mandir)/man8/scsi_id.8
+.PHONY: uninstall-man
+
+install-config:
+       @ if [ ! -r $(DESTDIR)$(etcdir)/scsi_id.config ]; then \
+               echo $(INSTALL_DATA) -D ./scsi_id.config  $(DESTDIR)$(etcdir); \
+               $(INSTALL_DATA) -D ./scsi_id.config $(DESTDIR)$(etcdir)/scsi_id.config; \
+       fi
+.PHONY: install-config
+
+install: all install-bin install-config install-man
+.PHONY: install
 
-$(PROG):       $(OBJS)
-       $(CC) $(OBJS) $(LDFLAGS) $(LIBSYSFS) -o $(PROG)
+uninstall: uninstall-bin uninstall-man
+.PHONY: uninstall