Blame sysdeps/gnu/Makefile

Packit 6c4009
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
Packit 6c4009
# This file is part of the GNU C Library.
Packit 6c4009
Packit 6c4009
# The GNU C Library is free software; you can redistribute it and/or
Packit 6c4009
# modify it under the terms of the GNU Lesser General Public
Packit 6c4009
# License as published by the Free Software Foundation; either
Packit 6c4009
# version 2.1 of the License, or (at your option) any later version.
Packit 6c4009
Packit 6c4009
# The GNU C Library is distributed in the hope that it will be useful,
Packit 6c4009
# but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 6c4009
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 6c4009
# Lesser General Public License for more details.
Packit 6c4009
Packit 6c4009
# You should have received a copy of the GNU Lesser General Public
Packit 6c4009
# License along with the GNU C Library; if not, see
Packit 6c4009
# <http://www.gnu.org/licenses/>.
Packit 6c4009
Packit 6c4009
# Generate the list of strings for errno codes from the section of the
Packit 6c4009
# manual which documents the codes.
Packit 6c4009
Packit 6c4009
$(..)sysdeps/gnu/errlist.c: $(..)sysdeps/gnu/errlist.awk \
Packit 6c4009
			    $(..)manual/errno.texi
Packit 6c4009
	$(AWK) -f $^ > $@-tmp
Packit 6c4009
# Make it unwritable so noone will edit it by mistake.
Packit 6c4009
	-chmod a-w $@-tmp
Packit 6c4009
	mv -f $@-tmp $@
Packit 6c4009
Packit 6c4009
ifeq ($(subdir),stdio-common)
Packit 6c4009
Packit 6c4009
errlist-c = $(firstword $(wildcard $(addsuffix /errlist.c,$(sysdirs) .)))
Packit 6c4009
Packit 6c4009
libof-errlist-compat = extramodules
Packit 6c4009
Packit 6c4009
ifeq ($(build-shared),yes)
Packit 6c4009
$(objpfx)errlist-compat.c: $(errlist-c) $(..)sysdeps/gnu/errlist-compat.awk \
Packit 6c4009
			   $(common-objpfx)Versions.v.i $(before-compile)
Packit 6c4009
else
Packit 6c4009
$(objpfx)errlist-compat.c: $(errlist-c) $(..)sysdeps/gnu/errlist-compat.awk \
Packit 6c4009
			   $(before-compile)
Packit 6c4009
endif
Packit 6c4009
	$(make-target-directory)
Packit 6c4009
	$(AWK) -v maxerr=`\
Packit 6c4009
	  $(CC) -S $(CPPFLAGS) $(CFLAGS) -DEMIT_ERR_MAX $< -o - \
Packit 6c4009
	  | sed -n 's/^.*@@@[^0-9]*\([0-9]*\)[^0-9]*@@@.*$$/\1/p'` \
Packit 6c4009
	       -f $(..)sysdeps/gnu/errlist-compat.awk \
Packit 6c4009
	       $(wildcard $(sysdirs:=/Versions)) > $@T
Packit 6c4009
# Make it unwritable so noone will edit it by mistake.
Packit 6c4009
	-chmod a-w $@T
Packit 6c4009
	mv -f $@T $@
Packit 6c4009
$(objpfx)errlist-compat.h: $(objpfx)errlist-compat.c
Packit 6c4009
	sed -n '1p;/ERR_MAX/p' $< > $@T
Packit 6c4009
	-chmod a-w $@T
Packit 6c4009
	mv -f $@T $@
Packit 6c4009
generated += errlist-compat.c errlist-compat.h
Packit 6c4009
Packit 6c4009
# This will force the generation above to happy if need be.
Packit 6c4009
$(foreach o,$(object-suffixes) $(object-suffixes:=.d),\
Packit 6c4009
	  $(objpfx)errlist$o): $(objpfx)errlist-compat.h
Packit 6c4009
endif
Packit 6c4009
Packit 6c4009
ifeq ($(subdir),login)
Packit 6c4009
sysdep_routines += setutxent getutxent endutxent getutxid getutxline \
Packit 6c4009
		   pututxline utmpxname updwtmpx getutmpx getutmp
Packit 6c4009
Packit 6c4009
sysdep_headers += utmpx.h bits/utmpx.h
Packit 6c4009
endif
Packit 6c4009
Packit 6c4009
Packit 6c4009
ifeq ($(subdir),inet)
Packit 6c4009
sysdep_headers += netinet/udp.h netinet/ip_icmp.h
Packit 6c4009
endif
Packit 6c4009
Packit 6c4009
Packit 6c4009
ifeq ($(subdir),misc)
Packit 6c4009
sysdep_headers += sys/mtio.h
Packit 6c4009
endif
Packit 6c4009
Packit 6c4009
Packit 6c4009
ifeq ($(subdir),csu)
Packit 6c4009
routines += unwind-resume
Packit 6c4009
shared-only-routines += unwind-resume
Packit 6c4009
CFLAGS-unwind-resume.c += -fexceptions -fasynchronous-unwind-tables
Packit 6c4009
endif
Packit 6c4009
Packit 6c4009
ifeq ($(subdir),rt)
Packit 6c4009
librt-sysdep_routines += rt-unwind-resume
Packit 6c4009
librt-shared-only-routines += rt-unwind-resume
Packit 6c4009
CFLAGS-rt-unwind-resume.c += -fexceptions -fasynchronous-unwind-tables
Packit 6c4009
endif