summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--Makerules10
-rw-r--r--dlfcn/Makefile2
-rw-r--r--elf/Makefile8
-rw-r--r--nptl/Makefile3
5 files changed, 22 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index 3fa59bb131..3c4007057d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2005-10-16  Daniel Jacobowitz  <dan@codesourcery.com>
+	    Roland McGrath  <roland@redhat.com>
+
+	* Makerules [module-names] (extra-modules-build): New variable.
+	($(extra-modules-build:%=$(objpfx)%.so)): New static pattern rule.
+	Depend on libc.so and libc_nonshared.a.
+	* dlfcn/Makefile ($(test-modules)): Remove static pattern rule.
+	* elf/Makefile (modules-names-nobuild): New variable, add filtmod1.
+	($(test-modules)): Remove static pattern rule.
+
 2005-10-15  Thomas Schwinge  <tschwinge@gnu.org>
 
 	* include/dirent.h: Include <stdbool.h>.
diff --git a/Makerules b/Makerules
index 37915599df..cc8c3d8700 100644
--- a/Makerules
+++ b/Makerules
@@ -665,14 +665,20 @@ include $(patsubst %,$(..)extra-lib.mk,$(extra-libs))
 endif
 
 
-# The makefile may define $(modules-names) # to build additional
-# modules.
+# The makefile may define $(modules-names) to build additional modules.
+# These are built with $(build-module), except any in $(modules-names-nobuild).
 ifdef modules-names
 # extra-lib.mk is included once for each extra lib to define rules
 # to build it, and to add its objects to the various variables.
 # During its evaluation, $(lib) is set to the name of the library.
 extra-modules-left := $(modules-names)
 include $(patsubst %,$(..)extra-modules.mk,$(modules-names))
+
+extra-modules-build := $(filter-out $(modules-names-nobuild),$(modules-names))
+$(extra-modules-build:%=$(objpfx)%.so): $(objpfx)%.so: \
+		$(objpfx)$(module).os $(common-objpfx)shlib.lds \
+		$(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a
+	$(build-module)
 endif
 
 +depfiles := $(sources:.c=.d) \
diff --git a/dlfcn/Makefile b/dlfcn/Makefile
index 3f1a8fa6ae..bfa181528b 100644
--- a/dlfcn/Makefile
+++ b/dlfcn/Makefile
@@ -68,8 +68,6 @@ generated := $(modules-names:=.so)
 include ../Rules
 
 test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(modules-names)))
-$(test-modules): $(objpfx)%.so: $(objpfx)%.os $(common-objpfx)shlib.lds
-	$(build-module)
 
 ifeq ($(build-shared),yes)
 # Build all the modules even when not actually running test programs.
diff --git a/elf/Makefile b/elf/Makefile
index 123b448ff1..91fb218ccd 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -223,6 +223,10 @@ extra-objs += $(addsuffix .os,$(strip $(modules-names)))
 # We need this variable to be sure the test modules get the right CPPFLAGS.
 test-extras += $(modules-names)
 
+# filtmod1.so has a special rule
+modules-names-nobuild := filtmod1
+
+
 include ../Rules
 
 check-abi: check-abi-ld
@@ -490,10 +494,6 @@ reldep9mod1.so-no-z-defs = yes
 unload3mod4.so-no-z-defs = yes
 unload4mod1.so-no-z-defs = yes
 
-# filtmod1.so has a special rule
-$(filter-out $(objpfx)filtmod1.so, $(test-modules)): $(objpfx)%.so: $(objpfx)%.os
-	$(build-module)
-
 ifeq ($(build-shared),yes)
 # Build all the modules even when not actually running test programs.
 tests: $(test-modules)
diff --git a/nptl/Makefile b/nptl/Makefile
index e3c16dd7c6..7602c50c4d 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -295,9 +295,6 @@ tst-tls5modd.so-no-z-defs = yes
 tst-tls5mode.so-no-z-defs = yes
 tst-tls5modf.so-no-z-defs = yes
 
-$(test-modules): $(objpfx)%.so: $(objpfx)%.os $(common-objpfx)shlib.lds
-	$(build-module)
-
 ifeq ($(build-shared),yes)
 # Build all the modules even when not actually running test programs.
 tests: $(test-modules)