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/.
9 # This file incorporates work covered by the following license notice:
11 # Licensed to the Apache Software Foundation (ASF) under one or more
12 # contributor license agreements. See the NOTICE file distributed
13 # with this work for additional information regarding copyright
14 # ownership. The ASF licenses this file to you under the Apache
15 # License, Version 2.0 (the "License"); you may not use this file
16 # except in compliance with the License. You may obtain a copy of
17 # the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 # fixes for executables
22 gb_Executable_FILENAMES
:= $(foreach group
,$(gb_Executable_VALIDGROUPS
),\
23 $(foreach exe
,$(gb_Executable_
$(group
)),$(exe
):$(exe
)$(gb_Executable_EXT
)))
25 ifneq (,$(filter-out MACOSX WNT
,$(OS
)))
26 gb_Executable_FILENAMES
:= $(patsubst uno
:uno
,uno
:uno.bin
,$(gb_Executable_FILENAMES
))
28 gb_Executable_FILENAMES
:= $(patsubst unopkg_bin
:unopkg_bin
%,unopkg_bin
:unopkg
$(if
$(filter-out MACOSX
,$(OS
)),.bin
),$(gb_Executable_FILENAMES
))
29 gb_Executable_FILENAMES
:= $(patsubst unopkg_com
:unopkg_com
%,unopkg_com
:unopkg.com
,$(gb_Executable_FILENAMES
))
30 gb_Executable_FILENAMES
:= $(patsubst gengal
:gengal
,gengal
:gengal.bin
,$(gb_Executable_FILENAMES
))
33 gb_Executable_FILENAMES
:= $(patsubst soffice_bin
:soffice_bin
,soffice_bin
:soffice
,$(gb_Executable_FILENAMES
))
35 gb_Executable_FILENAMES
:= $(patsubst soffice_bin
:soffice_bin
%,soffice_bin
:soffice.bin
,$(gb_Executable_FILENAMES
))
38 gb_Executable_FILENAMES_FOR_BUILD
:= $(subst $(gb_Executable_EXT
),$(gb_Executable_EXT_for_build
),$(gb_Executable_FILENAMES
))
40 # fixes for .jnilibs on Mac OS X that are not also needed as .dylibs:
42 gb_Library_FILENAMES
:= \
43 $(subst jpipe
:libjpipe.dylib
,jpipe
:libjpipe.jnilib
,$(gb_Library_FILENAMES
))
44 gb_Library_FILENAMES
:= \
45 $(subst juh
:libjuh.dylib
,juh
:libjuh.jnilib
,$(gb_Library_FILENAMES
))
46 gb_Library_FILENAMES
:= \
47 $(subst hsqldb
:libhsqldb.dylib
,hsqldb
:libhsqldb.jnilib
,$(gb_Library_FILENAMES
))
50 # fixes for all the libraries that are named with too much creativity and do
51 # not follow any of the established nameschemes
53 # Make has no support for 'or' clauses in conditionals,
54 # we use a filter expression instead.
55 ifneq (,$(filter SOLARIS GCC
,$(OS
) $(COM
)))
56 gb_Library_FILENAMES
:= $(patsubst cppuhelper
:libcppuhelper
%,cppuhelper
:libuno_cppuhelper
%,$(gb_Library_FILENAMES
))
57 gb_Library_FILENAMES
:= $(patsubst purpenvhelper
:libpurpen
%,purpenvhelper
:libuno_purpen
%,$(gb_Library_FILENAMES
))
58 gb_Library_FILENAMES
:= $(patsubst salhelper
:libsalhelper
%,salhelper
:libuno_salhelper
%,$(gb_Library_FILENAMES
))
61 # libpyuno_wrapper.dylib => pyuno.so
62 gb_Library_FILENAMES
:= $(patsubst pyuno_wrapper
:libpyuno_wrapper.dylib
,pyuno_wrapper
:pyuno.so
,$(gb_Library_FILENAMES
))
64 # libpyuno_wrapper.so => pyuno.so
65 gb_Library_FILENAMES
:= $(patsubst pyuno_wrapper
:libpyuno_wrapper.so
,pyuno_wrapper
:pyuno.so
,$(gb_Library_FILENAMES
))
69 gb_Library_FILENAMES
:= $(patsubst unobootstrapprotector
:libuno
%,unobootstrapprotector
:uno
%,$(gb_Library_FILENAMES
))
70 gb_Library_FILENAMES
:= $(patsubst unoexceptionprotector
:libuno
%,unoexceptionprotector
:uno
%,$(gb_Library_FILENAMES
))
75 gb_Library_FILENAMES
:= $(patsubst z
:z
%,z
:zlib
%,$(gb_Library_FILENAMES
))
76 gb_Library_FILENAMES
:= $(patsubst rdf
:rdf
%,rdf
:librdf
%,$(gb_Library_FILENAMES
))
78 # libpyuno_wrapper.dll => pyuno.pyd
79 gb_Library_FILENAMES
:= $(patsubst pyuno
:pyuno.dll
,pyuno
:pyuno
$(if
$(MSVC_USE_DEBUG_RUNTIME
),_d
).pyd
,$(gb_Library_FILENAMES
))
82 gb_Library_ILIBFILENAMES
:= $(patsubst libexttextcat
:liblibext
%,libexttextcat
:libilibext
%,$(gb_Library_ILIBFILENAMES
))
83 gb_Library_ILIBFILENAMES
:= $(patsubst z
:iz
%,z
:zlib
%,$(gb_Library_ILIBFILENAMES
))
85 # Libraries not provided by mingw(-w64), available only in the Windows
86 # SDK. So if these actually are liked with somewhere, we can't
87 # cross-compile that module then using MinGW. That needs to be fixed
88 # then, and we need to use these libraries through run-time lookup of
90 gb_Library_SDKLIBFILENAMES
:=
92 gb_Library_FILENAMES
:= $(filter-out $(foreach lib
,$(gb_Library_SDKLIBFILENAMES
),$(lib
):%),$(gb_Library_FILENAMES
))
93 gb_Library_FILENAMES
+= $(foreach lib
,$(gb_Library_SDKLIBFILENAMES
),$(lib
):$(WINDOWS_SDK_HOME
)/lib
/$(lib
).lib
)
96 gb_Library_ILIBFILENAMES
:= $(patsubst z
:z
%,z
:zlib
%,$(gb_Library_ILIBFILENAMES
))
98 # these have prefix "lib" instead of "i"
99 gb_Library_LIBLIBFILENAMES
:= \
102 gb_Library_ILIBFILENAMES
:= \
103 $(filter-out $(foreach lib
,$(gb_Library_LIBLIBFILENAMES
),$(lib
):%) \
104 ,$(gb_Library_ILIBFILENAMES
))
105 gb_Library_ILIBFILENAMES
+= \
106 $(foreach lib
,$(gb_Library_LIBLIBFILENAMES
),$(lib
):lib
$(lib
)$(gb_Library_PLAINEXT
))
108 gb_Library_FILENAMES
:= $(filter-out $(foreach lib
,$(gb_Library_LIBLIBFILENAMES
),$(lib
):%),$(gb_Library_FILENAMES
))
109 gb_Library_FILENAMES
+= $(foreach lib
,$(gb_Library_LIBLIBFILENAMES
),$(lib
):lib
$(lib
).dll
)
111 endif # ifeq ($(COM),GCC)
113 endif # ifeq ($(OS),WNT)
115 # vim: set noet sw=4 ts=4: