diff options
author | Peter S. Mazinger <ps.m@gmx.net> | 2005-10-11 23:05:36 +0000 |
---|---|---|
committer | Peter S. Mazinger <ps.m@gmx.net> | 2005-10-11 23:05:36 +0000 |
commit | 998913a5ce37f97c69be8ee7f57a3ad8478c8a80 (patch) | |
tree | 20768f292f19cfdc8f3767efa9cc62afe95b1dcd /libpthread/linuxthreads | |
parent | 99720814c3efa11dd1df59c4bd978e73b6f1ba18 (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/Makefile | 49 |
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 |