-# Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
+# Copyright (C) 1991, 1992, 1993, 1994, 1995 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
include $(..)Makeconfig
-foo:=$(shell echo first generated='$(generated)' >&2)
-ifdef objpfx
-generated := $(foreach file,$(filter $(objpfx)%,$(generated)),\
- $(file:$(objpfx)%=%) $(file)) \
- $(filter-out $(objpfx)%,$(generated))
-foo:=$(shell echo generated='$(generated)' >&2)
-endif
-
foo:=$(shell echo 'distribute=$(distribute)'>&2)
foo:=$(shell echo 'foobar=$(filter %.c %.S %.s %.h,$(distribute))'>&2)
ifndef sysdep_dirs
# Find all sysdep directories.
-export sysdep_dirs := $(shell find $(..)sysdeps -type d -print)
+export sysdep_dirs := $(shell find $(..)sysdeps -type d ! -name RCS -print)
else
# Defined by the parent.
sysdep_dirs := $(addprefix $(..),$(sysdep_dirs))
endif
+sysdep-Subdir-files := $(wildcard $(addsuffix /Subdirs,$(sysdep_dirs)))
+ifdef sysdep-Subdir-files
+subdirs := $(sort $(subdirs) \
+ $(shell sed -e 's/\#.*$$//' $(sysdep-Subdir-files)))
+endif
+
+
# Makefiles can define `source_dirs' to list nonstandard directories
# where source files might be found.
ifdef subdir
all-headers = $(headers)
else
-+distinfo := $(shell MAKEFLAGS= MFLAGS= $(MAKE) -s no_deps=t echo-distinfo \
- | grep -v '^make')
++distinfo := $(shell MAKEFLAGS= MFLAGS= $(MAKE) -s no_deps=t \
+ inhibit_interface_rules=t inhibit_mach_syscalls=t \
+ subdirs='$(subdirs)' echo-distinfo | grep -v '^make')
+foo:=$(shell echo>&2 '+distinfo=$(+distinfo)')
all-headers := $(patsubst +header+%,%,$(filter +header+%,$(+distinfo)))
+# Ignore subdir headers without top-level indirections.
+all-headers := $(sort $(headers) $(wildcard $(all-headers)))
+subdir-nodist := $(patsubst +nodist+%,%,$(filter +nodist+%,$(+distinfo)))
+subdir-headers := $(filter-out $(headers),$(all-headers))
endif
# Find all sysdep sources and headers.
+maybe-sysdeps := $(sources) $(sources:.c=.s) $(sources:.c=.S) $(all-headers) \
- $(filter %.c %.S %.s %.h,$(distribute))
+ $(filter %.c %.S %.s %.h %.sub,$(distribute))
foo:=$(shell echo '+maybe-sysdeps=$(+maybe-sysdeps)'>&2)
# Find all the files that have a stub or generic version.
try-sysdeps := $(foreach dir,$(..)sysdeps/stub $(..)sysdeps/generic,\
$(+sysdeps)
foo:=$(shell echo made +tsrcs >&2)
foo:=$(shell echo generated='$(generated)' >&2)
+generated := $(sort $(generated) $(generated:.S=.c) $(generated:.s=.c))
+foo:=$(shell echo now generated='$(generated)' >&2)
+tsrcs := $(sort $(filter-out $(generated),$(+tsrcs)))
foo:=$(shell echo '+tsrcs=$(+tsrcs)'>&2)
foo:=$(shell echo foobie, dammit! >&2)
export tardir := glibc-$(version)
endif
-$(..)$(tardir):
+$(..)glibc-$(version):
ln -s . $@
+tsrcs := $(+tsrcs) \
foo:=$(shell echo parent foobie>&2)
+sysdep-distfiles := $(wildcard $(addsuffix /Dist,$(sysdep_dirs)))
foo:=$(shell echo +sysdep-distfiles='$(+sysdep-distfiles)'>&2)
-sysdep-Subdir-files := $(wildcard $(addsuffix /Subdirs,$(sysdep_dirs)))
-ifdef sysdep-Subdir-files
-subdirs := $(sort $(subdirs) $(shell cat $(sysdep-Subdir-files)))
-endif
+sysdep-dist := $(foreach file,$(+sysdep-distfiles),\
- $(addprefix $(dir $(file)),$(shell cat $(file)))) \
+ $(addprefix $(dir $(file)), \
+ $(shell sed -e 's/\#.*$$//' $(file)))) \
$(+sysdep-distfiles) \
$(sysdep-Subdir-files)
foo:=$(shell echo '+sysdep-dist=$(+sysdep-dist)' >&2)
+tsrcs := $(+tsrcs) $(+sysdep-tsrcs)
-%/configure: %/configure.in
- autoconf $(ACFLAGS) $< > $@.new
- mv $@.new $@
+define autoconf-it
+autoconf $(ACFLAGS) $< > $@.new
+mv -f $@.new $@
+test ! -d CVS || cvs commit -m'Regenerated: autoconf $(ACFLAGS) $<' $@
+endef
+
+configure: configure.in; $(autoconf-it)
+%/configure: %/configure.in; $(autoconf-it)
.PHONY: dist
dist: $(tardir).tar.gz $(tardir)-crypt.tar.gz
tar chvf $@ $(addprefix $(tardir)/,$(filter-out $(tardir),$^))
$(tardir).tar: dist.tar subdir_dist
- tar xf $< -C /tmp
+ tar xfv $< -C /tmp | doschk
tar covf $@ -C /tmp $(tardir)
-rm -fr /tmp/$(tardir) &
%.gz: %
gzip -9 -v -c $< > $@
-foo:=$(shell echo 'subdirs=$(subdirs)' >&2)
+foo:=$(shell echo subdirs=$(subdirs) >&2)
dist-subdirs := $(addprefix dist-,$(subdirs)) # dist-manual
.PHONY: subdir_dist $(dist-subdirs)
subdir_dist: $(dist-subdirs)
sed -e 's/RELEASE/$(release)/' -e 's/VERSION/$(version)/' < $< > $@
# Make it unwritable so I won't change it by mistake.
chmod 444 $@
+ test ! -d CVS || commit -m'Remade for $(release)-$(version)' $@
endif # Subdirectory vs. parent makefile
# Fnord.
export inhibit_mach_syscalls=t
export no_deps=t
+export inhibit_interface_rules=t