Update ooo320-m1
[ooovba.git] / vcl / util / makefile.mk
blob9abbc2a82183704d65566bc2fc4fd726f41dacc5
1 #*************************************************************************
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 #
5 # Copyright 2008 by Sun Microsystems, Inc.
7 # OpenOffice.org - a multi-platform office productivity suite
9 # This file is part of OpenOffice.org.
11 # OpenOffice.org is free software: you can redistribute it and/or modify
12 # it under the terms of the GNU Lesser General Public License version 3
13 # only, as published by the Free Software Foundation.
15 # OpenOffice.org is distributed in the hope that it will be useful,
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 # GNU Lesser General Public License version 3 for more details
19 # (a copy is included in the LICENSE file that accompanied this code).
21 # You should have received a copy of the GNU Lesser General Public License
22 # version 3 along with OpenOffice.org. If not, see
23 # <http://www.openoffice.org/license.html>
24 # for a copy of the LGPLv3 License.
26 #*************************************************************************
28 PRJ=..
30 PRJNAME=vcl
31 TARGET=vcl
32 TARGETTYPE=GUI
33 USE_DEFFILE=TRUE
35 .IF "$(SNDFILE_LIBS)"!=""
36 SNDFILELIB=$(SNDFILE_LIBS)
37 .ENDIF
39 # --- Settings -----------------------------------------------------------
41 .INCLUDE : settings.mk
42 .INCLUDE : makefile.pmk
43 .INCLUDE : makefile2.pmk
45 .IF "$(OS)" == "SOLARIS"
46 .IF "$(CPUNAME)" == "SPARC" && "$(CPU)" == "U"
47 LINKFLAGSRUNPATH_OOO := -R/usr/sfw/lib/64 $(LINKFLAGSRUNPATH_OOO)
48 .ELSE
49 LINKFLAGSRUNPATH_OOO := -R/usr/sfw/lib $(LINKFLAGSRUNPATH_OOO)
50 .ENDIF
51 .ENDIF
53 # --- Allgemein ----------------------------------------------------------
55 HXXDEPNLST= $(INC)$/vcl$/accel.hxx \
56 $(INC)$/vcl$/animate.hxx \
57 $(INC)$/vcl$/apptypes.hxx \
58 $(INC)$/vcl$/bitmap.hxx \
59 $(INC)$/vcl$/bitmapex.hxx \
60 $(INC)$/vcl$/bmpacc.hxx \
61 $(INC)$/vcl$/btndlg.hxx \
62 $(INC)$/vcl$/button.hxx \
63 $(INC)$/vcl$/ctrl.hxx \
64 $(INC)$/vcl$/cursor.hxx \
65 $(INC)$/vcl$/cmdevt.hxx \
66 $(INC)$/vcl$/decoview.hxx \
67 $(INC)$/vcl$/dialog.hxx \
68 $(INC)$/vcl$/dllapi.h \
69 $(INC)$/vcl$/dockwin.hxx \
70 $(INC)$/vcl$/edit.hxx \
71 $(INC)$/vcl$/event.hxx \
72 $(INC)$/vcl$/field.hxx \
73 $(INC)$/vcl$/fixed.hxx \
74 $(INC)$/vcl$/floatwin.hxx \
75 $(INC)$/vcl$/font.hxx \
76 $(INC)$/vcl$/fontcvt.hxx \
77 $(INC)$/vcl$/floatwin.hxx \
78 $(INC)$/vcl$/graph.hxx \
79 $(INC)$/vcl$/group.hxx \
80 $(INC)$/vcl$/help.hxx \
81 $(INC)$/vcl$/jobset.hxx \
82 $(INC)$/vcl$/keycodes.hxx \
83 $(INC)$/vcl$/keycod.hxx \
84 $(INC)$/vcl$/image.hxx \
85 $(INC)$/vcl$/lstbox.h \
86 $(INC)$/vcl$/lstbox.hxx \
87 $(INC)$/vcl$/mapmod.hxx \
88 $(INC)$/vcl$/metaact.hxx \
89 $(INC)$/vcl$/menu.hxx \
90 $(INC)$/vcl$/menubtn.hxx \
91 $(INC)$/vcl$/metric.hxx \
92 $(INC)$/vcl$/morebtn.hxx \
93 $(INC)$/vcl$/msgbox.hxx \
94 $(INC)$/vcl$/octree.hxx \
95 $(INC)$/vcl$/outdev.hxx \
96 $(INC)$/vcl$/pointr.hxx \
97 $(INC)$/vcl$/ptrstyle.hxx \
98 $(INC)$/vcl$/prntypes.hxx \
99 $(INC)$/vcl$/print.hxx \
100 $(INC)$/vcl$/prndlg.hxx \
101 $(INC)$/vcl$/region.hxx \
102 $(INC)$/vcl$/salbtype.hxx \
103 $(INC)$/vcl$/scrbar.hxx \
104 $(INC)$/vcl$/slider.hxx \
105 $(INC)$/vcl$/seleng.hxx \
106 $(INC)$/vcl$/settings.hxx \
107 $(INC)$/vcl$/sound.hxx \
108 $(INC)$/vcl$/sndstyle.hxx \
109 $(INC)$/vcl$/split.hxx \
110 $(INC)$/vcl$/splitwin.hxx \
111 $(INC)$/vcl$/spin.hxx \
112 $(INC)$/vcl$/spinfld.hxx \
113 $(INC)$/vcl$/status.hxx \
114 $(INC)$/vcl$/stdtext.hxx \
115 $(INC)$/vcl$/sv.h \
116 $(INC)$/vcl$/svapp.hxx \
117 $(INC)$/vcl$/syschild.hxx \
118 $(INC)$/vcl$/sysdata.hxx \
119 $(INC)$/vcl$/syswin.hxx \
120 $(INC)$/vcl$/tabctrl.hxx \
121 $(INC)$/vcl$/tabdlg.hxx \
122 $(INC)$/vcl$/tabpage.hxx \
123 $(INC)$/vcl$/toolbox.hxx \
124 $(INC)$/vcl$/timer.hxx \
125 $(INC)$/vcl$/virdev.hxx \
126 $(INC)$/vcl$/wall.hxx \
127 $(INC)$/vcl$/waitobj.hxx \
128 $(INC)$/vcl$/wintypes.hxx \
129 $(INC)$/vcl$/window.hxx \
130 $(INC)$/vcl$/wrkwin.hxx
132 .IF "$(linkinc)" != ""
133 SHL11FILE= $(MISC)$/app.slo
134 SHL12FILE= $(MISC)$/gdi.slo
135 SHL13FILE= $(MISC)$/win.slo
136 SHL14FILE= $(MISC)$/ctrl.slo
137 #SHL15FILE= $(MISC)$/ex.slo
138 SHL16FILE= $(MISC)$/salapp.slo
139 SHL17FILE= $(MISC)$/salwin.slo
140 SHL18FILE= $(MISC)$/salgdi.slo
141 .ENDIF
143 LIB1TARGET= $(SLB)$/$(TARGET).lib
144 LIB1FILES= $(SLB)$/app.lib \
145 $(SLB)$/gdi.lib \
146 $(SLB)$/win.lib \
147 $(SLB)$/ctrl.lib \
148 $(SLB)$/helper.lib \
149 $(SLB)$/fontsubset.lib \
150 $(SLB)$/components.lib
152 .IF "$(GUI)" == "UNX" && "$(GUIBASE)"!="aqua"
153 LIB1FILES+= $(SLB)$/salplug.lib \
154 $(SLB)$/fontman.lib \
155 $(SLB)$/printer.lib
156 .ELSE
157 LIB1FILES+= \
158 $(SLB)$/salwin.lib \
159 $(SLB)$/salgdi.lib \
160 $(SLB)$/salapp.lib
161 .IF "$(GUIBASE)" == "aqua"
162 LIB1FILES+= $(SLB)$/dtransaqua.lib
163 .ENDIF
164 .ENDIF
166 SHL1TARGET= vcl$(DLLPOSTFIX)
167 SHL1IMPLIB= ivcl
168 SHL1STDLIBS+=\
169 $(SOTLIB) \
170 $(UNOTOOLSLIB) \
171 $(TOOLSLIB) \
172 $(I18NPAPERLIB) \
173 $(I18NISOLANGLIB) \
174 $(I18NUTILLIB) \
175 $(COMPHELPERLIB) \
176 $(UCBHELPERLIB) \
177 $(CPPUHELPERLIB) \
178 $(CPPULIB) \
179 $(VOSLIB) \
180 $(SALLIB) \
181 $(BASEGFXLIB) \
182 $(ICUUCLIB) \
183 $(ICUDATALIB) \
184 $(ICULELIB) \
185 $(JVMACCESSLIB)
187 .IF "$(GUI)" == "UNX"
188 .IF "$(ENABLE_GRAPHITE)" != ""
189 .IF "$(SYSTEM_GRAPHITE)" == "YES"
190 SHL1STDLIBS+= $(GRAPHITE_LIBS)
191 .ELSE
192 SHL1STDLIBS+= $(SOLARVERSION)/$(INPATH)/lib$(UPDMINOREXT)/libgraphite.a
193 .ENDIF
194 .ENDIF
195 .ENDIF
196 SHL1USE_EXPORTS=name
198 .IF "$(GUIBASE)"=="aqua"
199 SHL1STDLIBS+= \
200 $(BASEBMPLIB) \
201 -lAppleRemote$(DLLPOSTFIX) \
202 -framework QuickTime
204 LIB1FILES+= \
205 $(SLB)$/sala11y.lib
206 .ENDIF
208 .IF "$(USE_BUILTIN_RASTERIZER)"!=""
209 LIB1FILES += $(SLB)$/glyphs.lib
210 SHL1STDLIBS+= $(FREETYPELIB)
211 .ELSE
212 .IF "$(ENABLE_GRAPHITE)" == "TRUE"
213 LIB1FILES += $(SLB)$/glyphs.lib
214 .ENDIF
215 .ENDIF # USE_BUILTIN_RASTERIZER
217 SHL1LIBS= $(LIB1TARGET)
218 .IF "$(GUI)"!="UNX"
219 .IF "$(COM)"!="GCC"
220 #SHL1OBJS= $(SLO)$/salshl.obj
221 .ENDIF
222 .ENDIF
224 .IF "$(GUI)" != "UNX"
225 SHL1RES= $(RES)$/salsrc.res
226 .ENDIF
228 SHL1DEF= $(MISC)$/$(SHL1TARGET).def
230 DEF1NAME =$(SHL1TARGET)
231 DEF1DEPN = $(HXXDEPNLST) \
232 $(LIB1TARGET)
233 DEF1DES =VCL
234 DEFLIB1NAME =vcl
236 # --- W32 ----------------------------------------------------------------
238 .IF "$(GUI)" == "WNT"
240 .IF "$(ENABLE_GRAPHITE)" == "TRUE"
241 .IF "$(COM)" == "GCC"
242 SHL1STDLIBS += -lgraphite
243 .ELSE
244 SHL1STDLIBS += graphite_dll.lib
245 .ENDIF
246 .ENDIF
248 SHL1STDLIBS += $(UWINAPILIB) \
249 $(GDI32LIB) \
250 $(GDIPLUSLIB) \
251 $(MSIMG32LIB) \
252 $(WINSPOOLLIB) \
253 $(OLE32LIB) \
254 $(SHELL32LIB) \
255 $(ADVAPI32LIB)
257 SHL1STDLIBS += $(IMM32LIB)
259 .IF "$(GUI)$(COM)$(CPU)" == "WNTMSCI"
260 LINKFLAGSSHL += /ENTRY:LibMain@12
261 .ENDIF
262 .ENDIF
264 # --- OS2 ----------------------------------------------------------------
266 .IF "$(GUI)" == "OS2"
267 STDSHL1 += ft2lib.lib
268 .ENDIF
270 # --- UNX ----------------------------------------------------------------
272 # UNX sal plugins
273 .IF "$(GUI)" == "UNX" && "$(GUIBASE)" != "aqua"
275 # desktop detector
276 LIB7TARGET=$(SLB)$/idet
277 LIB7FILES=$(SLB)$/dtdetect.lib
278 SHL7TARGET=desktop_detector$(DLLPOSTFIX)
279 SHL7STDLIBS=\
280 $(SALLIB) \
281 $(X11LINK_DYNAMIC)
282 SHL7IMPLIB=idet
283 SHL7LIBS=$(LIB7TARGET)
285 # basic pure X11 plugin
286 LIB2TARGET=$(SLB)$/ipure_x
287 LIB2FILES= \
288 $(SLB)$/dtransX11.lib \
289 $(SLB)$/printergfx.lib \
290 $(SLB)$/salwin.lib \
291 $(SLB)$/salgdi.lib \
292 $(SLB)$/salapp.lib
293 SHL2TARGET=vclplug_gen$(DLLPOSTFIX)
294 SHL2IMPLIB=ipure_x
295 SHL2LIBS=$(LIB2TARGET)
296 SHL2DEPN=$(SHL1IMPLIBN) $(SHL1TARGETN)
298 # libs for generic plugin
299 SHL2STDLIBS=\
300 $(VCLLIB)\
301 $(I18NPAPERLIB) \
302 $(TOOLSLIB) \
303 $(VOSLIB) \
304 $(BASEGFXLIB) \
305 $(UNOTOOLSLIB) \
306 $(CPPUHELPERLIB) \
307 $(CPPULIB) \
308 $(SALLIB)
310 # prepare linking of Xinerama
311 .IF "$(USE_XINERAMA)" != "NO"
313 .IF "$(OS)"=="MACOSX"
314 XINERAMALIBS=-lXinerama
315 .ELSE
316 .IF "$(OS)" != "SOLARIS" || "$(USE_XINERAMA_VERSION)" == "Xorg"
317 .IF "$(XINERAMA_LINK)" == "dynamic"
318 XINERAMALIBS= -lXinerama
319 .ELSE
320 XINERAMALIBS= -Wl,-Bstatic -lXinerama -Wl,-Bdynamic
321 .ENDIF # XINERAMA_LINK == dynamic
322 .ENDIF # OS == SOLARIS
323 .ENDIF # OS == MACOSX
325 SHL2STDLIBS += $(XINERAMALIBS)
326 .ENDIF # USE_XINERAMA != NO
328 .IF "$(XRENDER_LINK)" == "YES"
329 SHL2STDLIBS+=`pkg-config --libs xrender`
330 .ENDIF
332 .IF "$(GUIBASE)"=="unx"
334 SHL2STDLIBS += -lXext -lXtst -lSM -lICE -lX11
335 .IF "$(OS)"!="MACOSX" && "$(OS)"!="FREEBSD" && "$(OS)"!="NETBSD"
336 # needed by salprnpsp.cxx
337 SHL2STDLIBS+= -ldl
338 .ENDIF
340 .IF "$(ENABLE_RANDR)" != ""
341 .IF "$(XRANDR_DLOPEN)" == "FALSE"
342 SHL2STDLIBS+= $(XRANDR_LIBS)
343 .ENDIF
344 .ENDIF
346 .ENDIF # "$(GUIBASE)"=="unx"
348 # gtk plugin
349 .IF "$(ENABLE_GTK)" != ""
350 PKGCONFIG_MODULES=gtk+-2.0 gthread-2.0
351 .IF "$(ENABLE_DBUS)" != ""
352 PKGCONFIG_MODULES+= dbus-glib-1
353 .ENDIF
354 .INCLUDE: pkg_config.mk
356 LIB4TARGET=$(SLB)$/igtk_plug_
357 LIB4FILES=\
358 $(SLB)$/gtkapp.lib\
359 $(SLB)$/gtka11y.lib \
360 $(SLB)$/gtkgdi.lib\
361 $(SLB)$/gtkwin.lib
363 SHL4TARGET=vclplug_gtk$(DLLPOSTFIX)
364 SHL4IMPLIB=igtk_plug_
365 SHL4LIBS=$(LIB4TARGET)
366 SHL4DEPN=$(SHL1IMPLIBN) $(SHL1TARGETN) $(SHL2IMPLIBN) $(SHL2TARGETN)
367 # libs for gtk plugin
368 SHL4STDLIBS+=$(PKGCONFIG_LIBS:s/ -lpangoxft-1.0//)
369 # hack for faked SO environment
370 .IF "$(PKGCONFIG_ROOT)"!=""
371 SHL4SONAME+=-z nodefs
372 SHL4NOCHECK=TRUE
373 .ENDIF # "$(PKGCONFIG_ROOT)"!=""
376 SHL4STDLIBS+=-l$(SHL2TARGET)
377 SHL4STDLIBS+=\
378 $(VCLLIB) \
379 $(TOOLSLIB) \
380 $(CPPUHELPERLIB) \
381 $(CPPULIB) \
382 $(VOSLIB) \
383 $(SALLIB) \
384 $(X11LINK_DYNAMIC)
386 .IF "$(ENABLE_RANDR)" != ""
387 .IF "$(XRANDR_DLOPEN)" == "FALSE"
388 SHL4STDLIBS+= $(XRANDR_LIBS)
389 .ENDIF
390 .ENDIF
392 .ENDIF # "$(ENABLE_GTK)" != ""
394 # KDE plugin
395 .IF "$(ENABLE_KDE)" != ""
396 .IF "$(KDE_ROOT)"!=""
397 EXTRALIBPATHS+=-L$(KDE_ROOT)$/lib
398 .ENDIF
399 LIB5TARGET=$(SLB)$/ikde_plug_
400 LIB5FILES=$(SLB)$/kdeplug.lib
401 SHL5TARGET=vclplug_kde$(DLLPOSTFIX)
402 SHL5IMPLIB=ikde_plug_
403 SHL5LIBS=$(LIB5TARGET)
404 SHL5DEPN=$(SHL2TARGETN)
405 # libs for KDE plugin
406 SHL5LINKFLAGS+=$(KDE_LIBS)
407 SHL5STDLIBS+=-l$(SHL2TARGET)
408 SHL5STDLIBS+=\
409 $(VCLLIB) \
410 $(TOOLSLIB) \
411 $(VOSLIB) \
412 $(SALLIB) \
413 $(X11LINK_DYNAMIC)
415 .IF "$(ENABLE_RANDR)" != ""
416 .IF "$(XRANDR_DLOPEN)" == "FALSE"
417 SHL5STDLIBS+= $(XRANDR_LIBS)
418 .ENDIF
419 .ENDIF
421 .ENDIF # "$(ENABLE_KDE)" != ""
423 # KDE4 plugin
424 .IF "$(ENABLE_KDE4)" != ""
425 .IF "$(KDE4_ROOT)"!=""
426 EXTRALIBPATHS+=-L$(KDE4_ROOT)$/lib
427 .ENDIF
428 LIB6TARGET=$(SLB)$/ikde4_plug_
429 LIB6FILES=$(SLB)$/kde4plug.lib
430 SHL6TARGET=vclplug_kde4$(DLLPOSTFIX)
431 SHL6IMPLIB=ikde4_plug_
432 SHL6LIBS=$(LIB6TARGET)
433 SHL6DEPN=$(SHL2TARGETN)
434 # libs for KDE4 plugin
435 SHL6LINKFLAGS+=$(KDE4_LIBS)
436 SHL6STDLIBS+=-l$(SHL2TARGET)
437 SHL6STDLIBS+=\
438 $(VCLLIB) \
439 $(PSPLIB) \
440 $(TOOLSLIB) \
441 $(VOSLIB) \
442 $(SALLIB) \
443 $(X11LINK_DYNAMIC)
445 .IF "$(ENABLE_RANDR)" != ""
446 .IF "$(XRANDR_DLOPEN)" == "FALSE"
447 SHL6STDLIBS+= $(XRANDR_LIBS)
448 .ENDIF
449 .ENDIF
451 .ENDIF # "$(ENABLE_KDE4)" != ""
453 .ENDIF # UNX
455 # --- Allgemein ----------------------------------------------------------
457 .INCLUDE : target.mk