1 # -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
3 # This file is part of the LibreOffice project.
5 # This Source Code Form is subject to the terms of the Mozilla Public
6 # License, v. 2.0. If a copy of the MPL was not distributed with this
7 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
10 ifeq ($(DISABLE_DYNLOADING
),TRUE
)
12 gb_STDLIBS
:= -static-libstdc
++
16 # No unit testing can be run
17 gb_CppunitTest_CPPTESTPRECOMMAND
:= :
19 # Re-define this from unxgcc.mk with some small but important
20 # changes. Just temporarily done this way, shm_get promised to
21 # eventually enable this to be done this in some more elegant and less
24 gb_LinkTarget_LDFLAGS
+= \
29 define gb_LinkTarget__command_dynamiclink
30 $(call gb_Helper_abbreviate_dirs
,\
31 $(if
$(CXXOBJECTS
)$(GENCXXOBJECTS
)$(EXTRAOBJECTLISTS
),$(gb_CXX
),$(gb_CC
)) \
33 $(if
$(filter Library CppunitTest
,$(TARGETTYPE
)),$(gb_Library_TARGETTYPEFLAGS
)) \
34 $(subst \d
,$$,$(RPATH
)) \
35 $(T_USE_LD
) $(T_LDFLAGS
) \
36 $(foreach object
,$(COBJECTS
),$(call gb_CObject_get_target
,$(object
))) \
37 $(foreach object
,$(CXXOBJECTS
),$(call gb_CxxObject_get_target
,$(object
))) \
38 $(foreach object
,$(ASMOBJECTS
),$(call gb_AsmObject_get_target
,$(object
))) \
39 $(foreach object
,$(GENCOBJECTS
),$(call gb_GenCObject_get_target
,$(object
))) \
40 $(foreach object
,$(GENCXXOBJECTS
),$(call gb_GenCxxObject_get_target
,$(object
))) \
41 $(foreach object
,$(GENASMOBJECTS
),$(call gb_GenAsmObject_get_target
,$(object
))) \
42 $(foreach object
,$(GENNASMOBJECTS
),$(call gb_GenNasmObject_get_target
,$(object
))) \
43 $(foreach extraobjectlist
,$(EXTRAOBJECTLISTS
),`cat $(extraobjectlist)`) \
44 -Wl
$(COMMA
)--start-group
$(foreach lib
,$(LINKED_STATIC_LIBS
),$(call gb_StaticLibrary_get_target
,$(lib
))) -Wl
$(COMMA
)--end-group \
46 $(patsubst lib
%.a
,-l
%,$(patsubst lib
%.so
,-l
%,$(foreach lib
,$(LINKED_LIBS
),$(call gb_Library_get_filename
,$(lib
))))) \
50 ifeq ($(DISABLE_DYNLOADING
),TRUE
)
55 gb_Library_SYSPRE
:= lib
56 gb_Library_UNOVERPRE
:= $(gb_Library_SYSPRE
)uno_
57 gb_Library_PLAINEXT
:= .a
58 gb_Library_DLLEXT
:= .a
59 gb_Library_RTEXT
:= gcc3
$(gb_Library_PLAINEXT
)
61 gb_Library_OOOEXT
:= $(gb_Library_DLLPOSTFIX
)$(gb_Library_PLAINEXT
)
62 gb_Library_UNOEXT
:= .uno
$(gb_Library_PLAINEXT
)
66 # Prefix UNO library filenames with "lib"
67 gb_Library_FILENAMES
:= \
68 $(foreach lib
,$(gb_Library_OOOLIBS
),$(lib
):$(gb_Library_SYSPRE
)$(lib
)$(gb_Library_OOOEXT
)) \
69 $(foreach lib
,$(gb_Library_PLAINLIBS_NONE
),$(lib
):$(gb_Library_SYSPRE
)$(lib
)$(gb_Library_PLAINEXT
)) \
70 $(foreach lib
,$(gb_Library_PLAINLIBS_URE
),$(lib
):$(gb_Library_SYSPRE
)$(lib
)$(gb_Library_PLAINEXT
)) \
71 $(foreach lib
,$(gb_Library_PLAINLIBS_OOO
),$(lib
):$(gb_Library_SYSPRE
)$(lib
)$(gb_Library_PLAINEXT
)) \
72 $(foreach lib
,$(gb_Library_PRIVATELIBS_URE
),$(lib
):$(gb_Library_SYSPRE
)$(lib
)$(gb_Library_OOOEXT
)) \
73 $(foreach lib
,$(gb_Library_RTVERLIBS
),$(lib
):$(gb_Library_SYSPRE
)$(lib
)$(gb_Library_RTEXT
)) \
74 $(foreach lib
,$(gb_Library_UNOVERLIBS
),$(lib
):$(gb_Library_UNOVERPRE
)$(lib
)$(gb_Library_PLAINEXT
)) \
77 ifeq ($(DISABLE_DYNLOADING
),TRUE
)
79 gb_Library_FILENAMES
+= \
80 $(foreach lib
,$(gb_Library_PLAINLIBS_OXT
),$(lib
):$(gb_Library_SYSPRE
)$(lib
)$(gb_Library_PLAINEXT
)) \
81 $(foreach lib
,$(gb_Library_EXTENSIONLIBS
),$(lib
):$(lib
)$(gb_Library_UNOEXT
)) \
84 $(foreach lib
,$(gb_Library_OOOLIBS
),$(lib
):OOO
) \
85 $(foreach lib
,$(gb_Library_PLAINLIBS_URE
),$(lib
):OOO
) \
86 $(foreach lib
,$(gb_Library_PLAINLIBS_OOO
),$(lib
):OOO
) \
87 $(foreach lib
,$(gb_Library_PLAINLIBS_OXT
),$(lib
):OXT
) \
88 $(foreach lib
,$(gb_Library_PLAINLIBS_NONE
),$(lib
):NONE
) \
89 $(foreach lib
,$(gb_Library_PRIVATELIBS_URE
),$(lib
):OOO
) \
90 $(foreach lib
,$(gb_Library_RTVERLIBS
),$(lib
):OOO
) \
91 $(foreach lib
,$(gb_Library_UNOVERLIBS
),$(lib
):OOO
) \
92 $(foreach lib
,$(gb_Library_EXTENSIONLIBS
),$(lib
):OXT
) \
94 define gb_Library_Library_platform
95 $(call gb_LinkTarget_get_target
,$(2)) : LAYER
:= $(call gb_Library_get_layer
,$(1))
101 gb_CppunitTest_get_filename
= libtest_
$(1).a
103 # No use for Cppunit targets now for Android (which would be just
104 # static archives), they are just a waste of disk space.
105 define gb_LinkTarget__command
106 $(call gb_Output_announce
,$(2),$(true
),LNK
,4)
107 $(call gb_Trace_StartRange
,$(2),LNK
)
108 $(if
$(filter CppunitTest
,$(TARGETTYPE
)), \
110 $(call gb_LinkTarget__command_staticlink
,$(1)))
111 $(call gb_Trace_EndRange
,$(2),LNK
)
116 # No DT_RPATH or DT_RUNPATH support in the Bionic dynamic linker so
117 # don't bother generating such.
119 define gb_Library_get_rpath
122 define gb_Executable_get_rpath
125 gb_LinkTarget_LDFLAGS
:= $(subst -Wl
$(COMMA
)-rpath-link
$(COMMA
)$(SYSBASE
)/lib
:$(SYSBASE
)/usr
/lib
,,$(gb_LinkTarget_LDFLAGS
))
127 gb_Library__set_soversion_script_platform
=
130 # vim: set noet sw=4 ts=4: