summaryrefslogtreecommitdiff
path: root/libpthread/linuxthreads
diff options
context:
space:
mode:
authorPeter S. Mazinger <ps.m@gmx.net>2005-10-11 23:05:36 +0000
committerPeter S. Mazinger <ps.m@gmx.net>2005-10-11 23:05:36 +0000
commit998913a5ce37f97c69be8ee7f57a3ad8478c8a80 (patch)
tree20768f292f19cfdc8f3767efa9cc62afe95b1dcd /libpthread/linuxthreads
parent99720814c3efa11dd1df59c4bd978e73b6f1ba18 (diff)
Do not defer expansions where useless, like CSRC/OBJS/LIB_NAME/AR_LIB_NAME, defer only for shared lib related stuff, because it is optional. Run STRIPTOOL only once. More use of /$^/$<.
Diffstat (limited to 'libpthread/linuxthreads')
-rw-r--r--libpthread/linuxthreads/Makefile49
1 files changed, 22 insertions, 27 deletions
diff --git a/libpthread/linuxthreads/Makefile b/libpthread/linuxthreads/Makefile
index d5637eccf..796cd60c3 100644
--- a/libpthread/linuxthreads/Makefile
+++ b/libpthread/linuxthreads/Makefile
@@ -28,28 +28,28 @@ CFLAGS :=$(CFLAGS:-O0=-O1)
# Get the thread include dependencies
CFLAGS += $(PTINC)
-ARCH_CFLAGS = $(CFLAGS)
+ARCH_CFLAGS := $(CFLAGS)
ifeq ($(strip $(UCLIBC_CTOR_DTOR)),y)
- SHARED_START_FILES = $(TOPDIR)lib/crti.o $(LIBGCC_DIR)crtbeginS.o
- SHARED_END_FILES = $(LIBGCC_DIR)crtendS.o $(TOPDIR)lib/crtn.o
+SHARED_START_FILES := $(TOPDIR)lib/crti.o $(LIBGCC_DIR)crtbeginS.o
+SHARED_END_FILES := $(LIBGCC_DIR)crtendS.o $(TOPDIR)lib/crtn.o
endif
-LIB_NAME=libpthread
-AR_LIB_NAME=$(TOPDIR)lib/$(LIB_NAME).a
-SO_LIB_NAME=$(TOPDIR)lib/$(LIB_NAME).so
-SO_FULL_NAME=$(LIB_NAME)-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so
+LIB_NAME := libpthread
+AR_LIB_NAME := $(TOPDIR)lib/$(LIB_NAME).a
+SO_LIB_NAME = $(TOPDIR)lib/$(LIB_NAME).so
+SO_FULL_NAME = $(LIB_NAME)-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so
-ARCH_CSRC=$(wildcard sysdeps/$(TARGET_ARCH)/*.c)
-ARCH_OBJS=$(patsubst %.c,%.o, $(ARCH_CSRC))
+ARCH_CSRC := $(wildcard sysdeps/$(TARGET_ARCH)/*.c)
+ARCH_OBJS := $(patsubst %.c,%.o, $(ARCH_CSRC))
-include sysdeps/$(TARGET_ARCH)/Makefile.in
-CSRC = $(wildcard *.c)
+CSRC = $(wildcard *.c)
ifneq ($(strip $(UCLIBC_HAS_XLOCALE)),y)
CSRC := $(filter-out locale.c,$(CSRC))
endif
-OBJS=$(patsubst %.c,%.o, $(CSRC))
+OBJS := $(patsubst %.c,%.o, $(CSRC))
ifeq ($(strip $(HAVE_SHARED)),y)
all: $(SO_LIB_NAME)
@@ -59,34 +59,29 @@ endif
$(AR_LIB_NAME): $(OBJS) $(ARCH_OBJS)
$(INSTALL) -d $(TOPDIR)lib
- $(RM) $(AR_LIB_NAME)
- $(AR) $(ARFLAGS) $(AR_LIB_NAME) $(OBJS)
- $(AR) $(ARFLAGS) $(AR_LIB_NAME) $(ARCH_OBJS)
+ $(RM) $@
+ifeq ($(strip $(PTHREADS_DEBUG_SUPPORT)),y)
+ $(STRIPTOOL) -X --strip-debug -R .note -R .comment $^
+else
+ $(STRIPTOOL) -x -R .note -R .comment $^
+endif
+ $(AR) $(ARFLAGS) $@ $(OBJS)
+ $(AR) $(ARFLAGS) $@ $(ARCH_OBJS)
$(SO_LIB_NAME): $(AR_LIB_NAME)
- $(RM) $(TOPDIR)lib/$(SO_FULL_NAME) $(SO_LIB_NAME).$(MAJOR_VERSION) $(SO_LIB_NAME)
+ $(RM) $(TOPDIR)lib/$(SO_FULL_NAME) $(SO_LIB_NAME).$(MAJOR_VERSION) $@
$(LD) $(LDFLAGS_NOSTRIP) -soname=$(LIB_NAME).so.$(MAJOR_VERSION) \
- -o $(TOPDIR)lib/$(SO_FULL_NAME) $(SHARED_START_FILES) --whole-archive $(AR_LIB_NAME) \
+ -o $(TOPDIR)lib/$(SO_FULL_NAME) $(SHARED_START_FILES) --whole-archive $< \
--no-whole-archive $(TOPDIR)libc/misc/internals/interp.o \
-L$(TOPDIR)lib -lc $(LDADD_LIBFLOAT) $(LIBGCC) $(SHARED_END_FILES)
$(LN) -sf $(SO_FULL_NAME) $(SO_LIB_NAME).$(MAJOR_VERSION)
- $(LN) -sf $(SO_FULL_NAME) $(SO_LIB_NAME)
+ $(LN) -sf $(SO_FULL_NAME) $@
$(OBJS): %.o : %.c
$(CC) $(CFLAGS) -c $< -o $@
-ifeq ($(strip $(PTHREADS_DEBUG_SUPPORT)),y)
- $(STRIPTOOL) -X --strip-debug -R .note -R .comment $*.o
-else
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-endif
$(ARCH_OBJS): %.o : %.c
$(CC) $(ARCH_CFLAGS) -c $< -o $@
-ifeq ($(strip $(PTHREADS_DEBUG_SUPPORT)),y)
- $(STRIPTOOL) -X --strip-debug -R .note -R .comment $*.o
-else
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-endif
clean:
$(RM) *.o sysdeps/*/*.o *~ core