2006-02-24 Roland McGrath <roland@redhat.com>
[kopensolaris-gnu/glibc.git] / sysdeps / gnu / Makefile
1 # Copyright (C) 1996,1997,1998,1999,2001,2002,2003,2004, 2005
2 #       Free Software Foundation, Inc.
3 # This file is part of the GNU C Library.
4
5 # The GNU C Library is free software; you can redistribute it and/or
6 # modify it under the terms of the GNU Lesser General Public
7 # License as published by the Free Software Foundation; either
8 # version 2.1 of the License, or (at your option) any later version.
9
10 # The GNU C Library is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 # Lesser General Public License for more details.
14
15 # You should have received a copy of the GNU Lesser General Public
16 # License along with the GNU C Library; if not, write to the Free
17 # Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18 # 02111-1307 USA.
19
20 # Generate the list of strings for errno codes from the section of the
21 # manual which documents the codes.
22
23 $(..)sysdeps/gnu/errlist.c: $(..)sysdeps/gnu/errlist.awk \
24                             $(..)manual/errno.texi
25         $(AWK) -f $^ > $@-tmp
26 # Make it unwritable so noone will edit it by mistake.
27         -chmod a-w $@-tmp
28         mv -f $@-tmp $@
29 ifeq ($(with-cvs),yes)
30         test ! -d CVS || cvs commit -m'Regenerated from $^' $@
31 endif
32
33 ifeq ($(subdir),stdio-common)
34
35 errlist-c = $(firstword $(wildcard $(addsuffix /errlist.c, \
36                                                    $(full_config_sysdirs) .)))
37
38 ifeq ($(versioning),yes)
39 $(objpfx)errlist-compat.c: $(errlist-c) $(..)sysdeps/gnu/errlist-compat.awk \
40                            $(common-objpfx)Versions.v.i $(before-compile)
41 else
42 $(objpfx)errlist-compat.c: $(errlist-c) $(..)sysdeps/gnu/errlist-compat.awk \
43                            $(before-compile)
44 endif
45         $(make-target-directory)
46         $(AWK) -v maxerr=`\
47           $(CC) -S $(CPPFLAGS) $(CFLAGS) -DNOT_IN_libc -DEMIT_ERR_MAX $< -o - \
48           | sed -n 's/^.*@@@[^0-9]*\([0-9]*\)[^0-9]*@@@.*$$/\1/p'` \
49                -f $(..)sysdeps/gnu/errlist-compat.awk \
50                $(wildcard $(patsubst %,$(..)%/Versions,\
51                  $(config-sysdirs) $(add-ons))) > $@T
52 # Make it unwritable so noone will edit it by mistake.
53         -chmod a-w $@T
54         mv -f $@T $@
55 $(objpfx)errlist-compat.h: $(objpfx)errlist-compat.c
56         sed -n '1p;/ERR_MAX/p' $< > $@T
57         -chmod a-w $@T
58         mv -f $@T $@
59 generated += errlist-compat.c errlist-compat.h
60
61 # This will force the generation above to happy if need be.
62 $(foreach o,.d $(object-suffixes),$(objpfx)errlist$o):$(objpfx)errlist-compat.h
63 endif
64
65 ifeq ($(subdir),login)
66 sysdep_routines += setutxent getutxent endutxent getutxid getutxline \
67                    pututxline utmpxname updwtmpx getutmpx getutmp
68
69 sysdep_headers += utmpx.h bits/utmpx.h
70 endif
71
72
73 ifeq ($(subdir),inet)
74 sysdep_headers += netinet/udp.h netinet/ip_icmp.h
75 endif
76
77
78 ifeq ($(subdir),misc)
79 sysdep_headers += sys/mtio.h
80 endif