merged tag ooo/DEV300_m102
[LibreOffice.git] / vcl / util / makefile.mk
blob8d1de2ed30f07986b2655b7c03513b0f435f0303
1 #*************************************************************************
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 #
5 # Copyright 2000, 2010 Oracle and/or its affiliates.
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
34 GEN_HID_OTHER=TRUE
36 .IF "$(SNDFILE_LIBS)"!=""
37 SNDFILELIB=$(SNDFILE_LIBS)
38 .ENDIF
40 # --- Settings -----------------------------------------------------------
42 .INCLUDE : settings.mk
43 .INCLUDE : makefile.pmk
44 .INCLUDE : makefile2.pmk
46 .IF "$(OS)" == "SOLARIS"
47 .IF "$(CPUNAME)" == "SPARC" && "$(CPU)" == "U"
48 LINKFLAGSRUNPATH_OOO := -R/usr/sfw/lib/64 $(LINKFLAGSRUNPATH_OOO)
49 .ELSE
50 LINKFLAGSRUNPATH_OOO := -R/usr/sfw/lib $(LINKFLAGSRUNPATH_OOO)
51 .ENDIF
52 .ENDIF
54 # --- Allgemein ----------------------------------------------------------
56 HXXDEPNLST= $(INC)$/vcl$/accel.hxx \
57 $(INC)$/vcl$/animate.hxx \
58 $(INC)$/vcl$/apptypes.hxx \
59 $(INC)$/vcl$/bitmap.hxx \
60 $(INC)$/vcl$/bitmapex.hxx \
61 $(INC)$/vcl$/bmpacc.hxx \
62 $(INC)$/vcl$/btndlg.hxx \
63 $(INC)$/vcl$/button.hxx \
64 $(INC)$/vcl$/ctrl.hxx \
65 $(INC)$/vcl$/cursor.hxx \
66 $(INC)$/vcl$/cmdevt.hxx \
67 $(INC)$/vcl$/decoview.hxx \
68 $(INC)$/vcl$/dialog.hxx \
69 $(INC)$/vcl$/dllapi.h \
70 $(INC)$/vcl$/dockwin.hxx \
71 $(INC)$/vcl$/edit.hxx \
72 $(INC)$/vcl$/event.hxx \
73 $(INC)$/vcl$/field.hxx \
74 $(INC)$/vcl$/fixed.hxx \
75 $(INC)$/vcl$/floatwin.hxx \
76 $(INC)$/vcl$/font.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$/window.hxx \
129 $(INC)$/vcl$/wrkwin.hxx
131 .IF "$(linkinc)" != ""
132 SHL11FILE= $(MISC)$/app.slo
133 SHL12FILE= $(MISC)$/gdi.slo
134 SHL13FILE= $(MISC)$/win.slo
135 SHL14FILE= $(MISC)$/ctrl.slo
136 #SHL15FILE= $(MISC)$/ex.slo
137 SHL16FILE= $(MISC)$/salapp.slo
138 SHL17FILE= $(MISC)$/salwin.slo
139 SHL18FILE= $(MISC)$/salgdi.slo
140 .ENDIF
142 LIB1TARGET= $(SLB)$/$(TARGET).lib
143 LIB1FILES= $(SLB)$/app.lib \
144 $(SLB)$/gdi.lib \
145 $(SLB)$/win.lib \
146 $(SLB)$/ctrl.lib \
147 $(SLB)$/helper.lib \
148 $(SLB)$/fontsubset.lib \
149 $(SLB)$/components.lib
151 .IF "$(GUI)" == "UNX" && "$(GUIBASE)"!="aqua"
152 LIB1FILES+= $(SLB)$/salplug.lib \
153 $(SLB)$/fontman.lib \
154 $(SLB)$/printer.lib
155 .ELSE
156 LIB1FILES+= \
157 $(SLB)$/salwin.lib \
158 $(SLB)$/salgdi.lib \
159 $(SLB)$/salapp.lib
160 .IF "$(GUIBASE)" == "aqua"
161 LIB1FILES+= $(SLB)$/dtransaqua.lib
162 .ENDIF
163 .ENDIF
165 SHL1TARGET= vcl$(DLLPOSTFIX)
166 SHL1IMPLIB= ivcl
167 SHL1STDLIBS+=\
168 $(SOTLIB) \
169 $(UNOTOOLSLIB) \
170 $(TOOLSLIB) \
171 $(I18NPAPERLIB) \
172 $(I18NISOLANGLIB) \
173 $(I18NUTILLIB) \
174 $(COMPHELPERLIB) \
175 $(UCBHELPERLIB) \
176 $(CPPUHELPERLIB) \
177 $(CPPULIB) \
178 $(VOSLIB) \
179 $(SALLIB) \
180 $(BASEGFXLIB) \
181 $(ICUUCLIB) \
182 $(ICUDATALIB) \
183 $(ICULELIB) \
184 $(JVMACCESSLIB)
186 .IF "$(GUI)" == "UNX"
187 .IF "$(ENABLE_GRAPHITE)" != ""
188 .IF "$(SYSTEM_GRAPHITE)" == "YES"
189 SHL1STDLIBS+= $(GRAPHITE_LIBS)
190 .ELSE
191 SHL1STDLIBS+= $(SOLARVERSION)/$(INPATH)/lib$(UPDMINOREXT)/libgraphite.a
192 .ENDIF
193 .ENDIF
194 .ENDIF
195 SHL1USE_EXPORTS=name
197 .IF "$(GUIBASE)"=="aqua"
198 SHL1STDLIBS+= \
199 $(BASEBMPLIB) \
200 -lAppleRemote$(DLLPOSTFIX) \
201 -framework QuickTime
203 LIB1FILES+= \
204 $(SLB)$/sala11y.lib
205 .ENDIF
207 .IF "$(USE_BUILTIN_RASTERIZER)"!=""
208 LIB1FILES += $(SLB)$/glyphs.lib
209 SHL1STDLIBS+= $(FREETYPELIB)
210 .ELSE
211 .IF "$(ENABLE_GRAPHITE)" == "TRUE"
212 LIB1FILES += $(SLB)$/glyphs.lib
213 .ENDIF
214 .ENDIF # USE_BUILTIN_RASTERIZER
216 SHL1LIBS= $(LIB1TARGET)
217 .IF "$(GUI)"!="UNX"
218 .IF "$(COM)"!="GCC"
219 #SHL1OBJS= $(SLO)$/salshl.obj
220 .ENDIF
221 .ENDIF
223 .IF "$(GUI)" != "UNX"
224 SHL1RES= $(RES)$/salsrc.res
225 .ENDIF
227 SHL1DEF= $(MISC)$/$(SHL1TARGET).def
229 DEF1NAME =$(SHL1TARGET)
230 DEF1DEPN = $(HXXDEPNLST) \
231 $(LIB1TARGET)
232 DEF1DES =VCL
233 DEFLIB1NAME =vcl
235 # --- W32 ----------------------------------------------------------------
237 .IF "$(GUI)" == "WNT"
239 .IF "$(ENABLE_GRAPHITE)" == "TRUE"
240 .IF "$(COM)" == "GCC"
241 SHL1STDLIBS += -lgraphite
242 .ELSE
243 SHL1STDLIBS += graphite_dll.lib
244 .ENDIF
245 .ENDIF
247 SHL1STDLIBS += $(UWINAPILIB) \
248 $(GDI32LIB) \
249 $(GDIPLUSLIB) \
250 $(MSIMG32LIB) \
251 $(WINSPOOLLIB) \
252 $(OLE32LIB) \
253 $(SHELL32LIB) \
254 $(ADVAPI32LIB)
256 SHL1STDLIBS += $(IMM32LIB)
258 .IF "$(GUI)$(COM)$(CPU)" == "WNTMSCI"
259 LINKFLAGSSHL += /ENTRY:LibMain@12
260 .ENDIF
261 .ENDIF
263 # --- OS2 ----------------------------------------------------------------
265 .IF "$(GUI)" == "OS2"
266 STDSHL1 += ft2lib.lib
267 .ENDIF
269 # --- UNX ----------------------------------------------------------------
271 # UNX sal plugins
272 .IF "$(GUI)" == "UNX" && "$(GUIBASE)" != "aqua"
274 # desktop detector
275 LIB7TARGET=$(SLB)$/idet
276 LIB7FILES=$(SLB)$/dtdetect.lib
277 SHL7TARGET=desktop_detector$(DLLPOSTFIX)
278 SHL7STDLIBS=\
279 $(SALLIB) \
280 $(X11LINK_DYNAMIC)
281 SHL7IMPLIB=idet
282 SHL7LIBS=$(LIB7TARGET)
284 # basic pure X11 plugin
285 LIB2TARGET=$(SLB)$/ipure_x
286 LIB2FILES= \
287 $(SLB)$/dtransX11.lib \
288 $(SLB)$/printergfx.lib \
289 $(SLB)$/salwin.lib \
290 $(SLB)$/salgdi.lib \
291 $(SLB)$/salapp.lib
292 SHL2TARGET=vclplug_gen$(DLLPOSTFIX)
293 SHL2IMPLIB=ipure_x
294 SHL2LIBS=$(LIB2TARGET)
295 SHL2DEPN=$(SHL1IMPLIBN) $(SHL1TARGETN)
297 # libs for generic plugin
298 SHL2STDLIBS=\
299 $(VCLLIB)\
300 $(I18NPAPERLIB) \
301 $(I18NISOLANGLIB) \
302 $(TOOLSLIB) \
303 $(VOSLIB) \
304 $(BASEGFXLIB) \
305 $(UNOTOOLSLIB) \
306 $(COMPHELPERLIB) \
307 $(CPPUHELPERLIB) \
308 $(CPPULIB) \
309 $(SALLIB)
311 # prepare linking of Xinerama
312 .IF "$(USE_XINERAMA)" != "NO"
314 .IF "$(OS)"=="MACOSX" || "$(OS)$(CPU)" == "LINUXX"
315 XINERAMALIBS=-lXinerama
316 .ELSE
317 .IF "$(OS)" != "SOLARIS" || "$(USE_XINERAMA_VERSION)" == "Xorg"
318 .IF "$(XINERAMA_LINK)" == "dynamic"
319 XINERAMALIBS= -lXinerama
320 .ELSE
321 XINERAMALIBS= -Wl,-Bstatic -lXinerama -Wl,-Bdynamic
322 .ENDIF # XINERAMA_LINK == dynamic
323 .ENDIF # OS == SOLARIS
324 .ENDIF # OS == MACOSX
326 SHL2STDLIBS += $(XINERAMALIBS)
327 .ENDIF # USE_XINERAMA != NO
329 .IF "$(XRENDER_LINK)" == "YES"
330 SHL2STDLIBS+=`pkg-config --libs xrender`
331 .ENDIF
333 .IF "$(GUIBASE)"=="unx"
335 SHL2STDLIBS += -lXext -lSM -lICE -lX11
336 .IF "$(OS)"!="MACOSX" && "$(OS)"!="FREEBSD" && "$(OS)"!="NETBSD"
337 # needed by salprnpsp.cxx
338 SHL2STDLIBS+= -ldl
339 .ENDIF
341 .IF "$(ENABLE_RANDR)" != ""
342 .IF "$(XRANDR_DLOPEN)" == "FALSE"
343 SHL2STDLIBS+= $(XRANDR_LIBS)
344 .ENDIF
345 .ENDIF
347 .ENDIF # "$(GUIBASE)"=="unx"
349 # gtk plugin
350 .IF "$(ENABLE_GTK)" != ""
351 PKGCONFIG_MODULES=gtk+-2.0 gthread-2.0
352 .IF "$(ENABLE_DBUS)" != ""
353 PKGCONFIG_MODULES+= dbus-glib-1
354 .ENDIF
355 .INCLUDE: pkg_config.mk
357 LIB4TARGET=$(SLB)$/igtk_plug_
358 LIB4FILES=\
359 $(SLB)$/gtkapp.lib\
360 $(SLB)$/gtka11y.lib \
361 $(SLB)$/gtkgdi.lib\
362 $(SLB)$/gtkwin.lib
364 SHL4TARGET=vclplug_gtk$(DLLPOSTFIX)
365 SHL4IMPLIB=igtk_plug_
366 SHL4LIBS=$(LIB4TARGET)
367 SHL4DEPN=$(SHL1IMPLIBN) $(SHL1TARGETN) $(SHL2IMPLIBN) $(SHL2TARGETN)
368 # libs for gtk plugin
369 SHL4STDLIBS+=$(PKGCONFIG_LIBS:s/ -lpangoxft-1.0//)
370 # hack for faked SO environment
371 .IF "$(PKGCONFIG_ROOT)"!=""
372 SHL4SONAME+=-z nodefs
373 SHL4NOCHECK=TRUE
374 .ENDIF # "$(PKGCONFIG_ROOT)"!=""
377 SHL4STDLIBS+=-l$(SHL2TARGET)
378 SHL4STDLIBS+=\
379 $(VCLLIB) \
380 $(TOOLSLIB) \
381 $(CPPUHELPERLIB) \
382 $(CPPULIB) \
383 $(VOSLIB) \
384 $(SALLIB) \
385 $(X11LINK_DYNAMIC)
387 .IF "$(ENABLE_RANDR)" != ""
388 .IF "$(XRANDR_DLOPEN)" == "FALSE"
389 SHL4STDLIBS+= $(XRANDR_LIBS)
390 .ENDIF
391 .ENDIF
393 .ENDIF # "$(ENABLE_GTK)" != ""
395 # KDE plugin
396 .IF "$(ENABLE_KDE)" != ""
397 .IF "$(KDE_ROOT)"!=""
398 EXTRALIBPATHS+=-L$(KDE_ROOT)$/lib
399 .IF "$(OS)$(CPU)" == "LINUXX"
400 EXTRALIBPATHS+=-L$(KDE_ROOT)$/lib64
401 .ENDIF
402 .ENDIF
403 LIB5TARGET=$(SLB)$/ikde_plug_
404 LIB5FILES=$(SLB)$/kdeplug.lib
405 SHL5TARGET=vclplug_kde$(DLLPOSTFIX)
406 SHL5IMPLIB=ikde_plug_
407 SHL5LIBS=$(LIB5TARGET)
408 SHL5DEPN=$(SHL2TARGETN)
409 # libs for KDE plugin
410 SHL5LINKFLAGS+=$(KDE_LIBS)
411 SHL5STDLIBS+=-l$(SHL2TARGET)
412 SHL5STDLIBS+=\
413 $(VCLLIB) \
414 $(TOOLSLIB) \
415 $(VOSLIB) \
416 $(SALLIB) \
417 $(X11LINK_DYNAMIC)
419 .IF "$(ENABLE_RANDR)" != ""
420 .IF "$(XRANDR_DLOPEN)" == "FALSE"
421 SHL5STDLIBS+= $(XRANDR_LIBS)
422 .ENDIF
423 .ENDIF
425 .ENDIF # "$(ENABLE_KDE)" != ""
427 # KDE4 plugin
428 .IF "$(ENABLE_KDE4)" != ""
429 .IF "$(KDE4_ROOT)"!=""
430 EXTRALIBPATHS+=-L$(KDE4_ROOT)$/lib
431 .ENDIF
432 LIB6TARGET=$(SLB)$/ikde4_plug_
433 LIB6FILES=$(SLB)$/kde4plug.lib
434 SHL6TARGET=vclplug_kde4$(DLLPOSTFIX)
435 SHL6IMPLIB=ikde4_plug_
436 SHL6LIBS=$(LIB6TARGET)
437 SHL6DEPN=$(SHL2TARGETN)
438 # libs for KDE4 plugin
439 SHL6LINKFLAGS+=$(KDE4_LIBS)
440 SHL6STDLIBS+=-l$(SHL2TARGET)
441 SHL6STDLIBS+=\
442 $(VCLLIB) \
443 $(PSPLIB) \
444 $(TOOLSLIB) \
445 $(VOSLIB) \
446 $(SALLIB) \
447 $(X11LINK_DYNAMIC)
449 .IF "$(ENABLE_RANDR)" != ""
450 .IF "$(XRANDR_DLOPEN)" == "FALSE"
451 SHL6STDLIBS+= $(XRANDR_LIBS)
452 .ENDIF
453 .ENDIF
455 .ENDIF # "$(ENABLE_KDE4)" != ""
457 .ENDIF # UNX
459 # --- Allgemein ----------------------------------------------------------
461 .INCLUDE : target.mk
463 ALLTAR : $(MISC)/vcl.component
465 .IF "$(OS)" == "MACOSX"
466 my_platform = .macosx
467 .ELIF "$(OS)" == "WNT"
468 my_platform = .windows
469 .END
471 $(MISC)/vcl.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
472 vcl.component
473 $(XSLTPROC) --nonet --stringparam uri \
474 '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
475 $(SOLARENV)/bin/createcomponent.xslt vcl$(my_platform).component