+Fri Aug 30 13:39:21 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
+
+ * Makerules (BUILD_CFLAGS): Use @(common-objpfx) for config.h, not
+ $(..). Some rules (like sysdeps/posix/Makefile for mk-stdiolim)
+ do `cd' commands.
+ (sed-remove-objpfx): Don't substitute for $(objpfx) anymore;
+ $(common-objpfx) is good enough.
+ * Rules (common-generated): Provide default (empty) value.
+ (dummy.o, dummy.c, empty.o, empty.c): Put these in
+ $(common-generated), not $(generated), and without $(..).
+ (subdir_echo-distinfo): Treat $(common-generated) just like
+ $(generated).
+ (generated): Depend on the (suitably mutated) $(common-generated)
+ files too.
+ * Makerules (common-clean): Remove common-generated files too.
+ * sysdeps/mach/hurd/Makefile (generated): Don't put errnos.d and
+ stamp-errnos here.
+ (common-generated): Do put errnos.d and stamp-errnos here.
+ (rpath-link): Don't use +=; $(rpath-link) is a colon separated list.
+
+ * sysdeps/mach/hurd/Makefile (before-compile): Add auth; also add
+ auth to following rule to get it built.
+
Fri Aug 30 01:26:44 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/Dist: Add close.S.
* Rules (dep-dummy-lib): Use $(common-objpfx) to avoid creating to
more than once.
($(objpfx)dummy.c, $(objpfx)empty.c): Change target name to use
- $(common-objfpx). All uses in dependency lists changed.
+ $(common-objpfx). All uses in dependency lists changed.
(generated): Prepend $(..) to names.
* bare/Makefile ($(objpfx)lib$(config-vendor).a): Remove $(objpfx)
from $@.
ifneq (,$(objpfx))
# Continuation lines here are dangerous because they introduce spaces!
define sed-remove-objpfx
--e 's@ $(subst .,\.,$(subst @,\@,$(objpfx)))@ $$(objpfx)@g' \
--e 's@^$(subst .,\.,$(subst @,\@,$(objpfx)))@$$(objpfx)@g' \
-e 's@ $(subst .,\.,$(subst @,\@,$(common-objpfx)))@ $$(common-objpfx)@g' \
-e 's@^$(subst .,\.,$(subst @,\@,$(common-objpfx)))@$$(common-objpfx)@g'
endef
endef
# We always want to use configuration definitions.
-BUILD_CFLAGS = -include $(..)config.h
+BUILD_CFLAGS = -include $(common-objpfx)config.h
# Support the GNU standard name for this target.
.PHONY: check
# Also remove the dependencies and generated source files.
common-clean: common-mostlyclean
-rm -f $(addprefix $(objpfx),$(generated)) $(+depfiles)
+ -rm -f $(addprefix $(common-objpfx),$(common-generated))
-rm -f $(common-objpfx)distinfo-$(subdir)
\f
# Produce a file `stub-$(subdir)' which contains `#define __stub_FUNCTION'
generated :=
endif
+ifneq "$(findstring env,$(origin common-generated))" ""
+common-generated :=
+endif
+
ifeq "$(strip $(headers))" ""
ifneq "$(wildcard $(subdir).h)" ""
override headers := $(subdir).h
echo 'void __dummy__ () { }' > $@
$(common-objpfx)empty.c:
cp -f /dev/null $@
-generated := $(generated) $(..)dummy.o $(..)dummy.c $(..)empty.c $(..)empty.o
+common-generated := $(common-generated) dummy.o dummy.c empty.c empty.o
\f
# This makes all the auxilliary and test programs.
.PHONY: subdir_echo-distinfo
subdir_echo-distinfo:
@echo $(addprefix +header+,$(headers)) \
- $(addprefix +nodist+,$(generated) $(dont_distribute))
+ $(addprefix +nodist+,$(generated) $(common-generated) $(dont_distribute))
# We want to install everything except the library itself, but update all
# our portions of the library because the parent make will install it later
# Convenient target to update all the generated source files.
.PHONY: generated
-generated: $(addprefix $(objpfx),$(generated))
+generated: $(addprefix $(objpfx),$(generated))
+generated: $(addprefix $(common-objpfx),$(common-generated))
ifndef libc.so-version
# Undefine this because it can't work when we libc.so is unversioned.
#undef _EXTERN_INLINE
#define _EXTERN_INLINE /* Define the real function. */
+#include "hurd.h"
#include "hurd/fd.h"
#include "hurd/signal.h"
#include "hurd/userlink.h"
hurd-objpfx = $(common-objpfx)hurd/
# These are all the generated headers that <hurd.h> includes.
-before-compile += $(patsubst %,$(hurd-objpfx)hurd/%.h,io fs process)
-$(patsubst %,$(hurd-objpfx)hurd/%.%,io fs process):
+before-compile += $(patsubst %,$(hurd-objpfx)hurd/%.h,auth io fs process)
+$(patsubst %,$(hurd-objpfx)hurd/%.%,auth io fs process):
$(MAKE) -C $(..)hurd generated no_deps=t
endif
+
\f
# Generate errnos.h from the section of the manual that lists all the errno
# codes.
test ! -d CVS || \
(cd $(hurd); cvs commit -m'Regenerated from $^' errnos.h)
touch $@
-generated += errnos.d stamp-errnos
+
+common-generated += errnos.d stamp-errnos
\f
# We install the real libc.a as libcrt.a and as libc.a we install a linker
# script which does -( -lcrt -lmachuser -lhurduser -).
rpcuserlibs := $(common-objpfx)mach/libmachuser.so \
$(common-objpfx)hurd/libhurduser.so
$(common-objpfx)libc.so: $(rpcuserlibs)
-rpath-link += $(common-objpfx)mach:$(common-objpfx)hurd
+rpath-link := $(rpath-link):$(common-objpfx)mach:$(common-objpfx)hurd
# The RPC stubs from these libraries are needed in building the dynamic
# linker, too. It must be self-contained, so we link the needed PIC