Explorar el Código

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

Mike Frysinger hace 21 años
padre
commit
a0fa906aad
Se han modificado 1 ficheros con 9 adiciones y 5 borrados
  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