OSDN Git Service

touchup the dependencies so that the sysdeps object files will override the toplevel...
authorMike Frysinger <vapier@gentoo.org>
Wed, 19 Jan 2005 23:38:33 +0000 (23:38 -0000)
committerMike Frysinger <vapier@gentoo.org>
Wed, 19 Jan 2005 23:38:33 +0000 (23:38 -0000)
libpthread/linuxthreads/Makefile

index 35b8ad5..766c0f1 100644 (file)
@@ -22,8 +22,8 @@ TOPDIR=../../
 include $(TOPDIR)Rules.mak
 
 # As long as there is only one subdir, we don't 
-# have to worry about race conditions with multiple
-# $(AR)'s running on linuxthreads.a
+# have to worry about race conditions with multiple 
+# $(AR)'s in subdirs running on linuxthreads.a.
 DIRS = sysdeps
 
 #Adjust the soname version to avoid namespace collisions with glibc's libpthread
@@ -60,9 +60,13 @@ endif
 COBJS=$(patsubst %.c,%.o, $(CSRC))
 OBJS=$(COBJS)
 
-all: $(LIBPTHREAD)
+# We need to make sure that we put all the top-level $(OBJS) into
+# our archive before executing subdirs.  That way, when $(AR) is 
+# run in the subdirs, it'll bump the generic top-level objects 
+# out of our archive in favor of the machine-specific ones.
+all: $(LIBPTHREAD) subdirs
 
-$(LIBPTHREAD) ar-target: $(OBJS) subdirs
+$(LIBPTHREAD) ar-target: $(OBJS)
        $(AR) $(ARFLAGS) $(LIBPTHREAD) $(OBJS)
 
 $(COBJS): %.o : %.c
@@ -76,7 +80,7 @@ endif
 clean: subdirs_clean
        $(RM) *.[oa] *~ core
 
-subdirs: $(patsubst %, _dir_%, $(DIRS))
+subdirs: $(patsubst %, _dir_%, $(DIRS)) $(LIBPTHREAD)
 subdirs_clean: $(patsubst %, _dirclean_%, $(DIRS))
 
 $(patsubst %, _dir_%, $(DIRS)) : dummy