فهرست منبع

touchup the dependencies so that the sysdeps object files will override the toplevel linuxthreads generic object files

Mike Frysinger 20 سال پیش
والد
کامیت
a0fa906aad
1فایلهای تغییر یافته به همراه9 افزوده شده و 5 حذف شده
  1. 9 5
      libpthread/linuxthreads/Makefile

+ 9 - 5
libpthread/linuxthreads/Makefile

@@ -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