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 gb_Executable_FILENAMES
:= $(patsubst uno
:uno
,uno
:uno.bin
,$(gb_Executable_FILENAMES
))
26 gb_Executable_FILENAMES
:= $(patsubst unopkg_bin
:unopkg_bin
%,unopkg_bin
:unopkg.bin
,$(gb_Executable_FILENAMES
))
27 gb_Executable_FILENAMES
:= $(patsubst unopkg_com
:unopkg_com
%,unopkg_com
:unopkg.com
,$(gb_Executable_FILENAMES
))
28 gb_Executable_FILENAMES
:= $(patsubst crashrep_com
:crashrep_com
%,crashrep_com
:crashrep.com
,$(gb_Executable_FILENAMES
))
29 gb_Executable_FILENAMES
:= $(patsubst gengal
:gengal
,gengal
:gengal.bin
,$(gb_Executable_FILENAMES
))
32 gb_Executable_FILENAMES
:= $(patsubst soffice_bin
:soffice_bin
,soffice_bin
:soffice
,$(gb_Executable_FILENAMES
))
34 gb_Executable_FILENAMES
:= $(patsubst soffice_bin
:soffice_bin
%,soffice_bin
:soffice.bin
,$(gb_Executable_FILENAMES
))
37 gb_Executable_FILENAMES_FOR_BUILD
:= $(subst $(gb_Executable_EXT
),$(gb_Executable_EXT_for_build
),$(gb_Executable_FILENAMES
))
39 # fixes for .jnilibs on Mac OS X that are not also needed as .dylibs:
41 gb_Library_FILENAMES
:= \
42 $(subst jpipe
:libjpipe.dylib
,jpipe
:libjpipe.jnilib
,$(gb_Library_FILENAMES
))
43 gb_Library_FILENAMES
:= \
44 $(subst juh
:libjuh.dylib
,juh
:libjuh.jnilib
,$(gb_Library_FILENAMES
))
45 gb_Library_FILENAMES
:= \
46 $(subst hsqldb
:libhsqldb.dylib
,hsqldb
:libhsqldb.jnilib
,$(gb_Library_FILENAMES
))
49 # fixes for all the libraries that are named with too much creativity and do
50 # not follow any of the established nameschemes
52 # Make has no support for 'or' clauses in conditionals,
53 # we use a filter expression instead.
54 ifneq (,$(filter SOLARIS GCC
,$(OS
) $(COM
)))
55 gb_Library_FILENAMES
:= $(patsubst cppuhelper
:libcppuhelper
%,cppuhelper
:libuno_cppuhelper
%,$(gb_Library_FILENAMES
))
56 gb_Library_FILENAMES
:= $(patsubst purpenvhelper
:libpurpen
%,purpenvhelper
:libuno_purpen
%,$(gb_Library_FILENAMES
))
57 gb_Library_FILENAMES
:= $(patsubst salhelper
:libsalhelper
%,salhelper
:libuno_salhelper
%,$(gb_Library_FILENAMES
))
60 # libpyuno_wrapper.dylib => pyuno.so
61 gb_Library_FILENAMES
:= $(patsubst pyuno_wrapper
:libpyuno_wrapper.dylib
,pyuno_wrapper
:pyuno.so
,$(gb_Library_FILENAMES
))
63 # libpyuno_wrapper.so => pyuno.so
64 gb_Library_FILENAMES
:= $(patsubst pyuno_wrapper
:libpyuno_wrapper.so
,pyuno_wrapper
:pyuno.so
,$(gb_Library_FILENAMES
))
68 gb_Library_FILENAMES
:= $(patsubst unobootstrapprotector
:libuno
%,unobootstrapprotector
:uno
%,$(gb_Library_FILENAMES
))
69 gb_Library_FILENAMES
:= $(patsubst unoexceptionprotector
:libuno
%,unoexceptionprotector
:uno
%,$(gb_Library_FILENAMES
))
74 gb_Library_FILENAMES
:= $(patsubst z
:z
%,z
:zlib
%,$(gb_Library_FILENAMES
))
75 gb_Library_FILENAMES
:= $(patsubst rdf
:rdf
%,rdf
:librdf
%,$(gb_Library_FILENAMES
))
77 # libpyuno_wrapper.dll => pyuno.pyd
78 gb_Library_FILENAMES
:= $(patsubst pyuno
:pyuno.dll
,pyuno
:pyuno
$(if
$(MSVC_USE_DEBUG_RUNTIME
),_d
).pyd
,$(gb_Library_FILENAMES
))
81 gb_Library_ILIBFILENAMES
:= $(patsubst libexttextcat
:liblibext
%,libexttextcat
:libilibext
%,$(gb_Library_ILIBFILENAMES
))
82 gb_Library_ILIBFILENAMES
:= $(patsubst z
:iz
%,z
:zlib
%,$(gb_Library_ILIBFILENAMES
))
84 # Libraries not provided by mingw(-w64), available only in the Windows
85 # SDK. So if these actually are liked with somewhere, we can't
86 # cross-compile that module then using MinGW. That needs to be fixed
87 # then, and we need to use these libraries through run-time lookup of
89 gb_Library_SDKLIBFILENAMES
:=
91 gb_Library_FILENAMES
:= $(filter-out $(foreach lib
,$(gb_Library_SDKLIBFILENAMES
),$(lib
):%),$(gb_Library_FILENAMES
))
92 gb_Library_FILENAMES
+= $(foreach lib
,$(gb_Library_SDKLIBFILENAMES
),$(lib
):$(WINDOWS_SDK_HOME
)/lib
/$(lib
).lib
)
95 gb_Library_ILIBFILENAMES
:= $(patsubst z
:z
%,z
:zlib
%,$(gb_Library_ILIBFILENAMES
))
97 # these have prefix "lib" instead of "i"
98 gb_Library_LIBLIBFILENAMES
:= \
101 gb_Library_ILIBFILENAMES
:= \
102 $(filter-out $(foreach lib
,$(gb_Library_LIBLIBFILENAMES
),$(lib
):%) \
103 ,$(gb_Library_ILIBFILENAMES
))
104 gb_Library_ILIBFILENAMES
+= \
105 $(foreach lib
,$(gb_Library_LIBLIBFILENAMES
),$(lib
):lib
$(lib
)$(gb_Library_PLAINEXT
))
107 gb_Library_FILENAMES
:= $(filter-out $(foreach lib
,$(gb_Library_LIBLIBFILENAMES
),$(lib
):%),$(gb_Library_FILENAMES
))
108 gb_Library_FILENAMES
+= $(foreach lib
,$(gb_Library_LIBLIBFILENAMES
),$(lib
):lib
$(lib
).dll
)
110 endif # ifeq ($(COM),GCC)
112 endif # ifeq ($(OS),WNT)
114 # vim: set noet sw=4 ts=4: