aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile4
-rw-r--r--Rules.mak18
2 files changed, 8 insertions, 14 deletions
diff --git a/Makefile b/Makefile
index d43360d32..80d560861 100644
--- a/Makefile
+++ b/Makefile
@@ -280,8 +280,8 @@ $(LIBBUSYBOX_SONAME):
ifndef MAJOR_VERSION
$(error MAJOR_VERSION needed for $@ is not defined)
endif
- $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(LDFLAGS) -shared \
- $(CFLAGS_PIC) \
+ $(CC) $(CFLAGS) $(LIB_CFLAGS) $(EXTRA_CFLAGS) $(LDFLAGS) \
+ $(LIB_LDFLAGS) \
-Wl,-soname=$(LD_LIBBUSYBOX).$(MAJOR_VERSION) \
-Wl,-z,combreloc $(LIB_LDFLAGS) \
-o $(@) \
diff --git a/Rules.mak b/Rules.mak
index d1995de81..4ad4dc451 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -118,13 +118,7 @@ check_gcc=$(shell \
# A not very robust macro to check for available ld flags
check_ld=$(shell \
if [ "x$(1)" != "x" ]; then \
- $(LD) --help | grep -q \\$(1) && echo "-Wl,$(1)$(2)" ; \
- fi)
-
-# A not very robust macro to check for available as flags
-check_as=$(shell \
- if [ "x$(1)" != "x" ]; then \
- $(AS) --help | grep -q "\\$(1)" && echo "-Wa,$(1)$(2)" ; \
+ $(LD) --help | grep -q "\$(1)" && echo "-Wl,$(1)" ; \
fi)
@@ -213,19 +207,19 @@ else
endif
ifeq ($(strip $(CONFIG_DEBUG)),y)
CFLAGS +=$(WARNINGS) -g -D_GNU_SOURCE
- LDFLAGS += $(call check_ld,-warn-common,)
+ LDFLAGS += $(call check_ld,--warn-common,)
STRIPCMD:=/bin/true -Not_stripping_since_we_are_debugging
else
CFLAGS+=$(WARNINGS) $(OPTIMIZATIONS) -D_GNU_SOURCE -DNDEBUG
- LDFLAGS += $(call check_ld,-warn-common,)
+ LDFLAGS += $(call check_ld,--warn-common,)
LDFLAGS += $(call check_ld,--sort-common,)
STRIPCMD:=$(STRIP) -s --remove-section=.note --remove-section=.comment
endif
ifeq ($(strip $(CONFIG_STATIC)),y)
- LDFLAGS += $(call check_ld,--static,)
-#else
-# LIBRARIES += -ldl
+ PROG_CFLAGS += $(call check_gcc,-static,)
endif
+CFLAGS_SHARED += $(call check_gcc,-shared,)
+LIB_CFLAGS+=$(CFLAGS_SHARED)
ifeq ($(strip $(CONFIG_BUILD_LIBBUSYBOX)),y)
CFLAGS_PIC:= $(call check_gcc,-fPIC,)