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 crashrep_com
:crashrep_com
%,crashrep_com
:crashrep.com
,$(gb_Executable_FILENAMES
))
31 gb_Executable_FILENAMES
:= $(patsubst gengal
:gengal
,gengal
:gengal.bin
,$(gb_Executable_FILENAMES
))
34 gb_Executable_FILENAMES
:= $(patsubst soffice_bin
:soffice_bin
,soffice_bin
:soffice
,$(gb_Executable_FILENAMES
))
36 gb_Executable_FILENAMES
:= $(patsubst soffice_bin
:soffice_bin
%,soffice_bin
:soffice.bin
,$(gb_Executable_FILENAMES
))
39 gb_Executable_FILENAMES_FOR_BUILD
:= $(subst $(gb_Executable_EXT
),$(gb_Executable_EXT_for_build
),$(gb_Executable_FILENAMES
))
41 # fixes for .jnilibs on Mac OS X that are not also needed as .dylibs:
43 gb_Library_FILENAMES
:= \
44 $(subst jpipe
:libjpipe.dylib
,jpipe
:libjpipe.jnilib
,$(gb_Library_FILENAMES
))
45 gb_Library_FILENAMES
:= \
46 $(subst juh
:libjuh.dylib
,juh
:libjuh.jnilib
,$(gb_Library_FILENAMES
))
47 gb_Library_FILENAMES
:= \
48 $(subst hsqldb
:libhsqldb.dylib
,hsqldb
:libhsqldb.jnilib
,$(gb_Library_FILENAMES
))
51 # fixes for all the libraries that are named with too much creativity and do
52 # not follow any of the established nameschemes
54 # Make has no support for 'or' clauses in conditionals,
55 # we use a filter expression instead.
56 ifneq (,$(filter SOLARIS GCC
,$(OS
) $(COM
)))
57 gb_Library_FILENAMES
:= $(patsubst cppuhelper
:libcppuhelper
%,cppuhelper
:libuno_cppuhelper
%,$(gb_Library_FILENAMES
))
58 gb_Library_FILENAMES
:= $(patsubst purpenvhelper
:libpurpen
%,purpenvhelper
:libuno_purpen
%,$(gb_Library_FILENAMES
))
59 gb_Library_FILENAMES
:= $(patsubst salhelper
:libsalhelper
%,salhelper
:libuno_salhelper
%,$(gb_Library_FILENAMES
))
62 # libpyuno_wrapper.dylib => pyuno.so
63 gb_Library_FILENAMES
:= $(patsubst pyuno_wrapper
:libpyuno_wrapper.dylib
,pyuno_wrapper
:pyuno.so
,$(gb_Library_FILENAMES
))
65 # libpyuno_wrapper.so => pyuno.so
66 gb_Library_FILENAMES
:= $(patsubst pyuno_wrapper
:libpyuno_wrapper.so
,pyuno_wrapper
:pyuno.so
,$(gb_Library_FILENAMES
))
70 gb_Library_FILENAMES
:= $(patsubst unobootstrapprotector
:libuno
%,unobootstrapprotector
:uno
%,$(gb_Library_FILENAMES
))
71 gb_Library_FILENAMES
:= $(patsubst unoexceptionprotector
:libuno
%,unoexceptionprotector
:uno
%,$(gb_Library_FILENAMES
))
76 gb_Library_FILENAMES
:= $(patsubst z
:z
%,z
:zlib
%,$(gb_Library_FILENAMES
))
77 gb_Library_FILENAMES
:= $(patsubst rdf
:rdf
%,rdf
:librdf
%,$(gb_Library_FILENAMES
))
79 # libpyuno_wrapper.dll => pyuno.pyd
80 gb_Library_FILENAMES
:= $(patsubst pyuno
:pyuno.dll
,pyuno
:pyuno
$(if
$(MSVC_USE_DEBUG_RUNTIME
),_d
).pyd
,$(gb_Library_FILENAMES
))
83 gb_Library_ILIBFILENAMES
:= $(patsubst libexttextcat
:liblibext
%,libexttextcat
:libilibext
%,$(gb_Library_ILIBFILENAMES
))
84 gb_Library_ILIBFILENAMES
:= $(patsubst z
:iz
%,z
:zlib
%,$(gb_Library_ILIBFILENAMES
))
86 # Libraries not provided by mingw(-w64), available only in the Windows
87 # SDK. So if these actually are liked with somewhere, we can't
88 # cross-compile that module then using MinGW. That needs to be fixed
89 # then, and we need to use these libraries through run-time lookup of
91 gb_Library_SDKLIBFILENAMES
:=
93 gb_Library_FILENAMES
:= $(filter-out $(foreach lib
,$(gb_Library_SDKLIBFILENAMES
),$(lib
):%),$(gb_Library_FILENAMES
))
94 gb_Library_FILENAMES
+= $(foreach lib
,$(gb_Library_SDKLIBFILENAMES
),$(lib
):$(WINDOWS_SDK_HOME
)/lib
/$(lib
).lib
)
97 gb_Library_ILIBFILENAMES
:= $(patsubst z
:z
%,z
:zlib
%,$(gb_Library_ILIBFILENAMES
))
99 # these have prefix "lib" instead of "i"
100 gb_Library_LIBLIBFILENAMES
:= \
103 gb_Library_ILIBFILENAMES
:= \
104 $(filter-out $(foreach lib
,$(gb_Library_LIBLIBFILENAMES
),$(lib
):%) \
105 ,$(gb_Library_ILIBFILENAMES
))
106 gb_Library_ILIBFILENAMES
+= \
107 $(foreach lib
,$(gb_Library_LIBLIBFILENAMES
),$(lib
):lib
$(lib
)$(gb_Library_PLAINEXT
))
109 gb_Library_FILENAMES
:= $(filter-out $(foreach lib
,$(gb_Library_LIBLIBFILENAMES
),$(lib
):%),$(gb_Library_FILENAMES
))
110 gb_Library_FILENAMES
+= $(foreach lib
,$(gb_Library_LIBLIBFILENAMES
),$(lib
):lib
$(lib
).dll
)
112 endif # ifeq ($(COM),GCC)
114 endif # ifeq ($(OS),WNT)
116 # vim: set noet sw=4 ts=4: