summary refs log tree commit diff
path: root/sysdeps/unix/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/Makefile')
-rw-r--r--sysdeps/unix/Makefile240
1 files changed, 1 insertions, 239 deletions
diff --git a/sysdeps/unix/Makefile b/sysdeps/unix/Makefile
index 4b887a7a87..c8ef96d50e 100644
--- a/sysdeps/unix/Makefile
+++ b/sysdeps/unix/Makefile
@@ -1,5 +1,4 @@
-# Copyright (C) 1991,1992,1993,1994,1995,1996,1997,1998,1999,2003,2006,2008,2009
-#	Free Software Foundation, Inc.
+# Copyright (C) 1991-2012 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -16,243 +15,6 @@
 # License along with the GNU C Library; if not, see
 # <http://www.gnu.org/licenses/>.
 
-# The unix-specific configure fragment writes `unix-generated' in config.make.
-config-generated := $(config-generated) $(unix-generated)
-
-ifeq (,$(filter-out $(sysdep_dir)/generic/ $(common-objpfx),\
-	$(dir $(firstword $(wildcard $(+sysdep_dirs:%=%/bits/local_lim.h))))))
-
-ifneq (,$(wildcard $(sysincludedir)/sys/param.h))
-mk-local_lim-CFLAGS += -DHAVE_SYS_PARAM_H
-endif
-ifneq (,$(wildcard $(sysincludedir)/sys/limits.h))
-mk-local_lim-CFLAGS += -DHAVE_SYS_LIMITS_H
-endif
-ifneq (,$(wildcard $(sysincludedir)/limits.h))
-mk-local_lim-CFLAGS += -DHAVE_LIMITS_H
-endif
-
-$(common-objpfx)bits/local_lim.h: $(common-objpfx)mk-local_lim
-	$(dir $<)$(notdir $<) > $@-t
-	mv -f $@-t $@
-$(common-objpfx)mk-local_lim: $(sysdep_dir)/unix/mk-local_lim.c
-	$(common-objdir-compile)
-
-before-compile += $(common-objpfx)bits/local_lim.h
-common-generated += bits/local_lim.h mk-local_lim
-
-endif
-
-ifeq (,$(filter-out $(sysdep_dir)/generic/ $(common-objpfx),\
-	$(patsubst %/sys/param.h,%/,\
-		   $(firstword $(wildcard $(+sysdep_dirs:%=%/sys/param.h))))))
-
-before-compile := $(before-compile) $(common-objpfx)sys/param.h
-
-$(common-objpfx)sys/param.h: $(sysincludedir)/sys/param.h
-	$(make-target-directory)
-	(echo '#ifndef _SYS_PARAM_H';	\
-	 echo '#define _SYS_PARAM_H 1';	\
-	 echo '#include <endian.h>';		\
-	 $(AWK) < $<			\
-	   '/^#define[ 	]*NULL/ { print "#ifndef NULL";	\
-				  print $$0;		\
-				  print "#endif";	\
-				  was_null = 1 }	\
-	    { if (!was_null) print $$0;			\
-	      was_null = 0 }';		\
-	 echo '#ifndef MAXHOSTNAMELEN'; \
-	 echo '#define MAXHOSTNAMELEN 64 /* XXX */'; \
-	 echo '#endif /* No MAXHOSTNAMELEN.  */'; \
-	 echo '#endif	/* sys/param.h */') > $@-tmp
-	mv $@-tmp $@
-
-$(common-objpfx)param.h.c: $(sysincludedir)/sys/param.h
-	rm -f $@
-	cp $< $@
-$(common-objpfx)param.h.dep: $(common-objpfx)param.h.c \
-			     $(sysdep_dir)/unix/Makefile
-	$(+mkdep) -I$(sysincludedir) $<			\
-	| sed > $@-t					\
-	      -e 's@$(sysincludedir)/sys/param.h@@'	\
-	      -e 's@^.*:@@'				\
-	      -e 's@$<@@g'				\
-	      -e 's@$(sysincludedir)/*@@g'		\
-	      -e 's@\\$$@@'				\
-	      -e 's@^@sys/param.h-includes := $$(sys/param.h-includes) @'
-	mv $@-t $@
-
-# Get the generated definition of sys/param.h-includes.
-ifndef no_deps
--include $(common-objpfx)param.h.dep
-endif
-
-# Don't preempt our own headers.
-sys/param.h-includes := \
-  $(filter-out $(patsubst $(..)%,%,\
-			  $(wildcard $(addprefix $(..),\
-				     $(sys/param.h-includes)))),\
-	       $(sys/param.h-includes))
-
-
-.PHONY: sys/param.h-includes
-sys/param.h-includes: $(addprefix $(common-objpfx),$(sys/param.h-includes))
-
-ifdef sys/param.h-includes
-# Copy the system files to $(common-objdir).
-$(addprefix $(common-objpfx),$(sys/param.h-includes)): $(common-objpfx)%: \
-						       $(sysincludedir)/%
-	$(make-target-directory)
-# Some of these files sometimes contain conflicting declarations for htons,
-# ntohs, etc.  They also often contain definitions of *_ENDIAN and
-# BYTE_ORDER, which we define ourselves in <endian.h>.
-	sed -e '/[ 	]*[hn]to[nh][sl][	 (]*/d' \
-	    -e '/^#define[ 	]*[A-Z]*_ENDIAN/d' \
-	    -e '/^#define[ 	]*BYTE_ORDER/d' \
-	    $< > $@-t
-	mv $@-t $@
-endif
-
-common-generated := $(common-generated) \
-		    sys/param.h $(sys/param.h-includes) param.h.c param.h.dep
-
-
-ifeq ($(subdir),misc)
-
-# Install system headers the system sys/param.h uses.
-
-sysdep_headers := $(sysdep_headers) $(sys/param.h-includes)
-
-endif # misc
-
-endif # No sysdep sys/param.h.
-
-ifeq (,$(filter-out $(sysdep_dir)/generic/ $(common-objpfx),\
-	$(dir $(firstword $(wildcard $(+sysdep_dirs:%=%/bits/errno.h))))))
-
-# These need to exist before any compiling is done,
-# so cpp doesn't instead find the generic versions.
-before-compile := $(before-compile) $(common-objpfx)bits/errno.h
-
-$(common-objpfx)bits/errno.h: $(common-objpfx)make-errnos
-	$(dir $<)$(notdir $<) > $@-tmp
-	mv $@-tmp $@
-
-$(common-objpfx)make-errnos: $(common-objpfx)make-errnos.c
-	$(common-objdir-compile)
-
-$(common-objpfx)make-errnos.c: $(sysdep_dir)/unix/errnos-tmpl.c \
-			$(sysdep_dir)/unix/errnos.awk $(common-objpfx)errnos
-	$(AWK) -f $(word 2,$^) errnos="`tr '\012' ' ' < $(word 3,$^)`" $< > $@T
-	mv $@T $@
-
-$(common-objpfx)errnos: $(wildcard $(sysincludedir)/errno.h	\
-				   $(sysincludedir)/sys/errno.h)
-	sed -n 's/^#define[ 	]*\(E[A-Z0-9][A-Z0-9]*\)[ 	].*$$/\1/p' \
-	    $^ > $@-tmp
-	mv $@-tmp $@
-
-common-generated := $(common-generated) \
-		    errnos.h errnos make-errnos make-errnos.c
-endif
-
-ifeq (,$(filter-out $(sysdep_dir)/generic/ $(common-objpfx),\
-	$(dir $(firstword $(wildcard $(+sysdep_dirs:%=%/bits/ioctls.h))))))
-
-before-compile := $(before-compile) $(common-objpfx)bits/ioctls.h
-
-$(common-objpfx)bits/ioctls.h: $(common-objpfx)make-ioctls
-	$(dir $<)$(notdir $<) > $@-tmp
-	mv $@-tmp $@
-
-ioctl-includes := sys/termios.h net/nit.h
-ioctl-includes := $(wildcard $(addprefix $(sysincludedir)/,$(ioctl-includes)))
-make-ioctls-CFLAGS := $(subst /,_,$(subst .,_,\
-			$(patsubst $(sysincludedir)/%,-DHAVE_%,\
-				   $(ioctl-includes))))
-
-$(common-objpfx)make-ioctls: $(common-objpfx)make-ioctls.c
-	$(common-objdir-compile)
-
-$(common-objpfx)make-ioctls.c: $(sysdep_dir)/unix/ioctls-tmpl.c \
-			       $(sysdep_dir)/unix/ioctls.awk \
-			       $(common-objpfx)ioctls
-	$(AWK) -f $(word 2,$^) requests="`cat $(word 3,$^)`" $< > $@T
-	mv $@T $@
-
-
-bits_termios.h := $(firstword $(wildcard $(+sysdep_dirs:%=%/bits/termios.h)))
-ifeq ($(bits_termios.h),$(sysdep_dir)/generic/bits/termios.h)
-bits_termios.h := # Ignore the generic version.
-endif
-
-# If there is a system-specific <bits/termios.h> file, we want to omit
-# all the symbols it defines from ioctls.  Otherwise, both
-# <bits/ioctls.h> and <bits/termios.h> would define them.  The
-# system-specific <bits/termios.h> file presumably defines them with
-# the same values as we find from the system's headers.  We also want
-# to omit from ioctls the symbols defined in our own
-# <sys/ttydefaults.h>, to avoid multiple definition conflicts.  We use
-# snarf-ioctls on these files to find what symbols we want to omit.
-# fgrep -xv gives all lines which do not match in their entirety;
-# without -x, CSTOP's presence elided TIOCSTOP.
-
-$(common-objpfx)ioctls: $(sysdep_dir)/unix/snarf-ioctls \
-			$(sysincludedir)/sys/ioctl.h $(ioctl-includes)
-	$(dir $<)$(notdir $<) $(filter-out $<,$^) \
-	| fgrep -xv "`($(dir $<)$(notdir $<) $(bits_termios.h) \
-					     $(..)sysdeps/generic/sys/ttydefaults.h; \
-		      echo NULL) \
-		     | sort | uniq`" \
-	| sort | uniq | tr '\012' ' ' > $@-tmp
-	mv $@-tmp $@
-
-common-generated := $(common-generated) \
-		    bits/ioctls.h ioctls make-ioctls make-ioctls.c
-endif
-
-ifeq (,$(filter-out $(sysdep_dir)/generic/ $(common-objpfx),\
-	$(dir $(firstword $(wildcard $(+sysdep_dirs:%=%/sys/syscall.h))))))
-
-# The syscall code assumes a file <sys/syscall.h> that defines macros
-# `SYS_call' for syscall `call'.  Variations on this I have seen include:
-# it's in <sys/syscall.h>;
-# it's in <sys.s>;
-# it defines `CALL' instead of `SYS_call'.
-# Irix has a <syscall.h> which is not what we want, so check for <sys.s> first.
-
-# Find a file that might have these.  NOTE: This list of possibilities is
-# repeated in sysdeps/unix/configure and the two should be kept in sync.
-syscall.h := $(firstword $(wildcard $(addprefix $(sysincludedir)/, \
-						sys.s sys/sys.s \
-						sys.S sys/sys.S \
-						syscall.h sys/syscall.h \
-						)))
-ifdef syscall.h
-
-# Transmogrify any of several formats of the file into the one we want.
-$(common-objpfx)sys/syscall.h: $(syscall.h)
-	$(make-target-directory)
-	tr '[A-Z]' '[a-z]' < $< | \
-	sed -e 's/[ 	]sys_/ /' \
-	    -e 's/^#define[ 	]*\([a-z0-9_]*\)[ 	]*/#define SYS_\1 /' \
-	    -e 's/[ 	]sys_/ SYS_/' \
-	    -e 's/SYS_syscall_basenum/syscall_basenum/g' \
-	    -e 's/SYS_kerncall_basenum/kerncall_basenum/g' \
-	    -e 's/SYS_sysvoffset/sysvoffset/g' \
-	    -e '/^#/!d' \
-	    -e '/^#ident/d' \
-	    -e 's-\(/\*[^*]*\)$$-\1\*/-' \
-	> $@-tmp
-	mv $@-tmp $@
-
-before-compile += $(common-objpfx)sys/syscall.h
-common-generated += sys/syscall.h
-
-endif
-
-endif
-
 ifndef inhibit-unix-syscalls
 
 # Sysdep dirs unix/... can contain a file syscalls.list,