2005-04-27 07:59:47 +04:00
#
2006-08-23 03:32:25 +04:00
# Copyright (C) 2003-2004 Greg Kroah-Hartman <greg@kroah.com>
2006-01-28 18:39:46 +03:00
# Copyright (C) 2004-2006 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
2006-08-28 02:29:11 +04:00
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
2005-04-27 07:59:47 +04:00
#
2008-06-12 09:24:30 +04:00
VERSION = 124
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_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
# 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-10-27 20:20:58 +04:00
EXTRAS =
2005-03-06 12:15:51 +03:00
2006-01-28 18:39:46 +03:00
# make the build silent
2006-01-28 06:44:51 +03:00
V =
2005-03-06 12:15:51 +03:00
2005-08-30 19:03:25 +04:00
PROGRAMS = \
udevd \
2007-11-08 19:51:59 +03:00
udevadm \
test-udev
2005-08-30 19:03:25 +04:00
HEADERS = \
udev.h \
2006-08-05 02:00:15 +04:00
udevd.h \
2005-08-30 19:03:25 +04:00
udev_rules.h \
logging.h \
2006-08-16 04:04:04 +04:00
udev_sysdeps.h \
2005-08-30 19:03:25 +04:00
udev_selinux.h \
list.h
UDEV_OBJS = \
udev_device.o \
udev_config.o \
2006-04-06 00:29:33 +04:00
udev_node.o \
2005-08-30 19:03:25 +04:00
udev_db.o \
2006-01-09 23:18:00 +03:00
udev_sysfs.o \
2005-08-30 19:03:25 +04:00
udev_rules.o \
udev_rules_parse.o \
udev_utils.o \
udev_utils_string.o \
udev_utils_file.o \
2007-11-08 19:51:59 +03:00
udevmonitor.o \
udevinfo.o \
udevcontrol.o \
udevtrigger.o \
udevsettle.o \
udevtest.o \
2006-08-16 04:04:04 +04:00
udev_sysdeps.o
2005-08-30 19:03:25 +04:00
LIBUDEV = libudev.a
MAN_PAGES = \
2006-01-24 22:21:42 +03:00
udev.7 \
2005-08-30 19:03:25 +04:00
udevd.8 \
2007-11-08 19:51:59 +03:00
udevadm.8
2005-08-30 19:03:25 +04:00
GEN_HEADERS = \
udev_version.h
2004-02-03 11:51:51 +03:00
2006-08-23 03:32:25 +04:00
prefix ?=
2003-10-17 08:18:40 +04:00
etcdir = ${ prefix } /etc
2005-11-16 06:35:37 +03:00
sbindir = ${ prefix } /sbin
usrbindir = ${ prefix } /usr/bin
libudevdir = ${ prefix } /lib/udev
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
DESTDIR =
2003-10-17 08:18:40 +04:00
2007-01-21 17:48:58 +03:00
INSTALL = install -c
2003-10-17 08:18:40 +04:00
INSTALL_PROGRAM = ${ INSTALL }
2006-01-23 05:24:16 +03:00
INSTALL_DATA = ${ INSTALL } -m 644
2007-01-21 17:48:58 +03:00
INSTALL_SCRIPT = ${ INSTALL }
2004-02-28 11:30:24 +03:00
PWD = $( shell pwd )
2006-08-23 03:32:25 +04:00
CROSS_COMPILE ?=
2006-01-27 23:36:29 +03:00
CC = $( CROSS_COMPILE) gcc
LD = $( CROSS_COMPILE) gcc
AR = $( CROSS_COMPILE) ar
RANLIB = $( CROSS_COMPILE) ranlib
2005-04-27 07:59:47 +04:00
2007-04-26 01:22:25 +04:00
CFLAGS += -g -Wall -pipe -D_GNU_SOURCE -D_FILE_OFFSET_BITS= 64
2005-10-27 21:14:21 +04:00
WARNINGS = -Wstrict-prototypes -Wsign-compare -Wshadow \
-Wchar-subscripts -Wmissing-declarations -Wnested-externs \
-Wpointer-arith -Wcast-align -Wsign-compare -Wmissing-prototypes
CFLAGS += $( WARNINGS)
2004-10-07 10:40:35 +04:00
2007-07-25 17:19:32 +04:00
LDFLAGS += -Wl,-warn-common,--as-needed
2005-10-27 20:20:58 +04:00
2005-12-15 14:30:25 +03:00
OPTFLAGS = -Os
2005-10-27 21:14:21 +04:00
CFLAGS += $( OPTFLAGS)
2005-07-06 23:36:21 +04:00
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-10-27 21:14:21 +04:00
# if DEBUG is enabled, then we do not strip
2005-04-27 07:59:47 +04:00
i f e q ( $( strip $ ( DEBUG ) ) , t r u e )
2005-10-27 20:20:58 +04:00
CFLAGS += -DDEBUG
2005-04-27 07:59:47 +04:00
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
2005-10-27 20:20:58 +04:00
LDFLAGS += -fprofile-arcs
2005-09-12 17:26:33 +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
2005-10-16 16:16:43 +04:00
LIB_OBJS += -lselinux -lsepol
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
2006-01-28 06:44:51 +03:00
i f e q ( $( strip $ ( V ) ) , )
E = @echo
Q = @
2005-02-05 04:43:16 +03:00
e l s e
2006-01-28 06:44:51 +03:00
E = @\#
Q =
2005-02-05 04:43:16 +03:00
e n d i f
2006-01-28 06:44:51 +03:00
export E Q
2003-12-07 20:04:49 +03:00
2005-11-09 17:42:07 +03:00
all : $( PROGRAMS ) $( MAN_PAGES )
2006-01-28 06:44:51 +03:00
$( Q) extras = " $( EXTRAS) " ; for target in $$ extras; do \
2005-10-27 20:42:52 +04:00
$( MAKE) CC = " $( CC) " \
2005-09-14 19:00:02 +04:00
CFLAGS = " $( CFLAGS) " \
2004-02-03 11:51:51 +03:00
LD = " $( LD) " \
2005-09-14 19:00:02 +04:00
LDFLAGS = " $( LDFLAGS) " \
2006-03-30 02:48:30 +04:00
AR = " $( AR) " \
RANLIB = " $( RANLIB) " \
2005-09-14 19:00:02 +04:00
LIB_OBJS = " $( LIB_OBJS) " \
2005-08-30 19:03:25 +04:00
LIBUDEV = " $( PWD) / $( LIBUDEV) " \
2005-11-22 18:33:25 +03:00
-C $$ target $@ || exit 1; \
2005-08-30 19:03:25 +04:00
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
2006-01-28 06:44:51 +03:00
%.o : %.c $( HEADERS ) $( GEN_HEADERS )
$( E) " CC " $@
$( Q) $( CC) -c $( CFLAGS) $< -o $@
2005-09-11 01:35:30 +04:00
# "Static Pattern Rule" to build all programs
2006-01-28 06:44:51 +03:00
$(PROGRAMS) : %: $( HEADERS ) $( GEN_HEADERS ) $( LIBUDEV ) %.o
$( E) " LD " $@
$( Q) $( LD) $( LDFLAGS) $@ .o -o $@ $( LIBUDEV) $( LIB_OBJS)
2005-08-30 19:03:25 +04:00
2006-01-28 06:44:51 +03:00
$(LIBUDEV) : $( HEADERS ) $( GEN_HEADERS ) $( UDEV_OBJS )
$( Q) rm -f $@
$( E) " AR " $@
$( Q) $( AR) cq $@ $( UDEV_OBJS)
$( E) " RANLIB " $@
$( Q) $( RANLIB) $@
2004-11-25 10:38:06 +03:00
2005-04-27 07:59:47 +04:00
udev_version.h :
2006-01-28 06:44:51 +03:00
$( E) " GENHDR " $@
$( Q) echo "/* Generated by make. */" > $@
$( Q) echo \# define UDEV_VERSION \" $( VERSION) \" >> $@
$( Q) echo \# define UDEV_ROOT \" $( udevdir) \" >> $@
2006-01-28 18:39:46 +03:00
$( Q) echo \# define UDEV_CONFIG_FILE \" $( configdir) /udev.conf\" >> $@
2006-12-08 11:48:53 +03:00
$( Q) echo \# define UDEV_RULES_DIR \" $( configdir) /rules.d\" >> $@
2005-04-27 07:59:47 +04:00
2005-08-30 06:41:42 +04:00
# man pages
2006-01-28 06:56:24 +03:00
%.8 %.7 : %.xml
2006-01-28 06:44:51 +03:00
$( E) " XMLTO " $@
$( Q) xmlto man $?
2005-08-30 19:03:25 +04:00
.PRECIOUS : %.8
2005-03-07 02:01:34 +03:00
2005-04-27 07:59:47 +04:00
clean :
2006-01-28 06:44:51 +03:00
$( E) " CLEAN "
$( Q) - find . -type f -name '*.orig' -print0 | xargs -0r rm -f
$( Q) - find . -type f -name '*.rej' -print0 | xargs -0r rm -f
$( Q) - find . -type f -name '*~' -print0 | xargs -0r rm -f
$( Q) - find . -type f -name '*.[oas]' -print0 | xargs -0r rm -f
$( Q) - find . -type f -name "*.gcno" -print0 | xargs -0r rm -f
$( Q) - find . -type f -name "*.gcda" -print0 | xargs -0r rm -f
$( Q) - find . -type f -name "*.gcov" -print0 | xargs -0r rm -f
$( Q) - rm -f udev_gcov.txt
$( Q) - rm -f core $( PROGRAMS) $( GEN_HEADERS)
$( Q) - rm -f udev-$( VERSION) .tar.gz
$( Q) - rm -f udev-$( VERSION) .tar.bz2
2007-07-14 22:59:03 +04:00
$( Q) - rm -f udev-git-HEAD.patch
2006-01-28 06:44:51 +03:00
@ extras = " $( EXTRAS) " ; for target in $$ extras; do \
2005-11-22 18:33:25 +03:00
$( MAKE) -C $$ target $@ || exit 1; \
2005-08-30 19:03:25 +04:00
done ;
2005-10-27 20:42:52 +04:00
.PHONY : clean
2004-03-13 10:52:21 +03:00
2006-01-23 05:24:16 +03:00
install-config :
2004-04-24 08:50:27 +04:00
$( INSTALL) -d $( DESTDIR) $( configdir) /rules.d
2006-01-28 06:44:51 +03:00
@ if [ ! -r $( DESTDIR) $( configdir) /udev.conf ] ; then \
2006-01-23 05:24:16 +03:00
$( INSTALL_DATA) etc/udev/udev.conf $( DESTDIR) $( configdir) ; \
2003-12-20 05:29:05 +03:00
fi
2007-09-11 19:20:54 +04:00
@ for i in etc/udev/rules.d/*.rules; do \
if [ ! -r $( DESTDIR) $( configdir) /rules.d/$$ ( basename $$ i) ] ; then \
$( INSTALL_DATA) $$ i $( DESTDIR) $( configdir) /rules.d; \
2007-08-23 05:31:04 +04:00
fi \
done
2006-01-28 06:44:51 +03:00
@ extras = " $( EXTRAS) " ; for target in $$ extras; do \
2005-11-22 18:33:25 +03:00
$( MAKE) -C $$ target $@ || exit 1; \
2005-09-14 16:27:28 +04:00
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 :
2008-03-15 02:02:39 +03:00
$( INSTALL) -d $( DESTDIR) $( mandir) /man7
$( INSTALL_DATA) udev.7 $( DESTDIR) $( mandir) /man7/udev.7
$( INSTALL) -d $( DESTDIR) $( mandir) /man8
$( INSTALL_DATA) udevd.8 $( DESTDIR) $( mandir) /man8/udevd.8
$( INSTALL_DATA) udevadm.8 $( DESTDIR) $( mandir) /man8/udevadm.8
2005-09-14 16:27:28 +04:00
@extras= " $( EXTRAS) " ; for target in $$ extras; do \
2005-11-22 18:33:25 +03:00
$( MAKE) -C $$ target $@ || exit 1; \
2005-09-14 16:27:28 +04:00
done ;
2005-08-30 19:03:25 +04:00
.PHONY : install -man
2004-04-02 11:47:23 +04:00
uninstall-man :
2006-01-24 22:21:42 +03:00
- rm -f $( DESTDIR) $( mandir) /man7/udev.7
2007-11-08 19:51:59 +03:00
- rm -f $( DESTDIR) $( mandir) /man8/udevadm.8
2005-10-27 20:42:52 +04:00
- rm -f $( DESTDIR) $( mandir) /man8/udevd.8
2006-01-28 06:44:51 +03:00
@ extras = " $( EXTRAS) " ; for target in $$ extras; do \
2005-11-22 18:33:25 +03:00
$( MAKE) -C $$ target $@ || exit 1; \
2005-09-14 16:27:28 +04:00
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 :
2008-03-15 02:02:39 +03:00
$( INSTALL) -d $( DESTDIR) $( sbindir)
$( INSTALL_PROGRAM) udevd $( DESTDIR) $( sbindir) /udevd
$( INSTALL_PROGRAM) udevadm $( DESTDIR) $( sbindir) /udevadm
2007-11-08 19:51:59 +03:00
ln -f -s udevadm $( DESTDIR) $( sbindir) /udevsettle
2008-03-29 18:29:36 +03:00
$( INSTALL) -d $( DESTDIR) $( usrbindir)
2007-11-08 19:51:59 +03:00
ln -f -s $( sbindir) /udevadm $( DESTDIR) $( usrbindir) /udevinfo
2005-09-14 19:00:02 +04:00
@extras= " $( EXTRAS) " ; for target in $$ extras; do \
2005-11-22 18:33:25 +03:00
$( MAKE) -C $$ target $@ || exit 1; \
2005-09-14 19:00:02 +04:00
done ;
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
2008-05-19 11:07:20 +04:00
- rm -rf $( udevdir) /.udev
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-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-10-27 20:42:52 +04:00
- rm -f $( DESTDIR) $( sbindir) /udevd
2007-11-08 19:51:59 +03:00
- rm -f $( DESTDIR) $( sbindir) /udevadm
2006-04-05 02:08:10 +04:00
- rm -f $( DESTDIR) $( sbindir) /udevsettle
2006-01-23 05:24:16 +03:00
- rm -f $( DESTDIR) $( usrbindir) /udevinfo
2005-10-27 20:42:52 +04:00
i f n d e f D E S T D I R
2005-08-30 19:03:25 +04:00
- killall udevd
2008-05-19 11:07:20 +04:00
- rm -rf $( udevdir) /.udev
2005-10-27 20:42:52 +04:00
e n d i f
2005-08-30 19:03:25 +04:00
@extras= " $( EXTRAS) " ; for target in $$ extras; do \
2005-11-22 18:33:25 +03:00
$( MAKE) -C $$ target $@ || exit 1; \
2005-08-30 19:03:25 +04:00
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-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 :
2005-12-04 04:31:38 +03:00
test/simple-build-check.sh
2005-09-12 17:26:33 +04:00
.PHONY : buildtest
2007-06-21 13:41:41 +04:00
ChangeLog :
head -1 $@ | grep -q " to v $( shell echo $$ ( ( $( VERSION) - 1) )) "
2005-12-04 04:31:38 +03:00
@ mv $@ $@ .tmp
2006-09-07 13:49:51 +04:00
@ echo " Summary of changes from v $( shell echo $$ ( ( $( VERSION) - 1) )) to v $( VERSION) " >> $@
2005-12-04 04:31:38 +03:00
@ echo "============================================" >> $@
2005-12-04 05:01:48 +03:00
@ echo >> $@
2006-09-07 13:49:51 +04:00
@ git log --pretty= short $( shell echo $$ ( ( $( VERSION) - 1) ) ) ..HEAD | git shortlog >> $@
2005-12-04 04:31:38 +03:00
@ echo >> $@
@ cat $@
@ cat $@ .tmp >> $@
@ rm $@ .tmp
2007-06-21 13:41:41 +04:00
head -1 $@ | grep -q " to v $( VERSION) "
.PHONY : ChangeLog
.PRECIOUS : ChangeLog
release :
$( Q) - rm -f udev-$( VERSION) .tar.gz
$( Q) - rm -f udev-$( VERSION) .tar.bz2
head -1 ChangeLog | grep -q " to v $( VERSION) "
head -1 RELEASE-NOTES | grep -q " udev $( VERSION) "
git commit -a -m " release $( VERSION) "
cat .git/refs/heads/master > .git/refs/tags/$( VERSION)
@ echo
git-archive --format= tar --prefix= udev-$( VERSION) / HEAD | gzip -9v > udev-$( VERSION) .tar.gz
git-archive --format= tar --prefix= udev-$( VERSION) / HEAD | bzip2 -9v > udev-$( VERSION) .tar.bz2
.PHONY : release
2005-12-04 04:31:38 +03:00
2007-07-22 02:09:19 +04:00
dist :
git-archive --format= tar --prefix= udev-$( VERSION) / HEAD | gzip -9v > udev-$( VERSION) .tar.gz
git-archive --format= tar --prefix= udev-$( VERSION) / HEAD | bzip2 -9v > udev-$( VERSION) .tar.bz2
.PHONY : dist
2007-07-14 22:59:03 +04:00
patch :
git diff $( shell echo $$ ( ( $( VERSION) - 1) ) ) HEAD > udev-git-HEAD.patch
.PHONY : patch
2005-09-12 17:26:33 +04:00
gcov-all :
2006-03-28 05:09:18 +04:00
$( MAKE) clean all USE_GCOV = true
2006-01-28 06:44:51 +03:00
@ echo
@ echo "binaries built with gcov support."
@ echo "run the tests and analyze with 'make udev_gcov.txt'"
2005-09-12 17:26:33 +04:00
.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 "