xref: /trunk/main/solenv/gbuild/platform/os2.mk (revision efd61a206bbee858699f5a9f10508cd13f81bbbf)
1f0a50dfaSPedro Giffuni#*************************************************************************
2f0a50dfaSPedro Giffuni#
37fcdd55bSPedro Giffuni#  Licensed to the Apache Software Foundation (ASF) under one
47fcdd55bSPedro Giffuni#  or more contributor license agreements.  See the NOTICE file
57fcdd55bSPedro Giffuni#  distributed with this work for additional information
67fcdd55bSPedro Giffuni#  regarding copyright ownership.  The ASF licenses this file
77fcdd55bSPedro Giffuni#  to you under the Apache License, Version 2.0 (the
87fcdd55bSPedro Giffuni#  "License"); you may not use this file except in compliance
97fcdd55bSPedro Giffuni#  with the License.  You may obtain a copy of the License at
10f0a50dfaSPedro Giffuni#
117fcdd55bSPedro Giffuni#    http://www.apache.org/licenses/LICENSE-2.0
12f0a50dfaSPedro Giffuni#
137fcdd55bSPedro Giffuni#  Unless required by applicable law or agreed to in writing,
147fcdd55bSPedro Giffuni#  software distributed under the License is distributed on an
157fcdd55bSPedro Giffuni#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
167fcdd55bSPedro Giffuni#  KIND, either express or implied.  See the License for the
177fcdd55bSPedro Giffuni#  specific language governing permissions and limitations
187fcdd55bSPedro Giffuni#  under the License.
19f0a50dfaSPedro Giffuni#
20f0a50dfaSPedro Giffuni#*************************************************************************
21f0a50dfaSPedro Giffuni
22f0a50dfaSPedro GiffuniGUI := OS2
23f0a50dfaSPedro GiffuniCOM := GCC
24f0a50dfaSPedro Giffuni
25f0a50dfaSPedro Giffuni# set tmpdir to some mixed case path, suitable for native tools
26f0a50dfaSPedro Giffuni#gb_TMPDIR:=$(if $(TMPDIR),$(shell cygpath -m $(TMPDIR)),$(shell cygpath -m /tmp))
27f0a50dfaSPedro Giffuni#gb_MKTEMP := mktemp --tmpdir=$(gb_TMPDIR) gbuild.XXXXXX
28f0a50dfaSPedro Giffunigb_MKTEMP := mktemp -t gbuild.XXXXXX
29f0a50dfaSPedro Giffuni
30f0a50dfaSPedro Giffunigb_CC := gcc
31f0a50dfaSPedro Giffunigb_CXX := g++
32f0a50dfaSPedro Giffunigb_GCCP := gcc
33f0a50dfaSPedro Giffunigb_LINK := gcc
34f0a50dfaSPedro Giffunigb_AR := emxomfar
35f0a50dfaSPedro Giffunigb_AWK := awk
36f0a50dfaSPedro Giffunigb_CLASSPATHSEP := ;
37f0a50dfaSPedro Giffunigb_RC := wrc
38f0a50dfaSPedro Giffuni
39f0a50dfaSPedro Giffuni# use CC/CXX if they are nondefaults
40f0a50dfaSPedro Giffuniifneq ($(origin CC),default)
41f0a50dfaSPedro Giffunigb_CC := $(CC)
42f0a50dfaSPedro Giffunigb_GCCP := $(CC)
43f0a50dfaSPedro Giffuniendif
44f0a50dfaSPedro Giffuniifneq ($(origin CXX),default)
45f0a50dfaSPedro Giffunigb_CXX := $(CXX)
46f0a50dfaSPedro Giffuniendif
47f0a50dfaSPedro Giffuni
4810b7a200SYuri Dario# until we get a solution to libc ticket#251, use dmik's -q option.
4910b7a200SYuri DarioEMXOMFOPT = -q
5010b7a200SYuri Darioexport EMXOMFOPT
5110b7a200SYuri Dario
52f0a50dfaSPedro Giffunigb_OSDEFS := \
53f0a50dfaSPedro Giffuni    -D$(OS) \
54f0a50dfaSPedro Giffuni    -D_PTHREADS \
55f0a50dfaSPedro Giffuni    -DOS2 \
56f0a50dfaSPedro Giffuni    $(PTHREAD_CFLAGS) \
57f0a50dfaSPedro Giffuni
58f0a50dfaSPedro Giffunigb_COMPILERDEFS := \
59f0a50dfaSPedro Giffuni    -D$(COM) \
60f0a50dfaSPedro Giffuni    -DHAVE_GCC_VISIBILITY_FEATURE \
61386ca866SDon Lewis    -DCPPU_ENV=$(COMNAME) \
62f0a50dfaSPedro Giffuni
63787e1130SDon Lewisgb_CPUDEFS := -D$(ALIGN) -DINTEL -D_X86_=1 -DX86
64f0a50dfaSPedro Giffuni
65f0a50dfaSPedro Giffunigb_RCDEFS := \
66f0a50dfaSPedro Giffuni    -DOS2 \
67f0a50dfaSPedro Giffuni    -bt=os2 \
68f0a50dfaSPedro Giffuni    -i$(PATH_EMXPGCC)\include \
69f0a50dfaSPedro Giffuni
70f0a50dfaSPedro Giffunigb_RCFLAGS := \
71f0a50dfaSPedro Giffuni     -V
72f0a50dfaSPedro Giffuni
73f0a50dfaSPedro Giffunigb_CFLAGS := \
74f0a50dfaSPedro Giffuni    -Zomf \
75f0a50dfaSPedro Giffuni    -Wall \
76f0a50dfaSPedro Giffuni    -Wendif-labels \
77f0a50dfaSPedro Giffuni    -Wextra \
78f0a50dfaSPedro Giffuni    -Wshadow \
79f0a50dfaSPedro Giffuni    -fmessage-length=0 \
80f0a50dfaSPedro Giffuni    -fno-common \
81f0a50dfaSPedro Giffuni    -fno-strict-aliasing \
82f0a50dfaSPedro Giffuni    -I$(JAVA_HOME)/include \
83f0a50dfaSPedro Giffuni    -I$(JAVA_HOME)/include/os2
84f0a50dfaSPedro Giffuni
85f0a50dfaSPedro Giffunigb_CXXFLAGS := \
86f0a50dfaSPedro Giffuni    -Zomf \
87f0a50dfaSPedro Giffuni    -Wall \
88f0a50dfaSPedro Giffuni    -Wendif-labels \
89f0a50dfaSPedro Giffuni    -Wextra \
90f0a50dfaSPedro Giffuni    -Wno-ctor-dtor-privacy \
91f0a50dfaSPedro Giffuni    -Wno-non-virtual-dtor \
92f0a50dfaSPedro Giffuni    -Wshadow \
93f0a50dfaSPedro Giffuni    -fmessage-length=0 \
94f0a50dfaSPedro Giffuni    -fno-common \
95f0a50dfaSPedro Giffuni    -fno-strict-aliasing \
96f0a50dfaSPedro Giffuni    -fno-use-cxa-atexit \
97f0a50dfaSPedro Giffuni    -I$(JAVA_HOME)/include \
98f0a50dfaSPedro Giffuni    -I$(JAVA_HOME)/include/os2
99f0a50dfaSPedro Giffuni
100f0a50dfaSPedro Giffunigb_STDLIBS = \
10162c6e450SYuri Dario    z \
102f958b5f1SYuri Dario    stdc++
103f0a50dfaSPedro Giffuni
104f0a50dfaSPedro Giffuniifneq ($(EXTERNAL_WARNINGS_NOT_ERRORS),TRUE)
105f0a50dfaSPedro Giffunigb_CFLAGS_WERROR := -Werror
106f0a50dfaSPedro Giffunigb_CXXFLAGS_WERROR := -Werror
107f0a50dfaSPedro Giffuniendif
108f0a50dfaSPedro Giffuni
109f0a50dfaSPedro Giffunigb_LinkTarget_EXCEPTIONFLAGS := \
110f0a50dfaSPedro Giffuni    -DEXCEPTIONS_ON \
111f0a50dfaSPedro Giffuni    -fexceptions \
112f0a50dfaSPedro Giffuni    -fno-enforce-eh-specs \
113f0a50dfaSPedro Giffuni
114f0a50dfaSPedro Giffunigb_PrecompiledHeader_EXCEPTIONFLAGS := $(gb_LinkTarget_EXCEPTIONFLAGS)
115f0a50dfaSPedro Giffuni
116f0a50dfaSPedro Giffunigb_LinkTarget_NOEXCEPTIONFLAGS := \
117f0a50dfaSPedro Giffuni    -DEXCEPTIONS_OFF \
118f0a50dfaSPedro Giffuni    -fno-exceptions \
119f0a50dfaSPedro Giffuni
120f0a50dfaSPedro Giffunigb_NoexPrecompiledHeader_NOEXCEPTIONFLAGS := $(gb_LinkTarget_NOEXCEPTIONFLAGS)
121f0a50dfaSPedro Giffuni
122f0a50dfaSPedro Giffuni
123f0a50dfaSPedro Giffunigb_LinkTarget_LDFLAGS := \
124f0a50dfaSPedro Giffuni    -g -Zomf \
125f0a50dfaSPedro Giffuni    -Zhigh-mem \
126f0a50dfaSPedro Giffuni    -Zlinker "DISABLE 1121" \
127f0a50dfaSPedro Giffuni    -Zmap \
1282de5e723SYuri Dario    -lcx \
129f0a50dfaSPedro Giffuni    $(patsubst %,-LIBPATH:%,$(filter-out .,$(subst ;, ,$(subst \,/,$(ILIB))))) \
130f0a50dfaSPedro Giffuni    $(subst -L../lib , ,$(SOLARLIB)) \
131f0a50dfaSPedro Giffuni
132f0a50dfaSPedro Giffuniifneq ($(ENABLE_CRASHDUMP),)
133f0a50dfaSPedro Giffunigb_LinkTarget_LDFLAGS += -DEBUG
134f0a50dfaSPedro Giffunigb_CFLAGS+=-Zi
135f0a50dfaSPedro Giffunigb_CXXFLAGS+=-Zi
136f0a50dfaSPedro Giffuniendif
137f0a50dfaSPedro Giffuni
138f0a50dfaSPedro Giffuniifeq ($(gb_DEBUGLEVEL),2)
139f0a50dfaSPedro Giffunigb_COMPILEROPTFLAGS := -O0
1408e6bd3e9SDon Lewisgb_COMPILEROPT1FLAGS := -O0
141f0a50dfaSPedro Giffuni#gb_LinkTarget_LDFLAGS += -DEBUG
142f0a50dfaSPedro Giffunielse
143f0a50dfaSPedro Giffunigb_COMPILEROPTFLAGS := -Os
1448e6bd3e9SDon Lewisgb_COMPILEROPT1FLAGS := -O1
145f0a50dfaSPedro Giffuniendif
146f0a50dfaSPedro Giffuni
147f0a50dfaSPedro Giffunigb_COMPILERNOOPTFLAGS := -O0
148f0a50dfaSPedro Giffuni
149f0a50dfaSPedro Giffuni
150f0a50dfaSPedro Giffuni# Helper class
151f0a50dfaSPedro Giffuni
152f0a50dfaSPedro Giffunigb_Helper_abbreviate_dirs_native = $(gb_Helper_abbreviate_dirs)
153f0a50dfaSPedro Giffuni
154*efd61a20SJohn Bampton# convert parameters filesystem root to native notation
155f0a50dfaSPedro Giffuni# does some real work only on windows, make sure not to
156f0a50dfaSPedro Giffuni# break the dummy implementations on unx*
157f0a50dfaSPedro Giffunidefine gb_Helper_convert_native
158f0a50dfaSPedro Giffuni$(1)
159f0a50dfaSPedro Giffuniendef
160f0a50dfaSPedro Giffuni
161f0a50dfaSPedro Giffuni
1621bb309c6SDamjan Jovanovic# AsmObject class
1631bb309c6SDamjan Jovanovic
1641bb309c6SDamjan Jovanovicgb_AsmObject_EXT := .s
1651bb309c6SDamjan Jovanovic
1661bb309c6SDamjan Jovanovicdefine gb_AsmObject__command
1671bb309c6SDamjan Jovanovic$(call gb_Output_announce,$(2),$(true),ASM,3)
1681bb309c6SDamjan Jovanovic$(call gb_Helper_abbreviate_dirs,\
1691bb309c6SDamjan Jovanovic    mkdir -p $(dir $(1)) && \
1701bb309c6SDamjan Jovanovic    $(gb_CC) \
1711bb309c6SDamjan Jovanovic        $(DEFS) \
1721bb309c6SDamjan Jovanovic        $(T_CFLAGS) \
1731bb309c6SDamjan Jovanovic        $(CFLAGS) \
1741bb309c6SDamjan Jovanovic        -c $(3) \
1751bb309c6SDamjan Jovanovic        -o $(1) \
1761bb309c6SDamjan Jovanovic        -MT $(1) \
1771bb309c6SDamjan Jovanovic        -I$(dir $(3)) \
1781bb309c6SDamjan Jovanovic        $(INCLUDE))
1791bb309c6SDamjan Jovanovicendef
1801bb309c6SDamjan Jovanovic
181f0a50dfaSPedro Giffuni# CObject class
182f0a50dfaSPedro Giffuni
183b63233d8Sdamjan# $(call gb_CObject__command,object,relative-source,source,dep-file)
184f0a50dfaSPedro Giffunidefine gb_CObject__command
185f0a50dfaSPedro Giffuni$(call gb_Output_announce,$(2),$(true),C  ,3)
186f0a50dfaSPedro Giffuni$(call gb_Helper_abbreviate_dirs,\
187b63233d8Sdamjan    mkdir -p $(dir $(1)) $(dir $(4)) && \
188f0a50dfaSPedro Giffuni    $(gb_CC) \
189b63233d8Sdamjan        $(DEFS) \
190b63233d8Sdamjan        $(T_CFLAGS) \
1918e6bd3e9SDon Lewis        $(CFLAGS) \
192f0a50dfaSPedro Giffuni        -c $(3) \
193f0a50dfaSPedro Giffuni        -o $(1) \
194b63233d8Sdamjan        -MMD -MT $(1) \
195b63233d8Sdamjan        -MF $(4) \
196f0a50dfaSPedro Giffuni        -I$(dir $(3)) \
197f0a50dfaSPedro Giffuni        $(INCLUDE))
198f0a50dfaSPedro Giffuniendef
199f0a50dfaSPedro Giffuni
200f0a50dfaSPedro Giffuni
201f0a50dfaSPedro Giffuni# CxxObject class
202f0a50dfaSPedro Giffuni
203b63233d8Sdamjan# $(call gb_CxxObject__command,object,relative-source,source,dep-file)
204f0a50dfaSPedro Giffunidefine gb_CxxObject__command
205f0a50dfaSPedro Giffuni$(call gb_Output_announce,$(2),$(true),CXX,3)
206f0a50dfaSPedro Giffuni$(call gb_Helper_abbreviate_dirs,\
207b63233d8Sdamjan    mkdir -p $(dir $(1)) $(dir $(4)) && \
208f0a50dfaSPedro Giffuni    $(gb_CXX) \
209b63233d8Sdamjan        $(DEFS) \
210b63233d8Sdamjan        $(T_CXXFLAGS) \
2118e6bd3e9SDon Lewis        $(CXXFLAGS) \
212f0a50dfaSPedro Giffuni        -c $(3) \
213f0a50dfaSPedro Giffuni        -o $(1) \
214b63233d8Sdamjan        -MMD -MT $(1) \
215b63233d8Sdamjan        -MF $(4) \
216f0a50dfaSPedro Giffuni        -I$(dir $(3)) \
217f0a50dfaSPedro Giffuni        $(INCLUDE_STL) $(INCLUDE))
218f0a50dfaSPedro Giffuniendef
219f0a50dfaSPedro Giffuni
220f0a50dfaSPedro Giffuni
221f0a50dfaSPedro Giffuni# PrecompiledHeader class
222f0a50dfaSPedro Giffuni
223e6091915Struckmangb_PrecompiledHeader_get_enableflags = -DPRECOMPILED_HEADERS -Yu$(1).hxx \
224f0a50dfaSPedro Giffuni                                       -Fp$(call gb_PrecompiledHeader_get_target,$(1))
225f0a50dfaSPedro Giffuni
226f0a50dfaSPedro Giffuniifeq ($(gb_FULLDEPS),$(true))
227f0a50dfaSPedro Giffunidefine gb_PrecompiledHeader__command_deponcompile
228f0a50dfaSPedro Giffuni$(call gb_Helper_abbreviate_dirs_native,\
229f0a50dfaSPedro Giffuni    $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
230f0a50dfaSPedro Giffuni        $(4) $(5) \
231f0a50dfaSPedro Giffuni        -I$(dir $(3)) \
232f0a50dfaSPedro Giffuni        $(filter-out -I$(COMPATH)% -I$(JAVA_HOME)%,$(6)) \
233f0a50dfaSPedro Giffuni        $(3) \
234f0a50dfaSPedro Giffuni        -f - \
235f0a50dfaSPedro Giffuni    | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \
236f0a50dfaSPedro Giffuni        -v OBJECTFILE=$(1) \
237f0a50dfaSPedro Giffuni        -v OUTDIR=$(OUTDIR)/ \
238f0a50dfaSPedro Giffuni        -v WORKDIR=$(WORKDIR)/ \
239f0a50dfaSPedro Giffuni        -v SRCDIR=$(SRCDIR)/ \
240f0a50dfaSPedro Giffuni        -v REPODIR=$(REPODIR)/ \
241f0a50dfaSPedro Giffuni    > $(call gb_PrecompiledHeader_get_dep_target,$(2)))
242f0a50dfaSPedro Giffuniendef
243f0a50dfaSPedro Giffunielse
244f0a50dfaSPedro Giffunigb_PrecompiledHeader__command_deponcompile =
245f0a50dfaSPedro Giffuniendif
246f0a50dfaSPedro Giffuni
247f0a50dfaSPedro Giffuni
248f0a50dfaSPedro Giffunidefine gb_PrecompiledHeader__command
249f0a50dfaSPedro Giffuni$(call gb_Output_announce,$(2),$(true),PCH,1)
250f0a50dfaSPedro Giffuni$(call gb_Helper_abbreviate_dirs_native,\
251f0a50dfaSPedro Giffuni    mkdir -p $(dir $(1)) $(dir $(call gb_PrecompiledHeader_get_dep_target,$(2))) && \
252f0a50dfaSPedro Giffuni    unset INCLUDE && \
253f0a50dfaSPedro Giffuni    $(gb_CXX) \
254f0a50dfaSPedro Giffuni        $(4) $(5) -Fd$(PDBFILE) \
255f0a50dfaSPedro Giffuni        -I$(dir $(3)) \
256f0a50dfaSPedro Giffuni        $(6) \
257f0a50dfaSPedro Giffuni        -c $(3) \
258e6091915Struckman        -DPRECOMPILED_HEADERS \
259f0a50dfaSPedro Giffuni        -Yc$(notdir $(patsubst %.cxx,%.hxx,$(3))) -Fp$(1) -Fo$(1).obj)
260f0a50dfaSPedro Giffuni$(call gb_PrecompiledHeader__command_deponcompile,$(1),$(2),$(3),$(4),$(5),$(6))
261f0a50dfaSPedro Giffuniendef
262f0a50dfaSPedro Giffuni
263f0a50dfaSPedro Giffuni# NoexPrecompiledHeader class
264f0a50dfaSPedro Giffuni
265f0a50dfaSPedro Giffunigb_NoexPrecompiledHeader_get_enableflags = -Yu$(1).hxx \
266f0a50dfaSPedro Giffuni                                           -Fp$(call gb_NoexPrecompiledHeader_get_target,$(1))
267f0a50dfaSPedro Giffuni
268f0a50dfaSPedro Giffuniifeq ($(gb_FULLDEPS),$(true))
269f0a50dfaSPedro Giffunidefine gb_NoexPrecompiledHeader__command_deponcompile
270f0a50dfaSPedro Giffuni$(call gb_Helper_abbreviate_dirs_native,\
271f0a50dfaSPedro Giffuni    $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
272f0a50dfaSPedro Giffuni        $(4) $(5) \
273f0a50dfaSPedro Giffuni        -I$(dir $(3)) \
274f0a50dfaSPedro Giffuni        $(filter-out -I$(COMPATH)% -I$(JAVA_HOME)%,$(6)) \
275f0a50dfaSPedro Giffuni        $(3) \
276f0a50dfaSPedro Giffuni        -f - \
277f0a50dfaSPedro Giffuni    | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \
278f0a50dfaSPedro Giffuni        -v OBJECTFILE=$(1) \
279f0a50dfaSPedro Giffuni        -v OUTDIR=$(OUTDIR)/ \
280f0a50dfaSPedro Giffuni        -v WORKDIR=$(WORKDIR)/ \
281f0a50dfaSPedro Giffuni        -v SRCDIR=$(SRCDIR)/ \
282f0a50dfaSPedro Giffuni        -v REPODIR=$(REPODIR)/ \
283f0a50dfaSPedro Giffuni    > $(call gb_NoexPrecompiledHeader_get_dep_target,$(2)))
284f0a50dfaSPedro Giffuniendef
285f0a50dfaSPedro Giffunielse
286f0a50dfaSPedro Giffunigb_NoexPrecompiledHeader__command_deponcompile =
287f0a50dfaSPedro Giffuniendif
288f0a50dfaSPedro Giffuni
289f0a50dfaSPedro Giffuni
290f0a50dfaSPedro Giffunidefine gb_NoexPrecompiledHeader__command
291f0a50dfaSPedro Giffuni$(call gb_Output_announce,$(2),$(true),PCH,1)
292f0a50dfaSPedro Giffuni$(call gb_Helper_abbreviate_dirs_native,\
293f0a50dfaSPedro Giffuni    mkdir -p $(dir $(1)) $(dir $(call gb_NoexPrecompiledHeader_get_dep_target,$(2))) && \
294f0a50dfaSPedro Giffuni    unset INCLUDE && \
295f0a50dfaSPedro Giffuni    $(gb_CXX) \
296f0a50dfaSPedro Giffuni        $(4) $(5) -Fd$(PDBFILE) \
297f0a50dfaSPedro Giffuni        -I$(dir $(3)) \
298f0a50dfaSPedro Giffuni        $(6) \
299f0a50dfaSPedro Giffuni        -c $(3) \
300e6091915Struckman        -DPRECOMPILED_HEADERS \
301f0a50dfaSPedro Giffuni        -Yc$(notdir $(patsubst %.cxx,%.hxx,$(3))) -Fp$(1) -Fo$(1).obj)
302f0a50dfaSPedro Giffuni$(call gb_NoexPrecompiledHeader__command_deponcompile,$(1),$(2),$(3),$(4),$(5),$(6))
303f0a50dfaSPedro Giffuniendef
304f0a50dfaSPedro Giffuni
305f0a50dfaSPedro Giffuni# LinkTarget class
306f0a50dfaSPedro Giffuni
307b63233d8Sdamjangb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_CFLAGS_WERROR)
308f0a50dfaSPedro Giffunigb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS) $(gb_CXXFLAGS_WERROR)
3099e1b801eSDamjan Jovanovicifeq ($(ENABLE_SYMBOLS),SMALL)
3109e1b801eSDamjan Jovanovicgb_DEBUG_CFLAGS := -g1
3119e1b801eSDamjan Jovanovicelse
3129e1b801eSDamjan Jovanovicgb_DEBUG_CFLAGS := -g3
3139e1b801eSDamjan Jovanovicendif
314f0a50dfaSPedro Giffuni
315f0a50dfaSPedro Giffunigb_LinkTarget_INCLUDE :=\
316f0a50dfaSPedro Giffuni    $(filter-out %/stl, $(subst -I. , ,$(SOLARINC))) \
317f0a50dfaSPedro Giffuni    $(foreach inc,$(subst ;, ,$(JDKINC)),-I$(inc)) \
318f0a50dfaSPedro Giffuni
319f0a50dfaSPedro Giffunigb_LinkTarget_INCLUDE_STL := $(filter %/stl, $(subst -I. , ,$(SOLARINC)))
320f0a50dfaSPedro Giffuni
321f0a50dfaSPedro Giffunigb_LinkTarget_get_pdbfile = $(call gb_LinkTarget_get_target,)pdb/$(1).pdb
322f0a50dfaSPedro Giffuni
3234d2a3edfSYuri DarioDLLBASE = $(notdir $(DLLTARGET:.dll=))
3244d2a3edfSYuri DarioDLLDEF = $(dir $(DLLTARGET))$(DLLBASE).def
325f0a50dfaSPedro Giffuni
326f0a50dfaSPedro Giffunidefine gb_LinkTarget__command_dynamiclinkexecutable
327f0a50dfaSPedro Giffuni$(call gb_Output_announce,$(2),$(true),LNK,4)
328f0a50dfaSPedro Giffuni$(call gb_Helper_abbreviate_dirs_native,\
329f0a50dfaSPedro Giffuni    mkdir -p $(dir $(1)) && \
330f0a50dfaSPedro Giffuni    rm -f $(1) && \
3314d2a3edfSYuri Dario    $(if $(DLLTARGET), echo LIBRARY $(DLLBASE) INITINSTANCE TERMINSTANCE > $(DLLDEF) &&) \
3324d2a3edfSYuri Dario    $(if $(DLLTARGET), echo DATA MULTIPLE >> $(DLLDEF) &&) \
333f0a50dfaSPedro Giffuni    RESPONSEFILE=$(call var2filecr,$(shell $(gb_MKTEMP)),1, \
3346bf52fdaSDamjan Jovanovic        $(call gb_Helper_convert_native,\
3356bf52fdaSDamjan Jovanovic        $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
336f0a50dfaSPedro Giffuni        $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
337f0a50dfaSPedro Giffuni        $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
3387f6ffbefSDamjan Jovanovic        $(foreach object,$(GENCOBJECTS),$(call gb_GenCObject_get_target,$(object))) \
3396bf52fdaSDamjan Jovanovic        $(foreach object,$(ASMOBJECTS),$(call gb_AsmObject_get_target,$(object))) \
340f0a50dfaSPedro Giffuni        $(PCHOBJS))) && \
341cde270a3SYuri Dario    $(if $(DLLTARGET), echo EXPORTS >> $(DLLDEF) &&) \
342cde270a3SYuri Dario    $(if $(DLLTARGET), emxexp @$${RESPONSEFILE} | fix_exp_file | sort | uniq | fix_def_ord >> $(DLLDEF) &&) \
343f0a50dfaSPedro Giffuni    $(gb_LINK) \
344dfce871fSDamjan Jovanovic        $(if $(filter Library,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
345f0a50dfaSPedro Giffuni        $(if $(filter StaticLibrary,$(TARGETTYPE)),$(gb_StaticLibrary_TARGETTYPEFLAGS)) \
346f0a50dfaSPedro Giffuni        $(if $(filter Executable,$(TARGETTYPE)),$(gb_Executable_TARGETTYPEFLAGS)) \
3473b02a9c8SDamjan Jovanovic        $(if $(VERSIONMAP),$(gb_Library_VERSIONMAPFLAG) $(VERSIONMAP)) \
348b63233d8Sdamjan        $(T_LDFLAGS) \
349f0a50dfaSPedro Giffuni        @$${RESPONSEFILE} \
3504d2a3edfSYuri Dario        $(if $(DLLTARGET), $(DLLDEF)) \
351f0a50dfaSPedro Giffuni        $(NATIVERES) \
3529b09309dSdamjan        $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) \
353f0a50dfaSPedro Giffuni        $(patsubst %.lib,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib)))) \
35444c25570SAndre Fischer        $(patsubst %,-l%,$(EXTERNAL_LIBS)) \
355b63233d8Sdamjan        $(LIBS) \
3564d2a3edfSYuri Dario        $(if $(DLLTARGET),-o $(DLLTARGET), -o $(1) ); \
357f0a50dfaSPedro Giffuni        RC=$$?; rm $${RESPONSEFILE} \
358cde270a3SYuri Dario    $(if $(DLLTARGET),; emximp -p2048 -o $(1) $(DLLDEF) ) \
359f0a50dfaSPedro Giffuni    $(if $(DLLTARGET),; if [ ! -f $(DLLTARGET) ]; then rm -f $(1) && false; fi) ; exit $$RC)
360f0a50dfaSPedro Giffuniendef
361f0a50dfaSPedro Giffuni
362f0a50dfaSPedro Giffuni
363f0a50dfaSPedro Giffunidefine gb_LinkTarget__command_staticlinklibrary
364f0a50dfaSPedro Giffuni$(call gb_Helper_abbreviate_dirs_native,\
365f0a50dfaSPedro Giffuni    mkdir -p $(dir $(1)) && \
366f0a50dfaSPedro Giffuni    RESPONSEFILE=`$(gb_MKTEMP)` && \
367f0a50dfaSPedro Giffuni    echo "$(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
368f0a50dfaSPedro Giffuni        $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
3697f6ffbefSDamjan Jovanovic        $(foreach object,$(GENCOBJECTS),$(call gb_GenCObject_get_target,$(object))) \
370f0a50dfaSPedro Giffuni        $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) " > $${RESPONSEFILE} && \
371f0a50dfaSPedro Giffuni    $(gb_AR) cru\
372f0a50dfaSPedro Giffuni        $(1) \
373f0a50dfaSPedro Giffuni        @$${RESPONSEFILE})
374f0a50dfaSPedro Giffuniendef
375f0a50dfaSPedro Giffuni
376f0a50dfaSPedro Giffunidefine gb_LinkTarget__command
377f0a50dfaSPedro Giffuni$(call gb_Output_announce,$(2),$(true),LNK,4)
378e75d772dSDamjan Jovanovic$(if $(filter GoogleTest Executable,$(TARGETTYPE)),$(call gb_LinkTarget__command_dynamiclinkexecutable,$(1),$(2)))
379dfce871fSDamjan Jovanovic$(if $(filter Library,$(TARGETTYPE)),$(call gb_LinkTarget__command_dynamiclinkexecutable,$(1),$(2)))
380f0a50dfaSPedro Giffuni$(if $(filter StaticLibrary,$(TARGETTYPE)),$(call gb_LinkTarget__command_staticlinklibrary,$(1)))
381f0a50dfaSPedro Giffuniendef
382f0a50dfaSPedro Giffuni
383f0a50dfaSPedro Giffuni
384f0a50dfaSPedro Giffuni# Library class
385f0a50dfaSPedro Giffuni
386b63233d8Sdamjangb_Library_DEFS := -D_DLL_
387f0a50dfaSPedro Giffunigb_Library_TARGETTYPEFLAGS := -Zdll
3883b02a9c8SDamjan Jovanovicgb_Library_VERSIONMAPFLAG := -Wl,--version-script
389f0a50dfaSPedro Giffunigb_Library_get_rpath :=
390f0a50dfaSPedro Giffuni
391685bfa88SYuri Dariogb_Library_SYSPRE :=
392f0a50dfaSPedro Giffunigb_Library_PLAINEXT := .lib
393f0a50dfaSPedro Giffuni
394f0a50dfaSPedro Giffunigb_Library_PLAINLIBS_NONE += \
3954d2a3edfSYuri Dario    stdc++ \
396f0a50dfaSPedro Giffuni    ft2lib \
397f0a50dfaSPedro Giffuni    dl \
398f0a50dfaSPedro Giffuni    freetype \
399f0a50dfaSPedro Giffuni    m \
400dfce871fSDamjan Jovanovic    pthread
401f0a50dfaSPedro Giffuni
402f0a50dfaSPedro Giffunigb_Library_LAYER := \
403f0a50dfaSPedro Giffuni    $(foreach lib,$(gb_Library_OOOLIBS),$(lib):OOO) \
404f0a50dfaSPedro Giffuni    $(foreach lib,$(gb_Library_PLAINLIBS_NONE),$(lib):OOO) \
405f0a50dfaSPedro Giffuni    $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):OOO) \
406f0a50dfaSPedro Giffuni    $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):OOO) \
407f0a50dfaSPedro Giffuni    $(foreach lib,$(gb_Library_RTLIBS),$(lib):OOO) \
408f0a50dfaSPedro Giffuni    $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):OOO) \
409f0a50dfaSPedro Giffuni    $(foreach lib,$(gb_Library_STLLIBS),$(lib):OOO) \
410f0a50dfaSPedro Giffuni    $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):OOO) \
411f0a50dfaSPedro Giffuni    $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):OOO) \
412f0a50dfaSPedro Giffuni    $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):OOO) \
413f0a50dfaSPedro Giffuni
414f0a50dfaSPedro Giffunigb_Library_FILENAMES :=\
4154d2a3edfSYuri Dario    $(foreach lib,$(gb_Library_TARGETS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT))
4164d2a3edfSYuri Dario
417f0a50dfaSPedro Giffuni
418f0a50dfaSPedro Giffunigb_Library_DLLEXT := .dll
419f0a50dfaSPedro Giffunigb_Library_MAJORVER :=
420f0a50dfaSPedro Giffunigb_Library_RTEXT := $(gb_Library_DLLEXT)
421f0a50dfaSPedro Giffuniifeq ($(gb_PRODUCT),$(true))
42262c6e450SYuri Dariogb_Library_STLEXT := stdc++$(gb_Library_DLLEXT)
423f0a50dfaSPedro Giffunielse
424f0a50dfaSPedro Giffunigb_Library_STLEXT := stlp45_stldebug$(gb_Library_DLLEXT)
425f0a50dfaSPedro Giffuniendif
426f0a50dfaSPedro Giffunigb_Library_OOOEXT := $(gb_Library_DLLEXT)
427f0a50dfaSPedro Giffunigb_Library_UNOEXT := .uno$(gb_Library_DLLEXT)
428f0a50dfaSPedro Giffunigb_Library_UNOVEREXT := $(gb_Library_MAJORVER)$(gb_Library_DLLEXT)
429f0a50dfaSPedro Giffunigb_Library_RTVEREXT := $(gb_Library_MAJORVER)$(gb_Library_RTEXT)
430f0a50dfaSPedro Giffuni
431f0a50dfaSPedro Giffunigb_Library_DLLFILENAMES :=\
432f0a50dfaSPedro Giffuni    $(foreach lib,$(gb_Library_OOOLIBS),$(lib):$(lib)$(gb_Library_OOOEXT)) \
433f0a50dfaSPedro Giffuni    $(foreach lib,$(gb_Library_PLAINLIBS_NONE),$(lib):$(lib)$(gb_Library_DLLEXT)) \
434f0a50dfaSPedro Giffuni    $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(lib)$(gb_Library_DLLEXT)) \
435f0a50dfaSPedro Giffuni    $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):$(lib)$(gb_Library_DLLEXT)) \
436f0a50dfaSPedro Giffuni    $(foreach lib,$(gb_Library_RTLIBS),$(lib):$(lib)$(gb_Library_RTEXT)) \
437f0a50dfaSPedro Giffuni    $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):$(lib)$(gb_Library_RTVEREXT)) \
438f0a50dfaSPedro Giffuni    $(foreach lib,$(gb_Library_STLLIBS),$(lib):$(lib)$(gb_Library_STLEXT)) \
439f0a50dfaSPedro Giffuni    $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):$(lib)$(gb_Library_UNOEXT)) \
440f0a50dfaSPedro Giffuni    $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):$(lib)$(gb_Library_UNOEXT)) \
441f0a50dfaSPedro Giffuni    $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):$(lib)$(gb_Library_UNOVEREXT)) \
442f0a50dfaSPedro Giffuni
443f0a50dfaSPedro Giffunidefine gb_Library_Library_platform
444f0a50dfaSPedro Giffuni$(call gb_LinkTarget_set_dlltarget,$(2),$(3))
445f0a50dfaSPedro Giffuni
446f0a50dfaSPedro Giffuni#$(call gb_LinkTarget_set_auxtargets,$(2),\
447f0a50dfaSPedro Giffuni    $(patsubst %.lib,%.exp,$(call gb_LinkTarget_get_target,$(2))) \
448f0a50dfaSPedro Giffuni    $(3).manifest \
449f0a50dfaSPedro Giffuni    $(call gb_LinkTarget_get_pdbfile,$(2)) \
450f0a50dfaSPedro Giffuni    $(patsubst %.dll,%.pdb,$(3)) \
451f0a50dfaSPedro Giffuni    $(patsubst %.dll,%.ilk,$(3)) \
452f0a50dfaSPedro Giffuni)
453f0a50dfaSPedro Giffuni
454f0a50dfaSPedro Giffuni$(call gb_Library_get_target,$(1)) \
455f0a50dfaSPedro Giffuni$(call gb_Library_get_clean_target,$(1)) : AUXTARGETS := $(OUTDIR)/bin/$(notdir $(3))
456f0a50dfaSPedro Giffuni
457f0a50dfaSPedro Giffuniifneq ($(ENABLE_CRASHDUMP),)
458f0a50dfaSPedro Giffuni$(call gb_Library_get_target,$(1)) \
459f0a50dfaSPedro Giffuni$(call gb_Library_get_clean_target,$(1)) : AUXTARGETS +=  \
460f0a50dfaSPedro Giffuni        $(OUTDIR)/bin/$(notdir $(patsubst %.dll,%.pdb,$(3))) \
461f0a50dfaSPedro Giffuni        $(OUTDIR)/bin/$(notdir $(patsubst %.dll,%.ilk,$(3))) \
462f0a50dfaSPedro Giffuni
463b63233d8Sdamjan$(call gb_Deliver_add_deliverable,$(OUTDIR)/bin/$(notdir $(patsubst %.dll,%.pdb,$(3))),$(patsubst %.dll,%.pdb,$(3)),$(1))
464b63233d8Sdamjan$(call gb_Deliver_add_deliverable,$(OUTDIR)/bin/$(notdir $(patsubst %.dll,%.ilk,$(3))),$(patsubst %.dll,%.ilk,$(3)),$(1))
465f0a50dfaSPedro Giffuniendif
466f0a50dfaSPedro Giffuni
467b63233d8Sdamjan$(call gb_Deliver_add_deliverable,$(OUTDIR)/bin/$(notdir $(3)),$(3),$(1))
468f0a50dfaSPedro Giffuni
469f0a50dfaSPedro Giffuni$(call gb_LinkTarget_get_target,$(2)) \
470f0a50dfaSPedro Giffuni$(call gb_LinkTarget_get_headers_target,$(2)) : PDBFILE = $(call gb_LinkTarget_get_pdbfile,$(2))
471f0a50dfaSPedro Giffuni
472f0a50dfaSPedro Giffuniendef
473f0a50dfaSPedro Giffuni
474f0a50dfaSPedro Giffunidefine gb_Library_add_default_nativeres_DISABLED
475f0a50dfaSPedro Giffuni$(call gb_WinResTarget_WinResTarget_init,$(1)/$(2))
476f0a50dfaSPedro Giffuni$(call gb_WinResTarget_add_file,$(1)/$(2),solenv/inc/shlinfo)
477f0a50dfaSPedro Giffuni$(call gb_WinResTarget_set_defs,$(1)/$(2),\
478f0a50dfaSPedro Giffuni        $$(DEFS) \
479f0a50dfaSPedro Giffuni        -DADDITIONAL_VERINFO1 \
480f0a50dfaSPedro Giffuni        -DADDITIONAL_VERINFO2 \
481f0a50dfaSPedro Giffuni        -DADDITIONAL_VERINFO3 \
482f0a50dfaSPedro Giffuni)
483f0a50dfaSPedro Giffuni$(call gb_Library_add_nativeres,$(1),$(2))
484f0a50dfaSPedro Giffuni$(call gb_Library_get_clean_target,$(1)) : $(call gb_WinResTarget_get_clean_target,$(1)/$(2))
485f0a50dfaSPedro Giffuni
486f0a50dfaSPedro Giffuniendef
487f0a50dfaSPedro Giffuni
488f0a50dfaSPedro Giffunidefine gb_Library_add_nativeres
489f0a50dfaSPedro Giffuni$(call gb_LinkTarget_get_target,$(call gb_Library__get_linktargetname,$(1))) : $(call gb_WinResTarget_get_target,$(1)/$(2))
490f0a50dfaSPedro Giffuni$(call gb_LinkTarget_get_target,$(call gb_Library__get_linktargetname,$(1))) : NATIVERES += $(call gb_WinResTarget_get_target,$(1)/$(2))
491f0a50dfaSPedro Giffuni
492f0a50dfaSPedro Giffuniendef
493f0a50dfaSPedro Giffuni
494f0a50dfaSPedro Giffunidefine gb_Library_get_dllname
495f0a50dfaSPedro Giffuni$(patsubst $(1):%,%,$(filter $(1):%,$(gb_Library_DLLFILENAMES)))
496f0a50dfaSPedro Giffuniendef
497f0a50dfaSPedro Giffuni
498f0a50dfaSPedro Giffuni
499f0a50dfaSPedro Giffuni# StaticLibrary class
500f0a50dfaSPedro Giffuni
501f0a50dfaSPedro Giffunigb_StaticLibrary_DEFS :=
502f0a50dfaSPedro Giffunigb_StaticLibrary_SYSPRE :=
503f0a50dfaSPedro Giffunigb_StaticLibrary_PLAINEXT := .lib
504f0a50dfaSPedro Giffunigb_StaticLibrary_JPEGEXT := lib$(gb_StaticLibrary_PLAINEXT)
505f0a50dfaSPedro Giffuni
506f0a50dfaSPedro Giffunigb_StaticLibrary_FILENAMES := \
507f0a50dfaSPedro Giffuni    $(foreach lib,$(gb_StaticLibrary_JPEGLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_JPEGEXT)) \
508f0a50dfaSPedro Giffuni    $(foreach lib,$(gb_StaticLibrary_PLAINLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_PLAINEXT)) \
509f0a50dfaSPedro Giffuni
510f0a50dfaSPedro Giffunigb_StaticLibrary_StaticLibrary_platform =
511f0a50dfaSPedro Giffuni
512f0a50dfaSPedro Giffuni
513f0a50dfaSPedro Giffuni# Executable class
514f0a50dfaSPedro Giffuni
515f0a50dfaSPedro Giffunigb_Executable_EXT := .exe
516f0a50dfaSPedro Giffunigb_Executable_TARGETTYPEFLAGS :=
517f0a50dfaSPedro Giffuni#-RELEASE -BASE:0x1b000000 -OPT:NOREF -INCREMENTAL:NO -DEBUG
518f0a50dfaSPedro Giffunigb_Executable_get_rpath :=
519f0a50dfaSPedro Giffuni
5207f6ffbefSDamjan Jovanovicgb_InBuild_Library_Path := $(OUTDIR)/bin
5217f6ffbefSDamjan Jovanovicgb_Augment_Library_Path := PATH="$${PATH}:$(gb_InBuild_Library_Path)"
5227f6ffbefSDamjan Jovanovic
523f0a50dfaSPedro Giffunidefine gb_Executable_Executable_platform
524f0a50dfaSPedro Giffuni#$(call gb_LinkTarget_set_auxtargets,$(2),\
525f0a50dfaSPedro Giffuni#   $(patsubst %.exe,%.pdb,$(call gb_LinkTarget_get_target,$(2))) \
526f0a50dfaSPedro Giffuni#   $(call gb_LinkTarget_get_pdbfile,$(2)) \
527f0a50dfaSPedro Giffuni#   $(call gb_LinkTarget_get_target,$(2)).manifest \
528f0a50dfaSPedro Giffuni#)
529f0a50dfaSPedro Giffuni
530f0a50dfaSPedro Giffuni#$(call gb_Executable_get_target,$(1)) \
531f0a50dfaSPedro Giffuni#$(call gb_Executable_get_clean_target,$(1)) : AUXTARGETS := $(call gb_Executable_get_target,$(1)).manifest
532b63233d8Sdamjan#$(call gb_Deliver_add_deliverable,$(call gb_Executable_get_target,$(1)).manifest,$(call gb_LinkTarget_get_target,$(2)).manifest,$(1))
533f0a50dfaSPedro Giffuni
534f0a50dfaSPedro Giffuni#$(call gb_LinkTarget_get_target,$(2)) \
535f0a50dfaSPedro Giffuni#$(call gb_LinkTarget_get_headers_target,$(2)) : PDBFILE = $(call gb_LinkTarget_get_pdbfile,$(2))
536f0a50dfaSPedro Giffuni
537f0a50dfaSPedro Giffuniendef
538f0a50dfaSPedro Giffuni
539e75d772dSDamjan Jovanovic# GoogleTest class
540e75d772dSDamjan Jovanovic
541e75d772dSDamjan Jovanovicgb_GoogleTest_GTESTPRECOMMAND := PATH="$${PATH}:$(OUTDIR)/bin"
542e75d772dSDamjan Jovanovicgb_GoogleTest_get_filename = $(1)$(gb_Executable_EXT)
543e75d772dSDamjan Jovanovic
544e75d772dSDamjan Jovanovicdefine gb_GoogleTest_GoogleTest_platform
545e75d772dSDamjan Jovanovicendef
546e75d772dSDamjan Jovanovic
547f0a50dfaSPedro Giffuni# JunitTest class
548f0a50dfaSPedro Giffuni
549f0a50dfaSPedro Giffunidefine gb_JunitTest_JunitTest_platform
550f0a50dfaSPedro Giffuni$(call gb_JunitTest_get_target,$(1)) : DEFS := \
55164c5c8b7SDamjan Jovanovic    -Dorg.openoffice.test.arg.soffice="$$$${OOO_TEST_SOFFICE:-path:$(SRCDIR)/instsetoo_native/$(INPATH)/Apache_OpenOffice/installed/install/en-US/OpenOffice 4/program/soffice.exe}" \
552f0a50dfaSPedro Giffuni    -Dorg.openoffice.test.arg.env=PATH \
553f0a50dfaSPedro Giffuni    -Dorg.openoffice.test.arg.user=file:///$(call gb_JunitTest_get_userdir,$(1)) \
554f0a50dfaSPedro Giffuni
555f0a50dfaSPedro Giffuniendef
556f0a50dfaSPedro Giffuni
557f0a50dfaSPedro Giffuni
558d6a83b31SDamjan Jovanovic# Ant class
559d6a83b31SDamjan Jovanovic
560d6a83b31SDamjan Jovanovicdefine gb_Ant_add_dependencies
561d6a83b31SDamjan Jovanovic__ant_out:=$(shell $(gb_Ant_ANTCOMMAND) -Ddependencies.outfile=`cygpath -m $(WORKDIR)/Ant/$(1)/deps` -f `cygpath -m $(2)` dependencies)
562d6a83b31SDamjan Jovanovic$$(eval $(foreach dep,$(shell cat $(WORKDIR)/Ant/$(1)/deps),$$(call gb_Ant_add_dependency,$(call gb_Ant_get_target,$(1)),$(shell cygpath -u $(dep)))))
563d6a83b31SDamjan Jovanovic
564d6a83b31SDamjan Jovanovicendef
565d6a83b31SDamjan Jovanovic
566d6a83b31SDamjan Jovanovic
567f0a50dfaSPedro Giffuni# SdiTarget class
568f0a50dfaSPedro Giffuni
569f0a50dfaSPedro Giffunigb_SdiTarget_SVIDLPRECOMMAND := PATH="$${PATH}:$(OUTDIR)/bin"
570f0a50dfaSPedro Giffuni
571f0a50dfaSPedro Giffuni# SrsPartMergeTarget
572f0a50dfaSPedro Giffuni
573f0a50dfaSPedro Giffunigb_SrsPartMergeTarget_TRANSEXPRECOMMAND := PATH="$${PATH}:$(OUTDIR)/bin"
574f0a50dfaSPedro Giffuni
575f0a50dfaSPedro Giffuni# SrsPartTarget class
576f0a50dfaSPedro Giffuni
577f0a50dfaSPedro Giffunigb_SrsPartTarget_RSCTARGET := $(OUTDIR)/bin/rsc.exe
578f0a50dfaSPedro Giffunigb_SrsPartTarget_RSCCOMMAND := SOLARBINDIR=$(OUTDIR)/bin $(gb_SrsPartTarget_RSCTARGET)
579f0a50dfaSPedro Giffuni
580f0a50dfaSPedro Giffuniifeq ($(gb_FULLDEPS),$(true))
581f0a50dfaSPedro Giffunidefine gb_SrsPartTarget__command_dep
582f0a50dfaSPedro Giffuni$(call gb_Helper_abbreviate_dirs_native,\
583f0a50dfaSPedro Giffuni    $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
584f0a50dfaSPedro Giffuni        $(INCLUDE) \
585f0a50dfaSPedro Giffuni        $(DEFS) \
586f0a50dfaSPedro Giffuni        $(2) \
587f0a50dfaSPedro Giffuni        -f - \
588f0a50dfaSPedro Giffuni    | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \
589f0a50dfaSPedro Giffuni        -v OBJECTFILE=$(call gb_SrsPartTarget_get_target,$(1)) \
590f0a50dfaSPedro Giffuni        -v OUTDIR=$(OUTDIR)/ \
591f0a50dfaSPedro Giffuni        -v WORKDIR=$(WORKDIR)/ \
592f0a50dfaSPedro Giffuni        -v SRCDIR=$(SRCDIR)/ \
593f0a50dfaSPedro Giffuni        -v REPODIR=$(REPODIR)/ \
594f0a50dfaSPedro Giffuni    > $(call gb_SrsPartTarget_get_dep_target,$(1)))
595f0a50dfaSPedro Giffuniendef
596f0a50dfaSPedro Giffunielse
597f0a50dfaSPedro Giffunigb_SrsPartTarget__command_dep =
598f0a50dfaSPedro Giffuniendif
599f0a50dfaSPedro Giffuni
600f0a50dfaSPedro Giffuni# WinResTarget class
601f0a50dfaSPedro Giffuni
602f0a50dfaSPedro Giffunigb_WinResTarget_POSTFIX :=.res
603f0a50dfaSPedro Giffuni
604f0a50dfaSPedro Giffunidefine gb_WinResTarget__command
605f0a50dfaSPedro Giffuni$(call gb_Output_announce,$(2),$(true),RES,3)
606f0a50dfaSPedro Giffuni$(call gb_Helper_abbreviate_dirs_native,\
607f0a50dfaSPedro Giffuni    mkdir -p $(dir $(1)) && \
608f0a50dfaSPedro Giffuni    $(gb_RC) \
609f0a50dfaSPedro Giffuni        $(DEFS) $(FLAGS) \
610f0a50dfaSPedro Giffuni        -I$(dir $(3)) \
611f0a50dfaSPedro Giffuni        $(INCLUDE) \
612f0a50dfaSPedro Giffuni        -fo=$(1) \
613f0a50dfaSPedro Giffuni        -r $(RCFILE) )
614f0a50dfaSPedro Giffuniendef
615f0a50dfaSPedro Giffuni
616f0a50dfaSPedro Giffuni$(eval $(call gb_Helper_make_dep_targets,\
617f0a50dfaSPedro Giffuni    WinResTarget \
618f0a50dfaSPedro Giffuni))
619f0a50dfaSPedro Giffuni
620f0a50dfaSPedro Giffuniifeq ($(gb_FULLDEPS),$(true))
621f0a50dfaSPedro Giffunidefine gb_WinResTarget__command_dep
622f0a50dfaSPedro Giffuni$(call gb_Helper_abbreviate_dirs_native,\
623f0a50dfaSPedro Giffuni    $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
624f0a50dfaSPedro Giffuni        $(INCLUDE) \
625f0a50dfaSPedro Giffuni        $(DEFS) \
626f0a50dfaSPedro Giffuni        $(2) \
627f0a50dfaSPedro Giffuni        -f - \
628f0a50dfaSPedro Giffuni    | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \
629f0a50dfaSPedro Giffuni        -v OBJECTFILE=$(call gb_WinResTarget_get_target,$(1)) \
630f0a50dfaSPedro Giffuni        -v OUTDIR=$(OUTDIR)/ \
631f0a50dfaSPedro Giffuni        -v WORKDIR=$(WORKDIR)/ \
632f0a50dfaSPedro Giffuni        -v SRCDIR=$(SRCDIR)/ \
633f0a50dfaSPedro Giffuni        -v REPODIR=$(REPODIR)/ \
634f0a50dfaSPedro Giffuni    > $(call gb_WinResTarget_get_dep_target,$(1)))
635f0a50dfaSPedro Giffuniendef
636f0a50dfaSPedro Giffunielse
637f0a50dfaSPedro Giffunigb_WinResTarget__command_dep =
638f0a50dfaSPedro Giffuniendif
639f0a50dfaSPedro Giffuni
640f0a50dfaSPedro Giffuni# ComponentTarget
641f0a50dfaSPedro Giffuni
642f0a50dfaSPedro Giffunigb_XSLTPROCPRECOMMAND := PATH="$${PATH}:$(OUTDIR)/bin"
643f0a50dfaSPedro Giffunigb_Library_COMPONENTPREFIXES := \
644910823aeSJürgen Schmidt    OOO:vnd.sun.star.expand:\dOOO_BASE_DIR/program/ \
645f0a50dfaSPedro Giffuni    URELIB:vnd.sun.star.expand:\dURE_INTERNAL_LIB_DIR/ \
646b63233d8Sdamjan    NONE:vnd.sun.star.expand:\dOOO_INBUILD_SHAREDLIB_DIR/ \
647b63233d8Sdamjan
648b63233d8Sdamjan# UnoApiTarget
649b63233d8Sdamjan
650b63233d8Sdamjangb_UnoApiTarget_IDLCTARGET := $(OUTDIR)/bin/idlc.exe
651b63233d8Sdamjangb_UnoApiTarget_IDLCCOMMAND := SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_IDLCTARGET)
652b63233d8Sdamjangb_UnoApiTarget_REGMERGETARGET := $(OUTDIR)/bin/regmerge.exe
653b63233d8Sdamjangb_UnoApiTarget_REGMERGECOMMAND := SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_REGMERGETARGET)
654b63233d8Sdamjangb_UnoApiTarget_REGCOMPARETARGET := $(OUTDIR)/bin/regcompare.exe
655b63233d8Sdamjangb_UnoApiTarget_REGCOMPARECOMMAND := SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_REGCOMPARETARGET)
656b63233d8Sdamjangb_UnoApiTarget_CPPUMAKERTARGET := $(OUTDIR)/bin/cppumaker.exe
657b63233d8Sdamjangb_UnoApiTarget_CPPUMAKERCOMMAND := SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_CPPUMAKERTARGET)
658b63233d8Sdamjangb_UnoApiTarget_REGVIEWTARGET := $(OUTDIR)/bin/regview.exe
659b63233d8Sdamjangb_UnoApiTarget_REGVIEWCOMMAND := SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_REGVIEWTARGET)
660f0a50dfaSPedro Giffuni
661f0a50dfaSPedro Giffuni# vim: set noet sw=4 ts=4:
662