X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=extra-lib.mk;h=b10748d185caf5f299cc0871b54f0b2c6b1cd040;hb=53fbd16918791258ebc1684b1a1afd543b814780;hp=5428523e06d13d8025fb827061129068ad35d3fd;hpb=0a951d0e31b5fb34f7e0428e933d7df55ef7f94d;p=platform%2Fupstream%2Fglibc.git diff --git a/extra-lib.mk b/extra-lib.mk index 5428523..b10748d 100644 --- a/extra-lib.mk +++ b/extra-lib.mk @@ -11,6 +11,12 @@ extra-libs-left := $(filter-out $(lib),$(extra-libs-left)) object-suffixes-$(lib) := $(filter-out $($(lib)-inhibit-o),$(object-suffixes)) +ifneq (,$($(lib)-static-only-routines)) +ifneq (,$(filter yes%,$(build-shared)$($(lib).so-version))) +object-suffixes-$(lib) += $(filter-out $($(lib)-inhibit-o),.oS) +endif +endif + ifneq (,$(object-suffixes-$(lib))) # Make sure these are simply-expanded variables before we append to them, @@ -23,12 +29,17 @@ all-$(lib)-routines := $($(lib)-routines) $($(lib)-sysdep_routines) # Add each flavor of library to the lists of things to build and install. install-lib += $(foreach o,$(object-suffixes-$(lib)),$(lib:lib%=$(libtype$o))) -extra-objs += $(foreach o,$(object-suffixes-$(lib):.os=),\ +extra-objs += $(foreach o,$(filter-out .os .oS,$(object-suffixes-$(lib))),\ $(patsubst %,%$o,$(filter-out \ $($(lib)-shared-only-routines),\ $(all-$(lib)-routines)))) ifneq (,$(filter .os,$(object-suffixes-$(lib)))) -extra-objs += $(all-$(lib)-routines:%=%.os) +extra-objs += $(patsubst %,%.os,$(filter-out $($(lib)-static-only-routines),\ + $(all-$(lib)-routines))) +endif +ifneq (,$(filter .oS,$(object-suffixes-$(lib)))) +extra-objs += $(patsubst %,%.oS,$(filter $($(lib)-static-only-routines),\ + $(all-$(lib)-routines))) endif alltypes-$(lib) := $(foreach o,$(object-suffixes-$(lib)),\ $(objpfx)$(patsubst %,$(libtype$o),\ @@ -51,7 +62,7 @@ endif # Use o-iterator.mk to generate a rule for each flavor of library. -ifneq (,$(filter-out .os,$(object-suffixes-$(lib)))) +ifneq (,$(filter-out .os .oS,$(object-suffixes-$(lib)))) define o-iterator-doit $(objpfx)$(patsubst %,$(libtype$o),$(lib:lib%=%)): \ $(patsubst %,$(objpfx)%$o,\ @@ -59,17 +70,27 @@ $(objpfx)$(patsubst %,$(libtype$o),$(lib:lib%=%)): \ $(all-$(lib)-routines))); \ $$(build-extra-lib) endef -object-suffixes-left = $(object-suffixes-$(lib):.os=) -include $(patsubst %,$(..)o-iterator.mk,$(object-suffixes-$(lib):.os=)) +object-suffixes-left = $(filter-out .os .oS,$(object-suffixes-$(lib))) +include $(patsubst %,$(..)o-iterator.mk,$(object-suffixes-left)) endif ifneq (,$(filter .os,$(object-suffixes-$(lib)))) $(objpfx)$(patsubst %,$(libtype.os),$(lib:lib%=%)): \ - $(all-$(lib)-routines:%=$(objpfx)%.os) + $(patsubst %,$(objpfx)%.os,\ + $(filter-out $($(lib)-static-only-routines),\ + $(all-$(lib)-routines))) $(build-extra-lib) endif -ifeq ($(versioning),yes) +ifneq (,$(filter .oS,$(object-suffixes-$(lib)))) +$(objpfx)$(patsubst %,$(libtype.oS),$(lib:lib%=%)): \ + $(patsubst %,$(objpfx)%.oS,\ + $(filter $($(lib)-static-only-routines),\ + $(all-$(lib)-routines))) + $(build-extra-lib) +endif + +ifeq ($(build-shared),yes) # Add the version script to the dependencies of the shared library. $(objpfx)$(lib).so: $(firstword $($(lib)-map) \ $(addprefix $(common-objpfx), \ @@ -84,5 +105,3 @@ cpp-srcs-left := $($(lib)-routines) $($(lib)-sysdep_routines) ifneq (,$(cpp-srcs-left)) include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left)) endif - -CPPFLAGS-$(lib) := -DNOT_IN_libc=1 -DIS_IN_$(lib)=1