2003-10-17 12:40:02 +04:00
# Makefile for udev
2005-04-27 07:59:47 +04:00
#
2004-10-06 06:01:12 +04:00
# Copyright (C) 2003,2004 Greg Kroah-Hartman <greg@kroah.com>
2005-03-06 12:15:51 +03:00
# Copyright (C) 2004-2005 Kay Sievers <kay.sievers@vrfy.org>
2005-04-27 07:59:47 +04:00
#
# 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.
#
# 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
#
2005-09-13 21:24:51 +04:00
VERSION = 069
2005-08-30 19:03:25 +04:00
# set this to make use of syslog
2004-01-16 09:00:58 +03:00
USE_LOG = true
[PATCH] add udev logging to info log
On Thu, Jan 15, 2004 at 05:14:16AM +0100, Kay Sievers wrote:
> On Wed, Jan 14, 2004 at 01:10:43PM -0800, Greg KH wrote:
> > On Wed, Jan 14, 2004 at 02:34:26PM -0600, Clay Haapala wrote:
> > > On Wed, 14 Jan 2004, Chris Friesen spake thusly:
> > > >
> > > > Maybe for ones with a matching rule, you could print something like:
> > > >
> > > >
> > > Is the act of printing/syslogging a rule in an of itself?
> >
> > No, as currently the only way stuff ends up in the syslog is if
> > DEBUG=true is used on the build line.
> >
> > But it's sounding like we might want to change that... :)
>
> How about this in the syslog after connect/disconnect?
>
> Jan 15 05:07:45 pim udev[28007]: configured rule in '/etc/udev/udev.rules' at line 17 applied, 'video*' becomes 'video/webcam%n'
> Jan 15 05:07:45 pim udev[28007]: creating device node '/udev/video/webcam0'
> Jan 15 05:07:47 pim udev[28015]: removing device node '/udev/video/webcam0'
Here is a slightly better version. I've created a logging.h file and
moved the debug macros from udev.h in there.
If you type:
'make' - you will get a binary that prints one or two lines to syslog
if a device node is created or deleted
'make LOG=false' - you get a binary that prints asolutely nothing
'make DEBUG=true' - the same as today, it will print all debug lines
2004-01-16 08:53:20 +03:00
2005-08-30 19:03:25 +04:00
# compile-in development debug messages
# (export UDEV_LOG="debug" or set udev_log="debug" in udev.conf
# to print the debug messages to syslog)
2003-12-03 05:41:29 +03:00
DEBUG = false
2005-04-27 07:59:47 +04:00
2005-09-12 17:26:33 +04:00
# compile with gcc's code coverage option
# (use it with DEBUG, works only with glibc)
USE_GCOV = false
2005-08-30 19:03:25 +04:00
# include Security-Enhanced Linux support
2004-10-06 10:39:05 +04:00
USE_SELINUX = false
2005-04-27 07:59:47 +04:00
2005-08-30 19:03:25 +04:00
# comile with klibc instead of glibc
2005-03-06 12:15:51 +03:00
USE_KLIBC = false
2005-08-30 19:03:25 +04:00
# set this to create statically linked binaries
2005-03-06 12:15:51 +03:00
USE_STATIC = false
2005-08-30 19:03:25 +04:00
# to build any of the extras programs pass:
# make EXTRAS="extras/<extra1> extras/<extra2>"
2005-03-06 12:15:51 +03:00
EXTRAS =
# make the build silent. Set this to something else to make it noisy again.
V = false
2005-08-30 19:03:25 +04:00
PROGRAMS = \
udev \
udevd \
udevsend \
udevrulescompile \
udevinitsend \
udeveventrecorder \
udevcontrol \
udevmonitor \
udevinfo \
udevtest \
udevstart
HEADERS = \
udev.h \
udev_utils.h \
udev_rules.h \
udev_db.h \
udev_sysfs.h \
logging.h \
udev_libc_wrapper.h \
udev_selinux.h \
list.h
UDEV_OBJS = \
udev_event.o \
udev_device.o \
udev_config.o \
udev_add.o \
udev_remove.o \
udev_sysfs.o \
udev_db.o \
udev_rules.o \
udev_rules_parse.o \
udev_utils.o \
udev_utils_string.o \
udev_utils_file.o \
udev_utils_run.o \
udev_libc_wrapper.o
LIBUDEV = libudev.a
MAN_PAGES = \
2005-08-31 01:30:52 +04:00
udev.8 \
2005-08-30 19:03:25 +04:00
udevmonitor.8 \
udevd.8 \
2005-08-31 01:30:52 +04:00
udevsend.8 \
2005-08-30 19:03:25 +04:00
udevtest.8 \
udevinfo.8 \
udevstart.8
SYSFS_OBJS = \
libsysfs/sysfs_class.o \
libsysfs/sysfs_device.o \
libsysfs/sysfs_dir.o \
libsysfs/sysfs_driver.o \
libsysfs/sysfs_utils.o \
libsysfs/dlist.o
LIBSYSFS = libsysfs/libsysfs.a
# config files automatically generated
GEN_CONFIGS = \
$( LOCAL_CFG_DIR) /udev.conf
GEN_HEADERS = \
udev_version.h
2004-02-03 11:51:51 +03:00
2003-10-16 10:50:13 +04:00
# override this to make udev look in a different location for it's config files
2003-10-17 08:18:40 +04:00
prefix =
exec_prefix = ${ prefix }
etcdir = ${ prefix } /etc
sbindir = ${ exec_prefix } /sbin
2004-03-03 10:49:08 +03:00
usrbindir = ${ exec_prefix } /usr/bin
2005-08-15 14:00:43 +04:00
usrsbindir = ${ exec_prefix } /usr/sbin
2003-10-17 08:18:40 +04:00
mandir = ${ prefix } /usr/share/man
2004-04-24 08:50:27 +04:00
configdir = ${ etcdir } /udev
2005-08-30 19:03:25 +04:00
udevdir = /dev
udevdb = ${ udevdir } /.udevdb
LOCAL_CFG_DIR = etc/udev
KERNEL_DIR = /lib/modules/${ shell uname -r } /build
2003-10-17 08:18:40 +04:00
srcdir = .
2005-08-30 19:03:25 +04:00
DESTDIR =
RELEASE_NAME = udev-$( VERSION)
2003-10-17 08:18:40 +04:00
INSTALL = /usr/bin/install -c
INSTALL_PROGRAM = ${ INSTALL }
INSTALL_DATA = ${ INSTALL } -m 644
INSTALL_SCRIPT = ${ INSTALL_PROGRAM }
2004-02-28 11:30:24 +03:00
PWD = $( shell pwd )
2005-04-27 07:59:47 +04:00
# If you are running a cross compiler, you may want to set this
2004-01-10 12:19:57 +03:00
# to something more interesting, like "arm-linux-". If you want
2005-04-27 07:59:47 +04:00
# to compile vs uClibc, that can be done here as well.
CROSS = #/usr/i386-linux-uclibc/usr/bin/i386-uclibc-
CC = $( CROSS) gcc
2003-11-25 09:10:23 +03:00
LD = $( CROSS) gcc
2005-04-27 07:59:47 +04:00
AR = $( CROSS) ar
STRIP = $( CROSS) strip
2003-08-05 12:10:01 +04:00
RANLIB = $( CROSS) ranlib
2004-10-14 09:28:06 +04:00
HOSTCC = gcc
2005-04-27 07:59:47 +04:00
2005-03-17 13:02:53 +03:00
export CROSS CC AR STRIP RANLIB CFLAGS LDFLAGS LIB_OBJS
2005-04-27 07:59:47 +04:00
# code taken from uClibc to determine the current arch
ARCH := ${ shell $( CC) -dumpmachine | sed -e s '/-.*//' -e 's/i.86/i386/' -e 's/sparc.*/sparc/' \
2003-12-02 11:44:48 +03:00
-e 's/arm.*/arm/g' -e 's/m68k.*/m68k/' -e 's/powerpc/ppc/g' }
2005-04-27 07:59:47 +04:00
2005-08-30 19:03:25 +04:00
# determine the gcc include dir
2004-04-17 06:34:01 +04:00
GCCINCDIR := ${ shell LC_ALL=C $( CC) -print-search-dirs | sed -ne "s/install: \(.*\)/\1include/gp" }
2005-04-27 07:59:47 +04:00
2005-08-30 19:03:25 +04:00
# determine the libgcc.a filename
2005-04-27 07:59:47 +04:00
GCC_LIB := $( shell $( CC) -print-libgcc-file-name )
2005-02-05 04:44:37 +03:00
# check if compiler option is supported
2005-07-06 23:36:21 +04:00
cc-supports = ${ shell if $( CC) ${ 1 } -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo " $( 1) " ; else echo " $( 2) " ; fi; }
2005-02-05 04:44:37 +03:00
2005-08-01 03:33:36 +04:00
CFLAGS += -Wall -fno-builtin -Wchar-subscripts -Wpointer-arith \
-Wstrict-prototypes -Wsign-compare
2005-07-06 23:36:21 +04:00
CFLAGS += $( call cc-supports, -Wdeclaration-after-statement, )
2005-03-17 13:02:53 +03:00
CFLAGS += -pipe
2005-08-01 03:33:36 +04:00
CFLAGS += -D_GNU_SOURCE -D_FILE_OFFSET_BITS= 64
2004-10-07 10:40:35 +04:00
2005-07-06 23:36:21 +04:00
# use '-Os' optimization if available, else use -O2
OPTFLAGS := $( call cc-supports, -Os, -O2)
2005-08-30 19:03:25 +04:00
# include our local copy of libsysfs
2005-07-22 20:35:58 +04:00
CFLAGS += -I$( PWD) /libsysfs/sysfs \
2005-02-05 04:43:16 +03:00
-I$( PWD) /libsysfs
2004-01-16 09:00:58 +03:00
i f e q ( $( strip $ ( USE_LOG ) ) , t r u e )
2005-03-06 12:15:51 +03:00
CFLAGS += -DUSE_LOG
[PATCH] add udev logging to info log
On Thu, Jan 15, 2004 at 05:14:16AM +0100, Kay Sievers wrote:
> On Wed, Jan 14, 2004 at 01:10:43PM -0800, Greg KH wrote:
> > On Wed, Jan 14, 2004 at 02:34:26PM -0600, Clay Haapala wrote:
> > > On Wed, 14 Jan 2004, Chris Friesen spake thusly:
> > > >
> > > > Maybe for ones with a matching rule, you could print something like:
> > > >
> > > >
> > > Is the act of printing/syslogging a rule in an of itself?
> >
> > No, as currently the only way stuff ends up in the syslog is if
> > DEBUG=true is used on the build line.
> >
> > But it's sounding like we might want to change that... :)
>
> How about this in the syslog after connect/disconnect?
>
> Jan 15 05:07:45 pim udev[28007]: configured rule in '/etc/udev/udev.rules' at line 17 applied, 'video*' becomes 'video/webcam%n'
> Jan 15 05:07:45 pim udev[28007]: creating device node '/udev/video/webcam0'
> Jan 15 05:07:47 pim udev[28015]: removing device node '/udev/video/webcam0'
Here is a slightly better version. I've created a logging.h file and
moved the debug macros from udev.h in there.
If you type:
'make' - you will get a binary that prints one or two lines to syslog
if a device node is created or deleted
'make LOG=false' - you get a binary that prints asolutely nothing
'make DEBUG=true' - the same as today, it will print all debug lines
2004-01-16 08:53:20 +03:00
e n d i f
2005-04-27 07:59:47 +04:00
# if DEBUG is enabled, then we do not strip or optimize
i f e q ( $( strip $ ( DEBUG ) ) , t r u e )
2005-03-17 13:02:53 +03:00
CFLAGS += -O1 -g -DDEBUG
LDFLAGS += -Wl
2005-04-27 07:59:47 +04:00
STRIPCMD = /bin/true -Since_we_are_debugging
e l s e
2005-07-06 23:36:21 +04:00
CFLAGS += $( OPTFLAGS) -fomit-frame-pointer
2005-03-17 13:02:53 +03:00
LDFLAGS += -s -Wl
2005-04-27 07:59:47 +04:00
STRIPCMD = $( STRIP) -s --remove-section= .note --remove-section= .comment
e n d i f
2005-09-12 17:26:33 +04:00
i f e q ( $( strip $ ( USE_GCOV ) ) , t r u e )
CFLAGS += -fprofile-arcs -ftest-coverage
LDFLAGS = -fprofile-arcs
e n d i f
2005-08-30 19:03:25 +04:00
# if our own version of klibc is used, we need to build it
2003-12-17 10:41:59 +03:00
i f e q ( $( strip $ ( USE_KLIBC ) ) , t r u e )
2005-03-17 13:02:53 +03:00
KLIBC_INSTALL = $( PWD) /klibc/.install
2005-06-27 19:46:53 +04:00
KLCC = $( KLIBC_INSTALL) /bin/$( CROSS) klcc
2005-03-17 13:02:53 +03:00
CC = $( KLCC)
LD = $( KLCC)
2005-04-27 07:59:47 +04:00
e l s e
2005-03-17 13:02:53 +03:00
CFLAGS += -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations
2005-09-12 16:21:14 +04:00
LDFLAGS += -Wl,-warn-common
2005-04-27 07:59:47 +04:00
e n d i f
2004-10-06 10:39:05 +04:00
i f e q ( $( strip $ ( USE_SELINUX ) ) , t r u e )
2005-02-05 04:43:16 +03:00
UDEV_OBJS += udev_selinux.o
2004-10-06 10:39:05 +04:00
LIB_OBJS += -lselinux
2005-02-05 04:43:16 +03:00
CFLAGS += -DUSE_SELINUX
2004-10-06 10:39:05 +04:00
e n d i f
2005-03-06 12:15:51 +03:00
i f e q ( $( strip $ ( USE_STATIC ) ) , t r u e )
CFLAGS += -DUSE_STATIC
LDFLAGS += -static
e n d i f
2005-02-05 04:43:16 +03:00
i f e q ( $( strip $ ( V ) ) , f a l s e )
QUIET = @$( PWD) /ccdv
HOST_PROGS = ccdv
e l s e
QUIET =
HOST_PROGS =
e n d i f
2003-12-07 20:04:49 +03:00
2005-08-30 19:03:25 +04:00
all : $( KLCC ) $( PROGRAMS ) $( MAN_PAGES )
@extras= " $( EXTRAS) " ; for target in $$ extras; do \
echo $$ target; \
2004-02-03 11:51:51 +03:00
$( MAKE) prefix = $( prefix) \
LD = " $( LD) " \
2005-08-30 19:03:25 +04:00
LIBUDEV = " $( PWD) / $( LIBUDEV) " \
LIBSYSFS = " $( PWD) / $( LIBSYSFS) " \
2004-02-03 11:51:51 +03:00
KERNEL_DIR = " $( KERNEL_DIR) " \
2004-12-09 06:30:41 +03:00
QUIET = " $( QUIET) " \
2005-08-30 19:03:25 +04:00
-C $$ target $@ ; \
done ;
.PHONY : all
2005-09-12 16:21:14 +04:00
.DEFAULT : all
2005-04-27 07:59:47 +04:00
2005-09-11 01:35:30 +04:00
# clear implicit rules
.SUFFIXES :
# build the objects
%.o : %.c
$( QUIET) $( CC) -c $( CFLAGS) $< -o $@
# "Static Pattern Rule" to build all programs
$(PROGRAMS) : %: $( HOST_PROGS ) $( KLCC ) $( HEADERS ) $( GEN_HEADERS ) $( LIBSYSFS ) $( LIBUDEV ) %.o
$( QUIET) $( LD) $( LDFLAGS) $@ .o -o $@ $( LIBUDEV) $( LIBSYSFS) $( LIB_OBJS)
2005-08-30 19:03:25 +04:00
$( QUIET) $( STRIPCMD) $@
2005-09-11 01:35:30 +04:00
# our own copy of klibc, it is not used if KLCC is given
2005-03-17 13:02:53 +03:00
$(KLCC) :
2005-09-11 01:35:30 +04:00
$( MAKE) -C klibc KRNLSRC = $( KERNEL_DIR) SUBDIRS = klibc TESTS = \
2005-03-17 13:02:53 +03:00
SHLIBDIR = $( KLIBC_INSTALL) /lib \
INSTALLDIR = $( KLIBC_INSTALL) \
bindir = $( KLIBC_INSTALL) /bin \
mandir = $( KLIBC_INSTALL) /man all install
2005-03-19 04:15:43 +03:00
-find $( KLIBC_INSTALL) /include -name SCCS -print| xargs rm -rf
2005-09-11 01:35:30 +04:00
.NOTPARALLEL : $( KLCC )
2005-04-27 07:59:47 +04:00
2005-08-30 19:03:25 +04:00
$(UDEV_OBJS) : $( KLCC )
$(LIBUDEV) : $( HOST_PROGS ) $( HEADERS ) $( GEN_HEADERS ) $( UDEV_OBJS )
@rm -f $@
2004-11-25 10:38:06 +03:00
$( QUIET) $( AR) cq $@ $( UDEV_OBJS)
$( QUIET) $( RANLIB) $@
2005-08-30 19:03:25 +04:00
$(SYSFS_OBJS) : $( KLCC )
$(LIBSYSFS) : $( HOST_PROGS ) $( SYSFS_OBJS )
@rm -f $@
2004-11-25 10:38:06 +03:00
$( QUIET) $( AR) cq $@ $( SYSFS_OBJS)
$( QUIET) $( RANLIB) $@
2005-08-30 19:03:25 +04:00
# generate config files
$(GEN_CONFIGS) :
sed -e " s:@udevdir@: $( udevdir) : " -e " s:@configdir@: $( configdir) : " < $@ .in > $@
2004-10-14 09:28:06 +04:00
2005-08-30 19:03:25 +04:00
# generate config header file
2005-04-27 07:59:47 +04:00
udev_version.h :
2004-10-14 09:33:09 +04:00
@echo "Creating udev_version.h"
2004-04-24 08:50:27 +04:00
@echo \# define UDEV_VERSION \" $( VERSION) \" > $@
2004-11-06 16:28:01 +03:00
@echo \# define UDEV_ROOT \" $( udevdir) \" >> $@
@echo \# define UDEV_DB \" $( udevdb) \" >> $@
2004-04-24 08:50:27 +04:00
@echo \# define UDEV_CONFIG_DIR \" $( configdir) \" >> $@
@echo \# define UDEV_CONFIG_FILE \" $( configdir) /udev.conf\" >> $@
@echo \# define UDEV_RULES_FILE \" $( configdir) /rules.d\" >> $@
2005-06-05 06:48:09 +04:00
@echo \# define UDEV_BIN \" $( sbindir) /udev\" >> $@
@echo \# define UDEVD_BIN \" $( sbindir) /udevd\" >> $@
2005-04-27 07:59:47 +04:00
2005-08-30 06:41:42 +04:00
# man pages
%.8 : docs /%.xml
xmlto man $?
2005-08-30 19:03:25 +04:00
.PRECIOUS : %.8
2005-03-07 02:01:34 +03:00
2005-08-30 19:03:25 +04:00
ccdv : ccdv .c
@$( HOSTCC) -O1 ccdv.c -o ccdv
.SILENT : ccdv
2005-04-27 07:59:47 +04:00
clean :
2005-09-12 16:21:14 +04:00
- find . \( -not -type d \) -and \( -name '*~' -o -name '*.[oas]' \) -type f -print0 | xargs -0rt rm -f
2005-09-12 17:26:33 +04:00
- find -name "*.gcno" -print0 | xargs -0rt rm -f
- find -name "*.gcda" -print0 | xargs -0rt rm -f
- find -name "*.gcov" -print0 | xargs -0rt rm -f
- rm -f udev_gcov.txt
2005-09-12 16:21:14 +04:00
- rm -f core $( PROGRAMS) $( GEN_HEADERS) $( GEN_CONFIGS)
2004-12-15 13:26:05 +03:00
$( MAKE) -C klibc SUBDIRS = klibc clean
2005-08-30 19:03:25 +04:00
@extras= " $( EXTRAS) " ; for target in $$ extras; do \
echo $$ target; \
$( MAKE) prefix = $( prefix) -C $$ target $@ ; \
done ;
.PHONY : clean
2005-04-27 07:59:47 +04:00
2004-03-13 10:52:21 +03:00
spotless : clean
2004-12-15 13:26:05 +03:00
$( MAKE) -C klibc SUBDIRS = klibc spotless
2005-03-17 13:02:53 +03:00
rm -rf klibc/.install
2005-08-30 19:03:25 +04:00
.PHONY : spotless
2004-03-13 10:52:21 +03:00
2004-11-13 10:43:34 +03:00
release : spotless
2005-05-21 00:22:05 +04:00
git-tar-tree HEAD $( RELEASE_NAME) | gzip -9v > $( RELEASE_NAME) .tar.gz
2004-02-12 10:23:17 +03:00
@echo " $( RELEASE_NAME) .tar.gz created "
2005-08-30 19:03:25 +04:00
.PHONY : release
2003-11-19 08:35:44 +03:00
2005-08-30 19:03:25 +04:00
install-config : $( GEN_CONFIGS )
2004-04-24 08:50:27 +04:00
$( INSTALL) -d $( DESTDIR) $( configdir) /rules.d
@if [ ! -r $( DESTDIR) $( configdir) /udev.conf ] ; then \
2004-01-01 07:35:02 +03:00
echo $( INSTALL_DATA) $( LOCAL_CFG_DIR) /udev.conf $( DESTDIR) $( configdir) ; \
$( INSTALL_DATA) $( LOCAL_CFG_DIR) /udev.conf $( DESTDIR) $( configdir) ; \
2003-12-20 05:29:05 +03:00
fi
2004-04-24 08:50:27 +04:00
@if [ ! -r $( DESTDIR) $( configdir) /rules.d/50-udev.rules ] ; then \
2005-08-30 19:03:25 +04:00
echo; \
2005-08-12 04:07:50 +04:00
echo "pick a udev rules file from the etc/udev directory that matches your distribution" ; \
2005-08-30 19:03:25 +04:00
echo; \
2003-12-20 05:29:05 +03:00
fi
2005-09-14 16:27:28 +04:00
@extras= " $( EXTRAS) " ; for target in $$ extras; do \
echo $$ target; \
$( MAKE) prefix = $( prefix) -C $$ target $@ ; \
done ;
2005-08-30 19:03:25 +04:00
.PHONY : install -config
2003-12-20 05:29:05 +03:00
2004-04-02 12:01:58 +04:00
install-man :
2004-04-02 11:47:23 +04:00
$( INSTALL_DATA) -D udev.8 $( DESTDIR) $( mandir) /man8/udev.8
$( INSTALL_DATA) -D udevinfo.8 $( DESTDIR) $( mandir) /man8/udevinfo.8
$( INSTALL_DATA) -D udevtest.8 $( DESTDIR) $( mandir) /man8/udevtest.8
$( INSTALL_DATA) -D udevstart.8 $( DESTDIR) $( mandir) /man8/udevstart.8
$( INSTALL_DATA) -D udevd.8 $( DESTDIR) $( mandir) /man8/udevd.8
2005-08-31 01:30:52 +04:00
$( INSTALL_DATA) -D udevsend.8 $( DESTDIR) $( mandir) /man8/udevsend.8
2005-08-30 06:41:42 +04:00
$( INSTALL_DATA) -D udevmonitor.8 $( DESTDIR) $( mandir) /man8/udevmonitor.8
- ln -f -s udevd.8 $( DESTDIR) $( mandir) /man8/udevcontrol.8
2005-09-14 16:27:28 +04:00
@extras= " $( EXTRAS) " ; for target in $$ extras; do \
echo $$ target; \
$( MAKE) prefix = $( prefix) -C $$ target $@ ; \
done ;
2005-08-30 19:03:25 +04:00
.PHONY : install -man
2004-04-02 11:47:23 +04:00
uninstall-man :
- rm $( mandir) /man8/udev.8
- rm $( mandir) /man8/udevinfo.8
- rm $( mandir) /man8/udevtest.8
- rm $( mandir) /man8/udevstart.8
- rm $( mandir) /man8/udevd.8
2005-08-30 06:41:42 +04:00
- rm $( mandir) /man8/udevmonitor.8
2004-04-02 11:47:23 +04:00
- rm $( mandir) /man8/udevsend.8
2005-08-30 06:41:42 +04:00
- rm $( mandir) /man8/udevcontrol.8
2005-09-14 16:27:28 +04:00
@extras= " $( EXTRAS) " ; for target in $$ extras; do \
echo $$ target; \
$( MAKE) prefix = $( prefix) -C $$ target $@ ; \
done ;
2005-08-30 19:03:25 +04:00
.PHONY : uninstall -man
2004-04-02 11:47:23 +04:00
2005-09-12 16:21:14 +04:00
install-bin :
2003-12-20 05:29:05 +03:00
$( INSTALL) -d $( DESTDIR) $( udevdir)
2005-08-30 19:03:25 +04:00
$( INSTALL_PROGRAM) -D udev $( DESTDIR) $( sbindir) /udev
$( INSTALL_PROGRAM) -D udevd $( DESTDIR) $( sbindir) /udevd
$( INSTALL_PROGRAM) -D udevsend $( DESTDIR) $( sbindir) /udevsend
$( INSTALL_PROGRAM) -D udevcontrol $( DESTDIR) $( sbindir) /udevcontrol
$( INSTALL_PROGRAM) -D udevmonitor $( DESTDIR) $( usrsbindir) /udevmonitor
$( INSTALL_PROGRAM) -D udevinfo $( DESTDIR) $( usrbindir) /udevinfo
$( INSTALL_PROGRAM) -D udevtest $( DESTDIR) $( usrbindir) /udevtest
$( INSTALL_PROGRAM) -D udevstart $( DESTDIR) $( sbindir) /udevstart
2004-03-02 09:23:35 +03:00
i f n d e f D E S T D I R
2005-08-30 19:03:25 +04:00
- killall udevd
2004-11-06 16:28:01 +03:00
- rm -rf $( udevdb)
2005-08-30 19:03:25 +04:00
- $( sbindir) /udevd --daemon
2004-03-02 09:23:35 +03:00
e n d i f
2005-08-30 19:03:25 +04:00
@extras= " $( EXTRAS) " ; for target in $$ extras; do \
echo $$ target; \
$( MAKE) prefix = $( prefix) -C $$ target $@ ; \
done ;
2005-09-12 16:21:14 +04:00
.PHONY : install -bin
2003-10-17 11:19:04 +04:00
2005-09-12 16:21:14 +04:00
uninstall-bin :
2005-08-30 19:03:25 +04:00
- rm $( sbindir) /udev
- rm $( sbindir) /udevd
- rm $( sbindir) /udevsend
- rm $( sbindir) /udevinitsend
- rm $( sbindir) /udeveventrecoreder
- rm $( sbindir) /udevcontrol
- rm $( sbindir) /udevstart
- rm $( usrsbindir) /udevmonitor
- rm $( usrbindir) /udevinfo
- rm $( usrbindir) /udevtest
2004-11-06 16:28:01 +03:00
- rm -rf $( udevdb)
2005-08-30 19:03:25 +04:00
- killall udevd
@extras= " $( EXTRAS) " ; for target in $$ extras; do \
echo $$ target; \
$( MAKE) prefix = $( prefix) -C $$ target $@ ; \
done ;
2005-09-12 16:21:14 +04:00
.PHONY : uninstall -bin
install : all install -bin install -config install -man
.PHONY : install
uninstall : uninstall -bin uninstall -man
.PHONY : uninstall
2005-08-30 19:03:25 +04:00
test tests : all
2004-11-11 05:11:40 +03:00
@ cd test && ./udev-test.pl
2005-04-12 00:38:41 +04:00
@ cd test && ./udevstart-test.pl
2005-08-30 19:03:25 +04:00
.PHONY : test tests
2005-07-15 02:27:30 +04:00
2005-09-12 16:21:14 +04:00
buildtest :
./test/simple-build-check.sh
2005-09-12 17:26:33 +04:00
.PHONY : buildtest
gcov-all :
$( MAKE) clean all DEBUG = true USE_GCOV = true
@echo
@echo "binaries built with gcov support."
@echo "run the tests and analyze with 'make udev_gcov.txt'"
.PHONY : gcov -all
# see docs/README-gcov_for_udev
udev_gcov.txt : $( wildcard *.gcda ) $( wildcard *.gcno )
for file in ` find -maxdepth 1 -name "*.gcno" ` ; do \
name = ` basename $$ file .gcno` ; \
echo "################" >> $@ ; \
echo " $$ name.c " >> $@ ; \
echo "################" >> $@ ; \
if [ -e " $$ name.gcda " ] ; then \
gcov -l " $$ name.c " >> $@ 2>& 1; \
else \
echo " code for $$ name.c was never executed " >> $@ 2>& 1; \
fi ; \
echo >> $@ ; \
done ; \
echo " view $@ for the result "
2005-09-12 16:21:14 +04:00