diff --git a/Makerules b/Makerules index e2f7f22a4b..a4acb89571 100644 --- a/Makerules +++ b/Makerules @@ -1181,7 +1181,7 @@ define check-abi | diff -pu0 - $(filter %.symlist,$^) endef -ifeq ($(sysd-sorted-done),t) +ifeq ($(sysd-sorted-done)$(generating),t) -include $(common-objpfx)tls.make config-tls-yes := tls config-tls-no := notls diff --git a/mach/Makefile b/mach/Makefile index db7f3aa628..563c792078 100644 --- a/mach/Makefile +++ b/mach/Makefile @@ -71,11 +71,9 @@ generated = mach-machine = $(patsubst powerpc,ppc,$(base-machine)) # Define mach-syscalls and sysno-*. -ifndef no_deps ifndef inhibit_mach_syscalls -include $(objpfx)mach-syscalls.mk endif -endif $(objpfx)mach-syscalls.mk: syscalls.awk Makefile # Go kludges!!! $(make-target-directory) @@ -172,3 +170,6 @@ $(objpfx)errsystems.c: errsystems.awk err_*.sub \ .PHONY: generated generated: $(addprefix $(common-objpfx),$(common-generated)) \ $(addprefix $(objpfx),$(generated)) + +.PHONY: mach-before-compile +mach-before-compile: $(mach-before-compile) diff --git a/sysdeps/mach/Makefile b/sysdeps/mach/Makefile index 4d4e4c01e2..af2c273e45 100644 --- a/sysdeps/mach/Makefile +++ b/sysdeps/mach/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1993,94,96,97,2002 Free Software Foundation, Inc. +# Copyright (C) 1993,1994,1996,1997,2002,2003 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 @@ -27,6 +27,9 @@ ifneq (mach,$(subdir)) # So make sure we get a chance to run in mach/ to make them before all else. mach-objpfx = $(common-objpfx)mach/ +else +mach-objpfx = $(objpfx) +endif # These are all the generated files that includes. # Actually, it's only some of them. We omit mach_interface.h @@ -37,10 +40,11 @@ mach-before-compile := $(mach-objpfx)mach-shortcuts.h \ $(patsubst %,$(mach-objpfx)mach/mach_%.h,\ port host) +ifneq (mach,$(subdir)) # This patsubst generates patterns like `m%h-shortcuts.h', which are damn # likely to match just the corresponding particular file we want. $(patsubst mach%,m\%h%,$(mach-before-compile)): # Run only if doesn't exist. - $(MAKE) -C $(..)mach generated no_deps=t + $(MAKE) -C $(..)mach mach-before-compile no_deps=t generating=t before-compile += $(mach-before-compile) endif diff --git a/sysdeps/mach/hurd/Makefile b/sysdeps/mach/hurd/Makefile index 6e03643381..c86e220c2f 100644 --- a/sysdeps/mach/hurd/Makefile +++ b/sysdeps/mach/hurd/Makefile @@ -48,7 +48,8 @@ hurd-objpfx = $(common-objpfx)hurd/ # These are all the generated headers that includes. before-compile += $(patsubst %,$(hurd-objpfx)hurd/%.h,auth io fs process) -$(patsubst %,$(hurd-objpfx)hurd/%.%,auth io fs process): +$(patsubst %,$(hurd-objpfx)hurd/%.%,auth io fs process): \ + $(common-objpfx)mach/mach-shortcuts.h $(MAKE) -C $(..)hurd before-compile no_deps=t endif