summaryrefslogtreecommitdiff
path: root/solenv/gbuild/platform
diff options
context:
space:
mode:
authorBjoern Michaelsen <b_michaelsen@openoffice.org>2011-01-15 04:09:57 +0100
committerBjoern Michaelsen <b_michaelsen@openoffice.org>2011-01-15 04:09:57 +0100
commit0b86569a150c3b84bac512512a2dc4ccef4eb46d (patch)
treee7a54b0cc47b52885d1c1e588d19be98bc9d76c1 /solenv/gbuild/platform
parentfcc984d122bdf6512f8e3fd984d72b510c967943 (diff)
gnumake3: reducing differences between platform files
Diffstat (limited to 'solenv/gbuild/platform')
-rwxr-xr-xsolenv/gbuild/platform/linux.mk78
-rwxr-xr-xsolenv/gbuild/platform/macosx.mk79
-rwxr-xr-xsolenv/gbuild/platform/solaris.mk64
-rwxr-xr-xsolenv/gbuild/platform/windows.mk27
4 files changed, 143 insertions, 105 deletions
diff --git a/solenv/gbuild/platform/linux.mk b/solenv/gbuild/platform/linux.mk
index eabbe8740cc9..08d151685d5b 100755
--- a/solenv/gbuild/platform/linux.mk
+++ b/solenv/gbuild/platform/linux.mk
@@ -90,7 +90,6 @@ gb_CXXFLAGS := \
-Wendif-labels \
-Wextra \
-Wno-ctor-dtor-privacy \
- -Wno-long-double \
-Wno-non-virtual-dtor \
-Wreturn-type \
-Wshadow \
@@ -153,13 +152,13 @@ $(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $(1)) && \
mkdir -p $(dir $(call gb_CObject_get_dep_target,$(2))) && \
$(gb_CC) \
- $(4) $(5) \
+ $(DEFS) $(CFLAGS) \
-c $(3) \
-o $(1) \
-MMD -MT $(call gb_CObject_get_target,$(2)) \
-MF $(call gb_CObject_get_dep_target,$(2)) \
-I$(dir $(3)) \
- $(6))
+ $(INCLUDE))
endef
@@ -171,13 +170,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) \
-MMD -MT $(call gb_CxxObject_get_target,$(2)) \
-MF $(call gb_CxxObject_get_dep_target,$(2)) \
-I$(dir $(3)) \
- $(6))
+ $(INCLUDE_STL) $(INCLUDE))
endef
@@ -207,34 +206,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))) \
- -Wl$(COMMA)--start-group $(foreach lib,$(5),$(call gb_StaticLibrary_get_target,$(lib))) -Wl$(COMMA)--end-group \
+ $(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))) \
+ -Wl$(COMMA)--start-group $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) -Wl$(COMMA)--end-group \
-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
@@ -281,24 +277,27 @@ 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
-'-Wl,-rpath,$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Library_get_layer,$(1)))' \
--Wl,-rpath-link,$(gb_Library_OUTDIRLOCATION)
-endef
-
gb_Library_LAYER := \
- $(foreach lib,$(gb_Library_OOOLIBS),$(lib):OOOLIB) \
+ $(foreach lib,$(gb_Library_OOOLIBS),$(lib):OOO) \
$(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):URELIB) \
- $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):OOOLIB) \
- $(foreach lib,$(gb_Library_RTLIBS),$(lib):OOOLIB) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_RTLIBS),$(lib):OOO) \
$(foreach lib,$(gb_Library_RTVERLIBS),$(lib):URELIB) \
$(foreach lib,$(gb_Library_STLLIBS),$(lib):URELIB) \
$(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):URELIB) \
- $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):OOOLIB) \
+ $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):OOO) \
$(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):URELIB) \
+define gb_Library_get_rpath
+'-Wl,-rpath,$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Library_get_layer,$(1)))' \
+'-Wl,-rpath-link,$(gb_Library_OUTDIRLOCATION)'
+endef
+
+define gb_Library_Library_platform
+$(call gb_LinkTarget_get_target,$(2)) : RPATH := $(call gb_Library_get_rpath,$(1))
+
+endef
+
# StaticLibrary class
@@ -313,24 +312,29 @@ 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) \
define gb_Executable_get_rpath
-'-Wl,-rpath,$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Library_get_layer,$(1)))' \
+'-Wl,-rpath,$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Executable_get_layer,$(1)))' \
-Wl,-rpath-link,$(gb_Library_OUTDIRLOCATION)
endef
+define gb_Executable_Executable_platform
+$(call gb_LinkTarget_get_target,$(2)) : RPATH := $(call gb_Executable_get_rpath,$(1))
+
+endef
+
# CppunitTest class
@@ -339,6 +343,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
@@ -356,8 +366,8 @@ define gb_SrsPartTarget__command_dep
$(call gb_Helper_abbreviate_dirs,\
$(gb_GCCP) \
-MM -MT $(call gb_SrsPartTarget_get_target,$(1)) \
- $(3) \
- $(4) \
+ $(INCLUDE) \
+ $(DEFS) \
-c -x c++-header $(2) \
-o $(call gb_SrsPartTarget_get_dep_target,$(1)))
endef
diff --git a/solenv/gbuild/platform/macosx.mk b/solenv/gbuild/platform/macosx.mk
index 53d9a51862cd..737af4d04444 100755
--- a/solenv/gbuild/platform/macosx.mk
+++ b/solenv/gbuild/platform/macosx.mk
@@ -147,13 +147,13 @@ $(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $(1)) && \
mkdir -p $(dir $(call gb_CObject_get_dep_target,$(2))) && \
$(gb_CC) \
- $(4) $(5) \
+ $(DEFS) $(CFLAGS) \
-c $(3) \
-o $(1) \
-MMD -MT $(call gb_CObject_get_target,$(2)) \
-MF $(call gb_CObject_get_dep_target,$(2)) \
-I$(dir $(3)) \
- $(6))
+ $(INCLUDE))
endef
@@ -166,13 +166,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) \
-MMD -MT $(call gb_CxxObject_get_target,$(2)) \
-MF $(call gb_CxxObject_get_dep_target,$(2)) \
-I$(dir $(3)) \
- $(6))
+ $(INCLUDE_STL) $(INCLUDE))
endef
@@ -239,23 +239,22 @@ endef
# FIXME the DYLIB_FILE mess is only necessary because
# solver layout is different from installation layout
-# parameters: 1-linktarget 2-targettype 3-ldflags 4-linked-libs 5-linked-static-libs 6-cobjects 7-cxxobjects 8-objcxxobjects
define gb_LinkTarget__command_dynamiclink
$(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $(1)) && \
DYLIB_FILE=`$(gb_MKTEMP) $(dir $(1))` && \
- $(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl $(3) $(patsubst lib%.dylib,-l%,$(foreach lib,$(4),$(call gb_Library_get_filename,$(lib)))) > $${DYLIB_FILE} && \
+ $(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl $(LDFLAGS) $(patsubst lib%.dylib,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib)))) > $${DYLIB_FILE} && \
$(gb_CXX) \
- $(3) \
- $(call gb_LinkTarget__get_liblinkflags,$(4)) \
- $(foreach object,$(6),$(call gb_CObject_get_target,$(object))) \
- $(foreach object,$(7),$(call gb_CxxObject_get_target,$(object))) \
- $(foreach object,$(8),$(call gb_ObjCxxObject_get_target,$(object))) \
- $(foreach lib,$(5),$(call gb_StaticLibrary_get_target,$(lib))) \
+ $(RPATH) $(LDFLAGS) \
+ $(call gb_LinkTarget__get_liblinkflags,$(LINKED_LIBS)) \
+ $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
+ $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
+ $(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_target,$(object))) \
+ $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) \
-o $(1) \
`cat $${DYLIB_FILE}` && \
- $(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl $(2) $(call gb_LinkTarget__get_layer,$(2),$(1)) $(1) && \
- $(if $(filter-out Executable,$(2)),ln -sf $(1) $(patsubst %.dynlib,%.jnilib,$(1)) && )
+ $(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl $(TARGETTYPE) $(call gb_LinkTarget__get_layer,$(TARGETTYPE),$(1)) $(1) && \
+ $(if $(filter-out Executable,$(TARGETTYPE)),ln -sf $(1) $(patsubst %.dynlib,%.jnilib,$(1)) && )
rm -f $${DYLIB_FILE})
endef
@@ -264,16 +263,17 @@ 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),$(9)))
-$(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
gb_Library_DEFS :=
@@ -320,12 +320,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
-$(call gb_LinkTarget__get_installname,$(call gb_Library_get_filename,$(1)),$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Library_get_layer,$(1))))
-endef
-
gb_Library_LAYER := \
$(foreach lib,$(gb_Library_OOOLIBS),$(lib):OOO) \
$(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):URELIB) \
@@ -337,6 +331,15 @@ gb_Library_LAYER := \
$(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):OOO) \
$(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):URELIB) \
+define gb_Library_get_rpath
+$(call gb_LinkTarget__get_installname,$(call gb_Library_get_filename,$(1)),$(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
@@ -351,17 +354,12 @@ gb_StaticLibrary_FILENAMES := \
gb_StaticLibrary_StaticLibrary_platform =
+
# Executable class
gb_Executable_EXT :=
gb_Executable_TARGETTYPEFLAGS := -bind_at_load
-gb_Executable_Library_platform =
-
-define gb_Executable_get_rpath
-$(call gb_LinkTarget__get_installname,$(1),$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Executable_get_layer,$(1))))
-endef
-
gb_Executable_LAYER := \
$(foreach exe,$(gb_Executable_UREBIN),$(exe):UREBIN) \
$(foreach exe,$(gb_Executable_SDK),$(exe):SDKBIN) \
@@ -369,6 +367,17 @@ gb_Executable_LAYER := \
$(foreach exe,$(gb_Executable_BRAND),$(exe):BRAND) \
$(foreach exe,$(gb_Executable_NONE),$(exe):NONEBIN) \
+
+define gb_Executable_get_rpath
+$(call gb_LinkTarget__get_installname,$(1),$(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
gb_CppunitTest_TARGETTYPEFLAGS := $(gb_Library_TARGETTYPEFLAGS)
@@ -377,6 +386,12 @@ gb_CppunitTest_SYSPRE := libtest_
gb_CppunitTest_EXT := .dylib
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 := DYLD_LIBRARY_PATH=$(OUTDIR)/lib
@@ -394,8 +409,8 @@ define gb_SrsPartTarget__command_dep
$(call gb_Helper_abbreviate_dirs,\
$(gb_GCCP) \
-MM -MT $(call gb_SrsPartTarget_get_target,$(1)) \
- $(3) \
- $(4) \
+ $(INCLUDE) \
+ $(DEFS) \
-c -x c++-header $(2) \
-o $(call gb_SrsPartTarget_get_dep_target,$(1)))
endef
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 \
diff --git a/solenv/gbuild/platform/windows.mk b/solenv/gbuild/platform/windows.mk
index e199c8404fcf..4f15bf35b3d6 100755
--- a/solenv/gbuild/platform/windows.mk
+++ b/solenv/gbuild/platform/windows.mk
@@ -220,9 +220,9 @@ $(call gb_Helper_abbreviate_dirs_native,\
mkdir -p $(dir $(1)) && \
unset INCLUDE && \
$(gb_CC) \
- $(4) $(5) \
+ $(DEFS) $(CFLAGS) \
-I$(dir $(3)) \
- $(6) \
+ $(INCLUDE) \
-c $(3) \
-Fo$(1) \
-showIncludes > $(1).out; \
@@ -245,9 +245,9 @@ $(call gb_Helper_abbreviate_dirs_native,\
mkdir -p $(dir $(1)) && \
unset INCLUDE && \
$(gb_CXX) \
- $(4) $(5) \
+ $(DEFS) $(CFLAGS) \
-I$(dir $(3)) \
- $(6) \
+ $(INCLUDE_STL) $(INCLUDE) \
-c $(3) \
-Fo$(1) \
-showIncludes > $(1).out; \
@@ -337,16 +337,16 @@ $(call gb_Output_announce,$(2),$(true),LNK,4)
$(call gb_Helper_abbreviate_dirs_native,\
mkdir -p $(dir $(1)) && \
RESPONSEFILE=$$(mktemp --tmpdir=$(gb_Helper_MISC)) && \
- echo "$(foreach object,$(8),$(call gb_CxxObject_get_target,$(object))) \
- $(foreach object,$(7),$(call gb_CObject_get_target,$(object)))" > $${RESPONSEFILE} && \
+ echo "$(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
+ $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object)))" > $${RESPONSEFILE} && \
$(gb_LINK) \
- $(if $(filter Library CppunitTest,$(3)),$(gb_Library_TARGETTYPEFLAGS)) \
- $(if $(filter StaticLibrary,$(3)),$(gb_StaticLibrary_TARGETTYPEFLAGS)) \
- $(if $(filter Executable,$(3)),$(gb_Executable_TARGETTYPEFLAGS)) \
- $(4) \
+ $(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
+ $(if $(filter StaticLibrary,$(TARGETTYPE)),$(gb_StaticLibrary_TARGETTYPEFLAGS)) \
+ $(if $(filter Executable,$(TARGETTYPE)),$(gb_Executable_TARGETTYPEFLAGS)) \
+ $(DEFS) \
@$${RESPONSEFILE} \
- $(foreach lib,$(5),$(call gb_Library_get_filename,$(lib))) \
- $(foreach lib,$(6),$(call gb_StaticLibrary_get_filename,$(lib))) \
+ $(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib))) \
+ $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_filename,$(lib))) \
$(subst -out: -implib:$(1),-out:$(1),-out:$(DLLTARGET) -implib:$(1)) && rm $${RESPONSEFILE})
endef
@@ -506,7 +506,8 @@ ifeq ($(gb_FULLDEPS),$(true))
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 \