X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=extras%2Fscsi_id%2FMakefile;h=8a8c714a8768071680985dc39ea83bee992b90de;hp=3c38d6171e65b913038cf2bd09ed1a763094cd17;hb=49fb51c6159db916f93c9439ef9b37ce6be90d02;hpb=7596a562988b45b62dcac6daac3663524cc8f930 diff --git a/extras/scsi_id/Makefile b/extras/scsi_id/Makefile index 3c38d6171..8a8c714a8 100644 --- a/extras/scsi_id/Makefile +++ b/extras/scsi_id/Makefile @@ -1,80 +1,95 @@ +# Makefile for udev extra invoked from the udev main Makefile # # Copyright (C) 2003 IBM +# Copyright (C) 2004-2005 Kay Sievers # -# 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 -SCSI_ID_VERSION=0.9 +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 +exec_prefix = ${prefix} +etcdir = ${prefix}/etc +sbindir = ${exec_prefix}/sbin +usrbindir = ${exec_prefix}/usr/bin +usrsbindir = ${exec_prefix}/usr/sbin mandir = ${prefix}/usr/share/man +configdir = ${etcdir}/udev/ +srcdir = . -INSTALL = /usr/bin/install -c +INSTALL = /usr/bin/install -c INSTALL_PROGRAM = ${INSTALL} INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_SCRIPT = ${INSTALL_PROGRAM} + +# be able to run without udev +LIBSYSFS = -lsysfs +CROSS = +QUIET = +CC = $(CROSS)gcc +LD = $(CROSS)gcc +AR = $(CROSS)ar +STRIPCMD = $(CROSS)strip +CFLAGS += -Wall -pipe -fno-builtin -Wstrict-prototypes -Wsign-compare -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 +LDFLAGS += -Wl + +all: $(PROG) $(MAN_PAGES) +.PHONY: all +.DEFAULT: all + +%.o: %.c $(GEN_HEADERS) + $(QUIET) $(CC) -c $(CFLAGS) $< -o $@ + +$(PROG): %: $(HEADERS) %.o $(OBJS) + $(QUIET) $(LD) $(LDFLAGS) $@.o $(OBJS) -o $@ $(LIBUDEV) $(LIBSYSFS) $(LIB_OBJS) + $(QUIET) $(STRIPCMD) $@ -# Note some of the variables used here are set when built under udev, and -# otherwise might not be set. +scsi_id_version.h: + @echo "/* This file is auto-generated by the Makefile */" > $@ + @echo \#define SCSI_ID_VERSION \"$(SCSI_ID_VERSION)\" >> $@ + @echo \#define SCSI_ID_CONFIG_FILE \"$(etcdir)/scsi_id.config\" >> $@ -CFLAGS+=-Wall -fno-builtin +# man pages +%.8: %.xml + xmlto man $? +.PRECIOUS: %.8 -PROG=scsi_id -LIBSYSFS=-lsysfs +clean: + rm -f $(PROG) $(OBJS) $(GEN_HEADERS) +.PHONY: clean -# -# Built static and stripped when built with udev. -# -# STRIP=-s -# LDFLAGS=$(STRIP) -LD=$(CC) +install-bin: all + $(INSTALL_PROGRAM) $(PROG) $(DESTDIR)$(sbindir)/$(PROG) +.PHONY: install-bin -OBJS= scsi_id.o scsi_serial.o +uninstall-bin: + - rm $(DESTDIR)$(sbindir)/$(PROG) +.PHONY: uninstall-bin -all: $(PROG) +install-man: + $(INSTALL_DATA) -D scsi_id.8 $(DESTDIR)$(mandir)/man8/scsi_id.8 +.PHONY: uninstall-man -# XXX use a compressed man page? +uninstall-man: + -rm -f $(DESTDIR)$(mandir)/man8/scsi_id.8 +.PHONY: uninstall-man -install: all - $(INSTALL_PROGRAM) -D $(PROG) $(DESTDIR)$(sbindir)/$(PROG) - $(INSTALL_DATA) -D scsi_id.8 $(DESTDIR)$(mandir)/man8/scsi_id.8 +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 - -uninstall: - -rm $(DESTDIR)$(sbindir)/$(PROG) - -rm $(DESTDIR)$(mandir)/man8/scsi_id.8 - -rm $(DESTDIR)$(etcdir)/scsi_id.config - -GEN_HEADER=scsi_id_version.h - -scsi_id_version.h: - @echo "/* This file is auto-generated by the Makefile */" > $@ - @echo \#define SCSI_ID_VERSION \"$(SCSI_ID_VERSION)\" >> $@ - @echo \#define SCSI_ID_CONFIG_FILE \"$(etcdir)/scsi_id.config\" >> $@ -$(OBJS): scsi_id.h scsi.h scsi_id_version.h - -clean: - rm -f $(PROG) $(OBJS) $(GEN_HEADER) - -spotless: clean - -.c.o: - $(QUIET) $(CC) $(CFLAGS) -c -o $@ $< +.PHONY: install-config -$(PROG): $(OBJS) - $(QUIET) $(LD) $(LDFLAGS) -o $(PROG) $(CRT0) $(OBJS) $(LIBSYSFS) $(LIB_OBJS) $(ARCH_LIB_OBJS) +install: all install-bin install-config install-man +.PHONY: install +uninstall: uninstall-bin uninstall-man +.PHONY: uninstall