blob: 7b92cf2e36965f6f55f04afabd06395aa0cdf880 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
|
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# Copyright 2008 by Sun Microsystems, Inc.
#
# OpenOffice.org - a multi-platform office productivity suite
#
# $RCSfile: unitools.mk,v $
#
# $Revision: 1.59 $
#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License version 3
# only, as published by the Free Software Foundation.
#
# OpenOffice.org is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License version 3 for more details
# (a copy is included in the LICENSE file that accompanied this code).
#
# You should have received a copy of the GNU Lesser General Public License
# version 3 along with OpenOffice.org. If not, see
# <http://www.openoffice.org/license.html>
# for a copy of the LGPLv3 License.
#
#*************************************************************************
# Common tools - move this to the end / consolidate
TRANSEX*=$(AUGMENT_LIBRARY_PATH) transex3
ULFEX*=$(AUGMENT_LIBRARY_PATH) ulfex
XMLEX*=$(AUGMENT_LIBRARY_PATH) xmlex
XRMEX*=$(AUGMENT_LIBRARY_PATH) xrmex
CFGEX*=$(AUGMENT_LIBRARY_PATH) cfgex
XSLTPROC*=$(AUGMENT_LIBRARY_PATH) xsltproc
ULFCONV*=$(AUGMENT_LIBRARY_PATH) ulfconv
MAKEDEPEND*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)$/makedepend
SCP_CHECK_TOOL:=checkscp$E
# Not 4nt means $(GUI)==UNX or $(GUI)==WNT with tcsh
.IF "$(USE_SHELL)"!="4nt"
# iz32110: Calling a cygwin application from a non-cygwin shell requires
# backslashes to be escaped by another backslash: EES .. extra escape slash
EES:=
# iz29675: 4nt must not quote special characters, but tcsh has to.
# *NIX shells needs to use " quotes, but 4nt must not.
# EMQ .. extra meta quote (\\ at line end is \)
# USQ .. unix shell quote
EMQ:=\\
USQ:="
NULLDEV:=/dev/null
# iz29609 helpmacro to check if file exists
.IF "$(USE_SHELL)"=="bash"
IFEXIST:=if test -e
THEN:= ; then
FI:= ; fi
PIPEERROR=2>&1 |
.ELSE
IFEXIST:=if ( -e
THEN:= )
FI:=
PIPEERROR=|&
.ENDIF
# iz31658
.IF "$(USE_SHELL)"=="bash"
CHECKZIPRESULT:=|| if test "$$?" != "12" && "$$?" != "1" ; then exit $$? ; fi && echo "Nothing to update for zip"
.ELSE
CHECKZIPRESULT:=|| if ("$$status" != "12" && "$$status" != "1") exit $$status && echo "Nothing to update for zip"
.ENDIF
.ELSE # "$(USE_SHELL)"!="4nt"
# (\\ at line end is \)
EES:=\\
EMQ:=
USQ:=
NULLDEV:=nul
# iz29609 helpmacro to check if file exists 4nt style
IFEXIST:=+if exist
THEN:=
FI:=
PIPEERROR=|&
# iz31658
CHECKZIPRESULT:=^ iff errorlevel == 12 .and. errorlevel == 12 then ( echo Nothing to update for zip ^ set somedummyvar=%somedummyvar)
# try the same for 4nt "copy /u"
CHECKCOPYURESULT:=^ iff errorlevel == 2 then ( echo Nothing to update for copy ^ set somedummyvar=%somedummyvar)
# tell makedepend to write windows native format
#MKDEPFLAGS=-n
.ENDIF # "$(USE_SHELL)"!="4nt"
# Platform specific
.IF "$(GUI)"=="WNT"
AWK*=awk
SORT*=sort
SED*=sed
GNUPATCH*=patch
.IF "$(USE_SHELL)"!="4nt"
# change drive and directory
CDD=cd
# expect cygwin tools to exist
COPY*=cp
COPYRECURSE=-r
COPYUPDATE=-u
ECHON=echo -n
ECHONL=echo
FIND*=find
FLIPCMD*=slfl.pl
GNUCOPY*=cp
GNUMAKE*=make
GREP*=grep
LS*=ls
PERL*:=perl
.EXPORT : PERL
RENAME*=mv
TOUCH*=touch
TYPE*=cat
.ELSE # "$(USE_SHELL)"!="4nt"
CDD=+cdd
COPY*=+copy
COPYRECURSE=/s
COPYUPDATE=/u
DELAY*=+delay
ECHON*=+echos
ECHONL=+echo.
FIND*=$(BUILD_TOOLS)$/find.exe
.IF "$(use_cygcp)"!=""
GNUCOPY=$(BUILD_TOOLS)$/gnucp.exe
.ENDIF # "$(use_cygcp)"!=""
GNUCOPY*=$(BUILD_TOOLS)$/cp.exe
GNUMAKE*=$(BUILD_TOOLS)$/gnumake.exe
GREP*=$(BUILD_TOOLS)$/grep.exe
LS*=$(BUILD_TOOLS)$/ls.exe
MKDIRHIER=+mkdir /sn
#wraper for solenv\bin\mkdir.pl to fix mkdir /p problem
PERL*:=+call perl5.btm
.EXPORT : PERL
RENAME*=+ren
RMDIR:=$(PERL) $(SOLARENV)$/bin$/rmdir.pl
TOUCH*=$(PERL) $(SOLARENV)$/bin$/touch.pl
TYPE*=+type
XARGS*=tr -d "\015" | xargs
4nt_force_shell:=+
.ENDIF "$(USE_SHELL)"!="4nt"
DUMPBIN*=dumpbin
.ELIF "$(GUI)"=="UNX" # "$(GUI)"=="WNT"
SED*=sed
SORT*=sort
PERL*=perl
.EXPORT : PERL
TYPE=cat
CDD=cd
COPY=cp -f
COPYRECURSE=-r
.IF "$(OS)"=="SOLARIS"
AWK*=nawk
GNUCOPY*=gnucp
GNUPATCH*=gnupatch
GNUTAR*=gtar
.ELSE # "$(OS)"=="SOLARIS"
AWK*=awk
GNUCOPY*=cp
GNUPATCH*=patch
.ENDIF # "$(OS)"=="SOLARIS"
.IF "$(OS)"=="LINUX" || "$(OS)"=="MACOSX"
GNUMAKE*=make
.ELSE # "$(OS)"=="LINUX" || "$(OS)"=="MACOSX"
GNUMAKE*=gmake
.ENDIF # "$(OS)"=="LINUX" || "$(OS)"=="MACOSX"
TOUCH=touch
RENAME=mv
GREP=grep
FIND=find
LS=ls
ECHON=echo -n
ECHONL=echo
.ELIF "$(GUI)"=="OS2"
SED*=sed
SORT*=sort
PERL*=perl
TYPE=cat
CDD=@cd
COPY*=$(SHELL) /c copy /b
COPYRECURSE=/s
COPYUPDATE=/u
DELAY=sleep
ECHON*=echos
ECHONL=+echo.
AWK*=awk
GNUCOPY*=cp
GNUPATCH*=gnupatch
GNUMAKE*=make
TOUCH=touch /c
#YD rename doesn't work across different drives!
RENAME=mv
MKDIR=+md
MKDIRHIER=+md /s
GREP=grep
FIND=find
LS=ls
DUMPBIN=echo
4nt_force_shell:=+
.ENDIF # "$(GUI)"=="UNX"
# (Global) Set if not set before
DELAY*=sleep
MKDIR*=mkdir$E
MKDIRHIER*=mkdir$E -p
RMDIR*=rmdir
XARGS*=xargs
GNUTAR*:=tar
TAR*:=tar
RM+=$(RMFLAGS)
ADJUSTVISIBILITY*=$(AUGMENT_LIBRARY_PATH) adjustvisibility
CONVERT*:=$(PERL) $(SOLARENV)$/bin$/leconvert.pl
EXECTEST := $(PERL) -w $(SOLARENV)$/bin$/exectest.pl
GCCINSTLIB:=$(PERL) -w $(SOLARENV)$/bin$/gccinstlib.pl
# The dmake $(PWD) variable and the tcsh pwd command both apparantly produce
# paths with symlinks resolved, while the bash pwd command by default produces
# paths with unresolved symlinks, so that computing PATH_IN_MODULE in
# settings.mk would fail without the -P flag to the bash pwd command:
.IF "$(USE_SHELL)" == "bash"
PWDFLAGS = -P
.ENDIF
|