xref: /trunk/main/solenv/gbuild/platform/macosx.mk (revision 5b69b91256f59140d943c8d465c9d695d23f560d)
1#**************************************************************
2#
3#  Licensed to the Apache Software Foundation (ASF) under one
4#  or more contributor license agreements.  See the NOTICE file
5#  distributed with this work for additional information
6#  regarding copyright ownership.  The ASF licenses this file
7#  to you under the Apache License, Version 2.0 (the
8#  "License"); you may not use this file except in compliance
9#  with the License.  You may obtain a copy of the License at
10#
11#    http://www.apache.org/licenses/LICENSE-2.0
12#
13#  Unless required by applicable law or agreed to in writing,
14#  software distributed under the License is distributed on an
15#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16#  KIND, either express or implied.  See the License for the
17#  specific language governing permissions and limitations
18#  under the License.
19#
20#**************************************************************
21
22
23
24GUI := UNX
25#COM := S5ABI
26COMID := s5abi
27
28# Darwin mktemp -t expects a prefix, not a pattern
29gb_MKTEMP ?= /usr/bin/mktemp -t gbuild.
30
31gb_CC := cc
32gb_CXX := g++
33gb_GCCP := gcc
34gb_AR := ar
35gb_AWK := awk
36gb_CLASSPATHSEP := :
37
38# use CC/CXX if they are nondefaults
39ifneq ($(origin CC),default)
40gb_CC := $(CC)
41gb_GCCP := $(CC)
42endif
43ifneq ($(origin CXX),default)
44gb_CXX := $(CXX)
45endif
46
47gb_OSDEFS := \
48    -D$(OS) \
49    -D_PTHREADS \
50    -DUNIX \
51    -DUNX \
52    -D_REENTRANT \
53    -DNO_PTHREAD_PRIORITY \
54    -DQUARTZ \
55    $(EXTRA_CDEFS) \
56
57gb_COMPILERDEFS := \
58    -D$(COM) \
59    -DHAVE_GCC_VISIBILITY_FEATURE \
60    -DCPPU_ENV=$(COMNAME) \
61
62gb_CPUDEFS := -D$(ALIGN) -D$(CPUNAME)
63ifeq ($(CPUNAME),POWERPC)
64gb_CPUDEFS += -DPOWERPC -DPPC
65else ifeq ($(CPUNAME),INTEL)
66gb_CPUDEFS += -DX86
67else ifeq ($(CPUNAME),AARCH64)
68gb_CPUDEFS += -DARM64
69endif
70
71ifeq ($(strip $(SYSBASE)),)
72    gb_SDKDIR := $(MACOSX_SDK_PATH)
73else
74    gb_SDKDIR := $(SYSBASE)/MacOSX$(MACOSX_DEPLOYMENT_TARGET).sdk
75endif
76
77
78gb_CFLAGS := \
79    -isysroot $(gb_SDKDIR) \
80    -Wall \
81    -Wendif-labels \
82    -Wextra \
83    -Wshadow \
84    -fPIC \
85    -fmessage-length=0 \
86    -fno-common \
87    -fno-strict-aliasing \
88    -pipe \
89
90gb_CXXFLAGS := \
91    -isysroot $(gb_SDKDIR) \
92    -Wall \
93    -Wendif-labels \
94    -Wextra \
95    -Wno-ctor-dtor-privacy \
96    -Wno-non-virtual-dtor \
97    -fPIC \
98    -fmessage-length=0 \
99    -fno-common \
100    -fno-strict-aliasing \
101    -fsigned-char \
102    -pipe
103
104ifneq ($(COM),GCC)
105    gb_CXXFLAGS += -DHAVE_STL_INCLUDE_PATH -I../v1/
106endif
107
108# these are to get g++ to switch to Objective-C++ mode
109# (see toolkit module for a case where it is necessary to do it this way)
110gb_OBJCFLAGS := -x objective-c -fobjc-exceptions
111gb_OBJCXXFLAGS := -x objective-c++ -fobjc-exceptions
112
113# Do NOT force MAC_OS_X_VERSION_MAX_ALLOWED.  Apple renamed the constants at
114# macOS 11: the old MAC_OS_X_VERSION_<v> family stops at 10_15, and 11+ uses
115# MAC_OS_VERSION_<v> (no "_X_").  Forcing MAC_OS_X_VERSION_11_0 references an
116# undefined macro (expands to 0) and trips AvailabilityMacros.h's
117# "MAX_ALLOWED must be >= MIN_REQUIRED" #error.  Letting it default makes the
118# SDK derive max(14.0, MIN_REQUIRED).  (Mirrors solenv/inc/unxmacc.mk.)
119
120ifneq ($(EXTERNAL_WARNINGS_NOT_ERRORS),TRUE)
121gb_CFLAGS_WERROR := -Werror -Wno-error=deprecated
122gb_CXXFLAGS_WERROR := -Werror -Wno-error=deprecated
123endif
124
125gb_LinkTarget_EXCEPTIONFLAGS := \
126    -DEXCEPTIONS_ON \
127    -fexceptions
128
129ifeq ($(COM),GCC)
130    gb_LinkTarget_EXCEPTIONFLAGS += -fno-enforce-eh-specs
131endif
132
133gb_LinkTarget_NOEXCEPTIONFLAGS := \
134    -DEXCEPTIONS_OFF \
135    -fno-exceptions
136
137gb_LinkTarget_LDFLAGS := \
138    -Wl,-syslibroot,$(gb_SDKDIR) \
139    $(subst -L../lib , ,$(SOLARLIB)) \
140#man ld says: obsolete  -Wl,-multiply_defined,suppress \
141
142ifeq ($(ENABLE_SYMBOLS),SMALL)
143gb_DEBUG_CFLAGS := -g1
144else
145gb_DEBUG_CFLAGS := -g3
146endif
147
148ifeq ($(gb_DEBUGLEVEL),2)
149gb_COMPILEROPTFLAGS := -O0
150gb_COMPILEROPT1FLAGS := -O0
151else
152gb_COMPILEROPTFLAGS := -O2
153gb_COMPILEROPT1FLAGS := -O1
154endif
155
156gb_COMPILERNOOPTFLAGS := -O0
157
158# Helper class
159
160gb_Helper_abbreviate_dirs_native = $(gb_Helper_abbreviate_dirs)
161
162# convert parameters filesystem root to native notation
163# does some real work only on windows, make sure not to
164# break the dummy implementations on unx*
165define gb_Helper_convert_native
166$(1)
167endef
168
169# convert parameters filesystem root to native notation
170# does some real work only on windows, make sure not to
171# break the dummy implementations on unx*
172define gb_Helper_convert_native
173$(1)
174endef
175
176
177# AsmObject class
178
179gb_AsmObject_EXT := .s
180
181define gb_AsmObject__command
182$(call gb_Output_announce,$(2),$(true),ASM,3)
183$(call gb_Helper_abbreviate_dirs,\
184    mkdir -p $(dir $(1)) && \
185    $(gb_CC) \
186        $(DEFS) \
187        $(T_CFLAGS) \
188        $(CFLAGS) \
189        -c $(3) \
190        -o $(1) \
191        -MT $(1) \
192        -I$(dir $(3)) \
193        $(INCLUDE))
194endef
195
196# CObject class
197
198define gb_CObject__command
199$(call gb_Output_announce,$(2),$(true),C  ,3)
200$(call gb_Helper_abbreviate_dirs,\
201    mkdir -p $(dir $(1)) $(dir $(4)) && \
202    $(gb_CC) \
203        $(DEFS) \
204        $(T_CFLAGS) \
205        $(CFLAGS) \
206        -c $(3) \
207        -o $(1) \
208        -MMD -MT $(1) \
209        -MF $(4) \
210        -I$(dir $(3)) \
211        $(INCLUDE))
212endef
213
214
215# CxxObject class
216
217# N.B: $(CXXFLAGS) may contain -x objective-c++, which must come before -c
218define gb_CxxObject__command
219$(call gb_Output_announce,$(2),$(true),CXX,3)
220$(call gb_Helper_abbreviate_dirs,\
221    mkdir -p $(dir $(1)) $(dir $(4)) && \
222    $(gb_CXX) \
223        $(DEFS) \
224        $(T_CXXFLAGS) \
225        $(CXXFLAGS) \
226        -c $(3) \
227        -o $(1) \
228        -MMD -MT $(1) \
229        -MF $(4) \
230        -I$(dir $(3)) \
231        $(INCLUDE_STL) $(INCLUDE))
232endef
233
234
235# ObjCObject class
236
237define gb_ObjCObject__command
238$(call gb_Output_announce,$(2),$(true),OC,3)
239$(call gb_Helper_abbreviate_dirs,\
240    mkdir -p $(dir $(1)) $(dir $(4)) && \
241    $(gb_CC) \
242        $(DEFS) \
243        $(T_OBJCFLAGS) \
244        $(OBJCFLAGS) \
245        -c $(3) \
246        -o $(1) \
247        -MMD -MT $(1) \
248        -MF $(4) \
249        -I$(dir $(3)) \
250        $(INCLUDE_STL) $(INCLUDE))
251endef
252
253
254# ObjCxxObject class
255
256define gb_ObjCxxObject__command
257$(call gb_Output_announce,$(2),$(true),OCX,3)
258$(call gb_Helper_abbreviate_dirs,\
259    mkdir -p $(dir $(1)) $(dir $(4)) && \
260    $(gb_CXX) \
261        $(DEFS) \
262        $(T_OBJCXXFLAGS) \
263        $(OBJCXXFLAGS) \
264        -c $(3) \
265        -o $(1) \
266        -MMD -MT $(1) \
267        -MF $(4) \
268        -I$(dir $(3)) \
269        $(INCLUDE_STL) $(INCLUDE))
270endef
271
272
273# LinkTarget class
274
275define gb_LinkTarget__get_rpath_for_layer
276$(patsubst $(1):%,%,$(filter $(1):%,$(gb_LinkTarget__RPATHS)))
277endef
278
279gb_LinkTarget__RPATHS := \
280    URELIB:@_______URELIB/ \
281    UREBIN: \
282    OOO:@_______OOO/ \
283    BRAND: \
284    SDKBIN: \
285    NONEBIN: \
286
287define gb_LinkTarget__get_installname
288$(if $(2),-install_name '$(2)$(1)',)
289endef
290
291gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_CFLAGS_WERROR)
292gb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS) $(gb_CXXFLAGS_WERROR)
293gb_LinkTarget_OBJCFLAGS := $(gb_CFLAGS) $(gb_CFLAGS_WERROR) $(gb_OBJCFLAGS)
294gb_LinkTarget_OBJCXXFLAGS := $(gb_CXXFLAGS) $(gb_CXXFLAGS_WERROR) $(gb_OBJCXXFLAGS)
295
296gb_LinkTarget_INCLUDE := $(filter-out %/stl, $(subst -I. , ,$(SOLARINC)))
297gb_LinkTarget_INCLUDE_STL := $(filter %/stl, $(subst -I. , ,$(SOLARINC)))
298
299# FIXME framework handling very hackish
300define gb_LinkTarget__get_liblinkflags
301$(patsubst lib%.dylib,-l%,$(foreach lib,$(filter-out $(gb_Library__FRAMEWORKS),$(1)),$(call gb_Library_get_filename,$(lib)))) \
302$(addprefix -framework ,$(filter $(gb_Library__FRAMEWORKS),$(1)))
303endef
304
305define gb_LinkTarget__get_layer
306$(if $(filter Executable,$(1)),\
307    $$(call gb_Executable_get_layer,$(2)),\
308    $$(call gb_Library_get_layer,$(2)))
309endef
310
311# FIXME the DYLIB_FILE mess is only necessary because
312# solver layout is different from installation layout
313define gb_LinkTarget__command_dynamiclink
314$(call gb_Helper_abbreviate_dirs,\
315    mkdir -p $(dir $(1)) && \
316    DYLIB_FILE=`$(gb_MKTEMP)` && \
317    $(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
318        $(if $(filter Executable,$(TARGETTYPE)),$(gb_Executable_TARGETTYPEFLAGS)) \
319        $(if $(filter Library,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
320        $(subst \d,$$,$(RPATH)) \
321        $(T_LDFLAGS) \
322        $(patsubst lib%.dylib,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib)))) \
323        $(patsubst %,-l%,$(EXTERNAL_LIBS)) \
324        > $${DYLIB_FILE} && \
325    $(gb_CXX) \
326        $(if $(filter Executable,$(TARGETTYPE)),$(gb_Executable_TARGETTYPEFLAGS)) \
327        $(if $(filter Library,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
328        $(subst \d,$$,$(RPATH)) \
329        $(T_LDFLAGS) $(gb_macos_LDFLAGS) \
330        $(call gb_LinkTarget__get_liblinkflags,$(LINKED_LIBS)) \
331        $(foreach object,$(ASMOBJECTS),$(call gb_AsmObject_get_target,$(object))) \
332        $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
333        $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
334        $(foreach object,$(OBJCOBJECTS),$(call gb_ObjCObject_get_target,$(object))) \
335        $(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_target,$(object))) \
336        $(foreach object,$(GENCOBJECTS),$(call gb_GenCObject_get_target,$(object))) \
337        $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
338        $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) \
339        $(LIBS) \
340        -o $(1) \
341        `cat $${DYLIB_FILE}` && \
342    $(if $(filter Library,$(TARGETTYPE)),\
343        $(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl Library $(LAYER) $(1) && \
344        $(if $(filter %.dylib,$(1)),ln -shf $(1) $(patsubst %.dylib,%.jnilib,$(1)) &&)) \
345    $(if $(and $(filter Executable,$(TARGETTYPE)),$(LAYER)),\
346        $(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl Executable $(LAYER) $(1) &&) \
347    rm -f $${DYLIB_FILE})
348endef
349
350# parameters: 1-linktarget 2-cobjects 3-cxxobjects
351define gb_LinkTarget__command_staticlink
352$(call gb_Helper_abbreviate_dirs,\
353    mkdir -p $(dir $(1)) && \
354    $(gb_AR) -rsu $(1) \
355        $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
356        $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
357        $(foreach object,$(OBJCOBJECTS),$(call gb_ObjCObject_get_target,$(object))) \
358        $(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_target,$(object))) \
359        $(foreach object,$(GENCOBJECTS),$(call gb_GenCObject_get_target,$(object))) \
360        $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
361        2> /dev/null)
362endef
363
364define gb_LinkTarget__command
365$(call gb_Output_announce,$(2),$(true),LNK,4)
366$(if $(filter Library GoogleTest Executable,$(TARGETTYPE)),$(call gb_LinkTarget__command_dynamiclink,$(1),$(2)))
367$(if $(filter StaticLibrary,$(TARGETTYPE)),$(call gb_LinkTarget__command_staticlink,$(1)))
368endef
369
370
371# Library class
372
373gb_Library_DEFS :=
374gb_Library_TARGETTYPEFLAGS := -dynamiclib -single_module
375gb_Library_SYSPRE := lib
376gb_Library_UNOVERPRE := $(gb_Library_SYSPRE)uno_
377gb_Library_PLAINEXT := .dylib
378gb_Library_RTEXT := $(COMID)$(gb_Library_PLAINEXT)
379
380gb_Library_OOOEXT := $(gb_Library_PLAINEXT)
381gb_Library_UNOEXT := .uno$(gb_Library_PLAINEXT)
382
383gb_Library__FRAMEWORKS := \
384    Cocoa \
385
386gb_Library_PLAINLIBS_NONE += \
387    Cocoa \
388    objc \
389    m \
390    pthread
391
392gb_Library_FILENAMES := \
393    $(foreach lib,$(gb_Library_OOOLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_OOOEXT)) \
394    $(foreach lib,$(gb_Library_PLAINLIBS_NONE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
395    $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
396    $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
397    $(foreach lib,$(gb_Library_RTLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT)) \
398    $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT)) \
399    $(foreach lib,$(gb_Library_STLLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_STLEXT)) \
400    $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):$(lib)$(gb_Library_UNOEXT)) \
401    $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):$(lib)$(gb_Library_UNOEXT)) \
402    $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):$(gb_Library_UNOVERPRE)$(lib)$(gb_Library_PLAINEXT)) \
403
404
405gb_Library_LAYER := \
406    $(foreach lib,$(gb_Library_OOOLIBS),$(lib):OOO) \
407    $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):URELIB) \
408    $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):OOO) \
409    $(foreach lib,$(gb_Library_RTLIBS),$(lib):OOO) \
410    $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):URELIB) \
411    $(foreach lib,$(gb_Library_STLLIBS),$(lib):URELIB) \
412    $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):URELIB) \
413    $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):OOO) \
414    $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):URELIB) \
415
416define gb_Library_get_rpath
417$(call gb_LinkTarget__get_installname,$(call gb_Library_get_filename,$(1)),$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Library_get_layer,$(1))))
418endef
419
420define gb_Library_Library_platform
421$(call gb_LinkTarget_get_target,$(2)) : RPATH := $(call gb_Library_get_rpath,$(1))
422$(call gb_LinkTarget_get_target,$(2)) : LAYER := $(call gb_Library_get_layer,$(1))
423$(call gb_Library_get_target,$(1)) \
424$(call gb_Library_get_clean_target,$(1)) : AUXTARGETS += \
425    $(patsubst %.dylib,%.jnilib,$(call gb_Library_get_target,$(1)))
426
427endef
428
429
430# StaticLibrary class
431
432gb_StaticLibrary_DEFS :=
433gb_StaticLibrary_SYSPRE := lib
434gb_StaticLibrary_PLAINEXT := .a
435gb_StaticLibrary_JPEGEXT := lib$(gb_StaticLibrary_PLAINEXT)
436
437gb_StaticLibrary_FILENAMES := \
438    $(foreach lib,$(gb_StaticLibrary_JPEGLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_JPEGEXT)) \
439    $(foreach lib,$(gb_StaticLibrary_PLAINLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_PLAINEXT)) \
440
441gb_StaticLibrary_StaticLibrary_platform =
442
443
444# Executable class
445
446gb_Executable_EXT :=
447gb_Executable_TARGETTYPEFLAGS := -bind_at_load
448
449gb_InBuild_Library_Path := $(OUTDIR)/lib
450gb_Augment_Library_Path := DYLD_LIBRARY_PATH=$(gb_InBuild_Library_Path)
451
452gb_Executable_LAYER := \
453    $(foreach exe,$(gb_Executable_UREBIN),$(exe):UREBIN) \
454    $(foreach exe,$(gb_Executable_SDK),$(exe):SDKBIN) \
455    $(foreach exe,$(gb_Executable_OOO),$(exe):OOO) \
456    $(foreach exe,$(gb_Executable_BRAND),$(exe):BRAND) \
457    $(foreach exe,$(gb_Executable_NONE),$(exe):NONEBIN) \
458
459
460define gb_Executable_get_rpath
461$(call gb_LinkTarget__get_installname,$(1),$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Executable_get_layer,$(1))))
462endef
463
464define gb_Executable_Executable_platform
465$(call gb_LinkTarget_get_target,$(2)) : RPATH := $(call gb_Executable_get_rpath,$(1))
466$(call gb_LinkTarget_get_target,$(2)) : LAYER := $(call gb_Executable_get_layer,$(1))
467
468endef
469
470
471# GoogleTest class
472
473gb_GoogleTest_GTESTPRECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib
474gb_GoogleTest_get_filename = $(1)$(gb_Executable_EXT)
475
476define gb_GoogleTest_GoogleTest_platform
477$(call gb_LinkTarget_get_target,$(2)) : RPATH :=
478endef
479
480# JunitTest class
481
482define gb_JunitTest_JunitTest_platform
483$(call gb_JunitTest_get_target,$(1)) : DEFS := \
484    -Dorg.openoffice.test.arg.soffice="$$$${OOO_TEST_SOFFICE:-path:$(SRCDIR)/instsetoo_native/$(INPATH)/Apache_OpenOffice/installed/install/en-US/openoffice5/program/soffice}" \
485    -Dorg.openoffice.test.arg.env=DYLD_LIBRARY_PATH \
486    -Dorg.openoffice.test.arg.user=file://$(call gb_JunitTest_get_userdir,$(1)) \
487
488endef
489
490
491# Ant class
492
493define gb_Ant_add_dependencies
494__ant_out:=$(shell $(gb_Ant_ANTCOMMAND) -v -Ddependencies.outfile=$(WORKDIR)/Ant/$(1)/deps -f $(2) dependencies)
495$$(eval $(foreach dep,$(shell cat $(WORKDIR)/Ant/$(1)/deps),$$(call gb_Ant_add_dependency,$(call gb_Ant_get_target,$(1)),$(dep))))
496
497endef
498
499
500# SdiTarget class
501
502gb_SdiTarget_SVIDLPRECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib
503
504# SrsPartMergeTarget
505
506gb_SrsPartMergeTarget_TRANSEXPRECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib
507
508# SrsPartTarget class
509
510gb_SrsPartTarget_RSCTARGET := $(OUTDIR)/bin/rsc
511gb_SrsPartTarget_RSCCOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib SOLARBINDIR=$(OUTDIR)/bin $(gb_SrsPartTarget_RSCTARGET)
512
513define gb_SrsPartTarget__command_dep
514$(call gb_Helper_abbreviate_dirs,\
515    $(gb_GCCP) \
516        -MM -MT $(call gb_SrsPartTarget_get_target,$(1)) \
517        $(INCLUDE) \
518        $(DEFS) \
519        -c -x c++-header $(2) \
520        -o $(call gb_SrsPartTarget_get_dep_target,$(1)))
521endef
522
523
524# ComponentTarget
525
526gb_XSLTPROCPRECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib
527gb_Library_COMPONENTPREFIXES := \
528    OOO:vnd.sun.star.expand:\dOOO_BASE_DIR/program/ \
529    URELIB:vnd.sun.star.expand:\dURE_INTERNAL_LIB_DIR/ \
530    NONE:vnd.sun.star.expand:\dOOO_INBUILD_SHAREDLIB_DIR/ \
531
532# Configuration
533gb_CFGEXPRECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib
534
535# UnoApiTarget
536
537gb_UnoApiTarget_IDLCTARGET := $(OUTDIR)/bin/idlc
538gb_UnoApiTarget_IDLCCOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_IDLCTARGET)
539gb_UnoApiTarget_REGMERGETARGET := $(OUTDIR)/bin/regmerge
540gb_UnoApiTarget_REGMERGECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_REGMERGETARGET)
541gb_UnoApiTarget_REGCOMPARETARGET := $(OUTDIR)/bin/regcompare
542gb_UnoApiTarget_REGCOMPARECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_REGCOMPARETARGET)
543gb_UnoApiTarget_CPPUMAKERTARGET := $(OUTDIR)/bin/cppumaker
544gb_UnoApiTarget_CPPUMAKERCOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_CPPUMAKERTARGET)
545gb_UnoApiTarget_REGVIEWTARGET := $(OUTDIR)/bin/regview
546gb_UnoApiTarget_REGVIEWCOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib SOLARBINDIR=$(OUTDIR)/bin $(gb_UnoApiTarget_REGVIEWTARGET)
547
548
549# vim: set noet sw=4 ts=4:
550