diff options
Diffstat (limited to 'solenv/gbuild/platform/solaris.mk')
-rwxr-xr-x | solenv/gbuild/platform/solaris.mk | 64 |
1 files changed, 38 insertions, 26 deletions
diff --git a/solenv/gbuild/platform/solaris.mk b/solenv/gbuild/platform/solaris.mk index f4b431438c25..631f05cd5d75 100755 --- a/solenv/gbuild/platform/solaris.mk +++ b/solenv/gbuild/platform/solaris.mk @@ -138,9 +138,9 @@ $(call gb_Helper_abbreviate_dirs,\ -o $(1) \ -xMMD \ -xMF $(call gb_CObject_get_dep_target,$(2)) \ - $(4) $(5) \ + $(DEFS) $(CFLAGS) \ -I$(dir $(3)) \ - $(6)) + $(INCLUDE)) endef @@ -152,13 +152,13 @@ $(call gb_Helper_abbreviate_dirs,\ mkdir -p $(dir $(1)) && \ mkdir -p $(dir $(call gb_CxxObject_get_dep_target,$(2))) && \ $(gb_CXX) \ - $(4) $(5) \ + $(DEFS) $(CXXFLAGS) \ -c $(3) \ -o $(1) \ -xMMD \ -xMF $(call gb_CxxObject_get_dep_target,$(2)) \ -I$(dir $(3)) \ - $(6)) + $(INCLUDE_STL) $(INCLUDE)) endef @@ -187,34 +187,31 @@ endif gb_LinkTarget_INCLUDE := $(filter-out %/stl, $(subst -I. , ,$(SOLARINC))) gb_LinkTarget_INCLUDE_STL := $(filter %/stl, $(subst -I. , ,$(SOLARINC))) -# parameters: 1-linktarget 2-targettype 3-ldflags 4-linked-libs 5-linked-static-libs 6-cobjects 7-cxxobjects define gb_LinkTarget__command_dynamiclink $(call gb_Helper_abbreviate_dirs,\ mkdir -p $(dir $(1)) && \ $(gb_CXX) \ - $(if $(filter Library CppunitTest,$(2)),$(gb_Library_TARGETTYPEFLAGS) $(call gb_Library_get_rpath,$(1))) \ - $(if $(filter Executable,$(2)),$(call gb_Executable_get_rpath,$(1))) \ - $(3) \ - $(patsubst lib%.so,-l%,$(foreach lib,$(4),$(call gb_Library_get_filename,$(lib)))) \ - $(foreach object,$(6),$(call gb_CObject_get_target,$(object))) \ - $(foreach object,$(7),$(call gb_CxxObject_get_target,$(object))) \ - $(foreach lib,$(5),$(call gb_StaticLibrary_get_target,$(lib))) \ + $(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \ + $(RPATH) $(LDFLAGS) \ + $(patsubst lib%.so,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib)))) \ + $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \ + $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \ + $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) \ -o $(1)) endef -# parameters: 1-linktarget 2-cobjects 3-cxxobjects define gb_LinkTarget__command_staticlink $(call gb_Helper_abbreviate_dirs,\ mkdir -p $(dir $(1)) && \ $(gb_AR) -rsu $(1) \ - $(foreach object,$(2),$(call gb_CObject_get_target,$(object))) \ - $(foreach object,$(3),$(call gb_CxxObject_get_target,$(object))) 2> /dev/null) + $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \ + $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) 2> /dev/null) endef define gb_LinkTarget__command $(call gb_Output_announce,$(2),$(true),LNK,4) -$(if $(filter Library CppunitTest Executable,$(3)),$(call gb_LinkTarget__command_dynamiclink,$(1),$(3),$(4),$(5),$(6),$(7),$(8))) -$(if $(filter StaticLibrary,$(3)),$(call gb_LinkTarget__command_staticlink,$(1),$(7),$(8))) +$(if $(filter Library CppunitTest Executable,$(TARGETTYPE)),$(call gb_LinkTarget__command_dynamiclink,$(1))) +$(if $(filter StaticLibrary,$(TARGETTYPE)),$(call gb_LinkTarget__command_staticlink,$(1))) endef # Library class @@ -260,12 +257,6 @@ gb_Library_FILENAMES := \ $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):$(gb_Library_UNOVERPRE)$(lib)$(gb_Library_PLAINEXT)) \ -gb_Library_Library_platform = - -define gb_Library_get_rpath -'-R$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Library_get_layer,$(1)))' -endef - gb_Library_LAYER := \ $(foreach lib,$(gb_Library_OOOLIBS),$(lib):OOOLIB) \ $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):URELIB) \ @@ -277,6 +268,15 @@ gb_Library_LAYER := \ $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):OOOLIB) \ $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):URELIB) \ +define gb_Library_get_rpath +'-R$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Library_get_layer,$(1)))' +endef + +define gb_Library_Library_platform +$(call gb_LinkTarget_get_target,$(2)) : RPATH := $(call gb_Library_get_rpath,$(1)) + +endef + # StaticLibrary class @@ -291,15 +291,15 @@ gb_StaticLibrary_FILENAMES := \ gb_StaticLibrary_StaticLibrary_platform = + # Executable class gb_Executable_EXT := -gb_Executable_Executable_platform = gb_Executable_LAYER := \ $(foreach exe,$(gb_Executable_UREBIN),$(exe):UREBIN) \ $(foreach exe,$(gb_Executable_SDK),$(exe):SDKBIN) \ - $(foreach exe,$(gb_Executable_OOO),$(exe):OOOLIB) \ + $(foreach exe,$(gb_Executable_OOO),$(exe):OOO) \ $(foreach exe,$(gb_Executable_BRAND),$(exe):BRAND) \ $(foreach exe,$(gb_Executable_NONE),$(exe):NONEBIN) \ @@ -308,6 +308,11 @@ define gb_Executable_get_rpath '-R$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Executable_get_layer,$(1)))' endef +define gb_Executable_Executable_platform +$(call gb_LinkTarget_get_target,$(2)) : RPATH := $(call gb_Executable_get_rpath,$(1)) + +endef + # CppunitTest class @@ -316,6 +321,12 @@ gb_CppunitTest_SYSPRE := libtest_ gb_CppunitTest_EXT := .so gb_CppunitTest_get_filename = $(gb_CppunitTest_SYSPRE)$(1)$(gb_CppunitTest_EXT) +define gb_CppunitTest_CppunitTest_platform +$(call gb_LinkTarget_get_target,$(2)) : RPATH := + +endef + + # SdiTarget class gb_SdiTarget_SVIDLPRECOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib @@ -334,7 +345,8 @@ gb_SrsPartTarget_RSCCOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib SOLARBINDIR=$(OUTDI define gb_SrsPartTarget__command_dep $(call gb_Helper_abbreviate_dirs_native,\ $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \ - $(3) $(4) \ + $(INCLUDE) \ + $(DEFS) \ $(2) \ -f - \ | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \ |