1#************************************************************************* 2# 3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4# 5# Copyright 2000, 2010 Oracle and/or its affiliates. 6# 7# OpenOffice.org - a multi-platform office productivity suite 8# 9# This file is part of OpenOffice.org. 10# 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. 14# 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). 20# 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. 25# 26#************************************************************************* 27 28PRJ=.. 29 30PRJNAME=vcl 31TARGET=vcl 32TARGETTYPE=GUI 33USE_DEFFILE=TRUE 34GEN_HID_OTHER=TRUE 35 36.IF "$(SNDFILE_LIBS)"!="" 37SNDFILELIB=$(SNDFILE_LIBS) 38.ENDIF 39 40# --- Settings ----------------------------------------------------------- 41 42.INCLUDE : settings.mk 43.INCLUDE : makefile.pmk 44.INCLUDE : makefile2.pmk 45 46.IF "$(OS)" == "SOLARIS" 47.IF "$(CPUNAME)" == "SPARC" && "$(CPU)" == "U" 48LINKFLAGSRUNPATH_OOO := -R/usr/sfw/lib/64 $(LINKFLAGSRUNPATH_OOO) 49.ELSE 50LINKFLAGSRUNPATH_OOO := -R/usr/sfw/lib $(LINKFLAGSRUNPATH_OOO) 51.ENDIF 52.ENDIF 53 54# --- Allgemein ---------------------------------------------------------- 55 56HXXDEPNLST= $(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$/rendergraphic.hxx \ 103 $(INC)$/vcl$/rendergraphicrasterizer.hxx \ 104 $(INC)$/vcl$/salbtype.hxx \ 105 $(INC)$/vcl$/scrbar.hxx \ 106 $(INC)$/vcl$/slider.hxx \ 107 $(INC)$/vcl$/seleng.hxx \ 108 $(INC)$/vcl$/settings.hxx \ 109 $(INC)$/vcl$/sound.hxx \ 110 $(INC)$/vcl$/sndstyle.hxx \ 111 $(INC)$/vcl$/split.hxx \ 112 $(INC)$/vcl$/splitwin.hxx \ 113 $(INC)$/vcl$/spin.hxx \ 114 $(INC)$/vcl$/spinfld.hxx \ 115 $(INC)$/vcl$/status.hxx \ 116 $(INC)$/vcl$/stdtext.hxx \ 117 $(INC)$/vcl$/sv.h \ 118 $(INC)$/vcl$/svapp.hxx \ 119 $(INC)$/vcl$/syschild.hxx \ 120 $(INC)$/vcl$/sysdata.hxx \ 121 $(INC)$/vcl$/syswin.hxx \ 122 $(INC)$/vcl$/tabctrl.hxx \ 123 $(INC)$/vcl$/tabdlg.hxx \ 124 $(INC)$/vcl$/tabpage.hxx \ 125 $(INC)$/vcl$/toolbox.hxx \ 126 $(INC)$/vcl$/timer.hxx \ 127 $(INC)$/vcl$/virdev.hxx \ 128 $(INC)$/vcl$/wall.hxx \ 129 $(INC)$/vcl$/waitobj.hxx \ 130 $(INC)$/vcl$/window.hxx \ 131 $(INC)$/vcl$/wrkwin.hxx 132 133.IF "$(linkinc)" != "" 134SHL11FILE= $(MISC)$/app.slo 135SHL12FILE= $(MISC)$/gdi.slo 136SHL13FILE= $(MISC)$/win.slo 137SHL14FILE= $(MISC)$/ctrl.slo 138#SHL15FILE= $(MISC)$/ex.slo 139SHL16FILE= $(MISC)$/salapp.slo 140SHL17FILE= $(MISC)$/salwin.slo 141SHL18FILE= $(MISC)$/salgdi.slo 142.ENDIF 143 144LIB1TARGET= $(SLB)$/$(TARGET).lib 145LIB1FILES= $(SLB)$/app.lib \ 146 $(SLB)$/gdi.lib \ 147 $(SLB)$/win.lib \ 148 $(SLB)$/ctrl.lib \ 149 $(SLB)$/helper.lib \ 150 $(SLB)$/fontsubset.lib \ 151 $(SLB)$/components.lib 152 153.IF "$(GUI)" == "UNX" && "$(GUIBASE)"!="aqua" 154LIB1FILES+= $(SLB)$/salplug.lib \ 155 $(SLB)$/fontman.lib \ 156 $(SLB)$/printer.lib 157.ELSE 158LIB1FILES+= \ 159 $(SLB)$/salwin.lib \ 160 $(SLB)$/salgdi.lib \ 161 $(SLB)$/salapp.lib 162.IF "$(GUIBASE)" == "aqua" 163LIB1FILES+= $(SLB)$/dtransaqua.lib 164.ENDIF 165.ENDIF 166 167SHL1TARGET= vcl$(DLLPOSTFIX) 168SHL1IMPLIB= ivcl 169SHL1STDLIBS+=\ 170 $(SOTLIB) \ 171 $(UNOTOOLSLIB) \ 172 $(TOOLSLIB) \ 173 $(I18NPAPERLIB) \ 174 $(I18NISOLANGLIB) \ 175 $(I18NUTILLIB) \ 176 $(COMPHELPERLIB) \ 177 $(UCBHELPERLIB) \ 178 $(CPPUHELPERLIB) \ 179 $(CPPULIB) \ 180 $(VOSLIB) \ 181 $(SALLIB) \ 182 $(BASEGFXLIB) \ 183 $(ICUUCLIB) \ 184 $(ICUDATALIB) \ 185 $(ICULELIB) \ 186 $(JVMACCESSLIB) 187 188.IF "$(GUI)" == "UNX" 189.IF "$(ENABLE_GRAPHITE)" != "" 190.IF "$(SYSTEM_GRAPHITE)" == "YES" 191SHL1STDLIBS+= $(GRAPHITE_LIBS) 192.ELSE 193SHL1STDLIBS+= $(SOLARVERSION)/$(INPATH)/lib$(UPDMINOREXT)/libgraphite.a 194.ENDIF 195.ENDIF 196.ENDIF 197SHL1USE_EXPORTS=name 198 199.IF "$(GUIBASE)"=="aqua" 200SHL1STDLIBS+= \ 201 $(BASEBMPLIB) \ 202 -lAppleRemote$(DLLPOSTFIX) \ 203 -framework QuickTime 204 205LIB1FILES+= \ 206 $(SLB)$/sala11y.lib 207.ENDIF 208 209.IF "$(USE_BUILTIN_RASTERIZER)"!="" 210 LIB1FILES += $(SLB)$/glyphs.lib 211 SHL1STDLIBS+= $(FREETYPELIB) 212.ELSE 213.IF "$(ENABLE_GRAPHITE)" == "TRUE" 214 LIB1FILES += $(SLB)$/glyphs.lib 215.ENDIF 216.ENDIF # USE_BUILTIN_RASTERIZER 217 218SHL1LIBS= $(LIB1TARGET) 219.IF "$(GUI)"!="UNX" 220.IF "$(COM)"!="GCC" 221#SHL1OBJS= $(SLO)$/salshl.obj 222.ENDIF 223.ENDIF 224 225.IF "$(GUI)" != "UNX" 226SHL1RES= $(RES)$/salsrc.res 227.ENDIF 228 229SHL1DEF= $(MISC)$/$(SHL1TARGET).def 230 231DEF1NAME =$(SHL1TARGET) 232DEF1DEPN = $(HXXDEPNLST) \ 233 $(LIB1TARGET) 234DEF1DES =VCL 235DEFLIB1NAME =vcl 236 237# --- W32 ---------------------------------------------------------------- 238 239.IF "$(GUI)" == "WNT" 240 241.IF "$(ENABLE_GRAPHITE)" == "TRUE" 242.IF "$(COM)" == "GCC" 243SHL1STDLIBS += -lgraphite 244.ELSE 245SHL1STDLIBS += graphite_dll.lib 246.ENDIF 247.ENDIF 248 249SHL1STDLIBS += $(UWINAPILIB) \ 250 $(GDI32LIB) \ 251 $(GDIPLUSLIB) \ 252 $(MSIMG32LIB) \ 253 $(WINSPOOLLIB) \ 254 $(OLE32LIB) \ 255 $(SHELL32LIB) \ 256 $(ADVAPI32LIB) 257 258SHL1STDLIBS += $(IMM32LIB) 259 260.IF "$(GUI)$(COM)$(CPU)" == "WNTMSCI" 261LINKFLAGSSHL += /ENTRY:LibMain@12 262.ENDIF 263.ENDIF 264 265# --- OS2 ---------------------------------------------------------------- 266 267.IF "$(GUI)" == "OS2" 268STDSHL1 += ft2lib.lib 269.ENDIF 270 271# --- UNX ---------------------------------------------------------------- 272 273# UNX sal plugins 274.IF "$(GUI)" == "UNX" && "$(GUIBASE)" != "aqua" 275 276# desktop detector 277LIB7TARGET=$(SLB)$/idet 278LIB7FILES=$(SLB)$/dtdetect.lib 279SHL7TARGET=desktop_detector$(DLLPOSTFIX) 280SHL7STDLIBS=\ 281 $(SALLIB) \ 282 $(X11LINK_DYNAMIC) 283SHL7IMPLIB=idet 284SHL7LIBS=$(LIB7TARGET) 285 286# basic pure X11 plugin 287LIB2TARGET=$(SLB)$/ipure_x 288LIB2FILES= \ 289 $(SLB)$/dtransX11.lib \ 290 $(SLB)$/printergfx.lib \ 291 $(SLB)$/salwin.lib \ 292 $(SLB)$/salgdi.lib \ 293 $(SLB)$/salapp.lib 294SHL2TARGET=vclplug_gen$(DLLPOSTFIX) 295SHL2IMPLIB=ipure_x 296SHL2LIBS=$(LIB2TARGET) 297SHL2DEPN=$(SHL1IMPLIBN) $(SHL1TARGETN) 298 299# libs for generic plugin 300SHL2STDLIBS=\ 301 $(VCLLIB)\ 302 $(I18NPAPERLIB) \ 303 $(I18NISOLANGLIB) \ 304 $(TOOLSLIB) \ 305 $(VOSLIB) \ 306 $(BASEGFXLIB) \ 307 $(UNOTOOLSLIB) \ 308 $(COMPHELPERLIB) \ 309 $(CPPUHELPERLIB) \ 310 $(CPPULIB) \ 311 $(SALLIB) 312 313# prepare linking of Xinerama 314.IF "$(USE_XINERAMA)" != "NO" 315 316.IF "$(OS)"=="MACOSX" || "$(OS)$(CPU)" == "LINUXX" 317XINERAMALIBS=-lXinerama 318.ELSE 319.IF "$(OS)" != "SOLARIS" || "$(USE_XINERAMA_VERSION)" == "Xorg" 320.IF "$(XINERAMA_LINK)" == "dynamic" 321XINERAMALIBS= -lXinerama 322.ELSE 323XINERAMALIBS= -Wl,-Bstatic -lXinerama -Wl,-Bdynamic 324.ENDIF # XINERAMA_LINK == dynamic 325.ENDIF # OS == SOLARIS 326.ENDIF # OS == MACOSX 327 328SHL2STDLIBS += $(XINERAMALIBS) 329.ENDIF # USE_XINERAMA != NO 330 331.IF "$(XRENDER_LINK)" == "YES" 332SHL2STDLIBS+=`pkg-config --libs xrender` 333.ENDIF 334 335.IF "$(GUIBASE)"=="unx" 336 337SHL2STDLIBS += -lXext -lSM -lICE -lX11 338.IF "$(OS)"!="MACOSX" && "$(OS)"!="FREEBSD" && "$(OS)"!="NETBSD" 339# needed by salprnpsp.cxx 340SHL2STDLIBS+= -ldl 341.ENDIF 342 343.IF "$(ENABLE_RANDR)" != "" 344.IF "$(XRANDR_DLOPEN)" == "FALSE" 345SHL2STDLIBS+= $(XRANDR_LIBS) 346.ENDIF 347.ENDIF 348 349.ENDIF # "$(GUIBASE)"=="unx" 350 351# gtk plugin 352.IF "$(ENABLE_GTK)" != "" 353PKGCONFIG_MODULES=gtk+-2.0 gthread-2.0 354.IF "$(ENABLE_DBUS)" != "" 355PKGCONFIG_MODULES+= dbus-glib-1 356.ENDIF 357.INCLUDE: pkg_config.mk 358 359LIB4TARGET=$(SLB)$/igtk_plug_ 360LIB4FILES=\ 361 $(SLB)$/gtkapp.lib\ 362 $(SLB)$/gtka11y.lib \ 363 $(SLB)$/gtkgdi.lib\ 364 $(SLB)$/gtkwin.lib 365 366SHL4TARGET=vclplug_gtk$(DLLPOSTFIX) 367SHL4IMPLIB=igtk_plug_ 368SHL4LIBS=$(LIB4TARGET) 369SHL4DEPN=$(SHL1IMPLIBN) $(SHL1TARGETN) $(SHL2IMPLIBN) $(SHL2TARGETN) 370# libs for gtk plugin 371SHL4STDLIBS+=$(PKGCONFIG_LIBS:s/ -lpangoxft-1.0//) 372# hack for faked SO environment 373.IF "$(PKGCONFIG_ROOT)"!="" 374SHL4SONAME+=-z nodefs 375SHL4NOCHECK=TRUE 376.ENDIF # "$(PKGCONFIG_ROOT)"!="" 377 378 379SHL4STDLIBS+=-l$(SHL2TARGET) 380SHL4STDLIBS+=\ 381 $(VCLLIB) \ 382 $(TOOLSLIB) \ 383 $(CPPUHELPERLIB) \ 384 $(CPPULIB) \ 385 $(VOSLIB) \ 386 $(SALLIB) \ 387 $(X11LINK_DYNAMIC) 388 389.IF "$(ENABLE_RANDR)" != "" 390.IF "$(XRANDR_DLOPEN)" == "FALSE" 391SHL4STDLIBS+= $(XRANDR_LIBS) 392.ENDIF 393.ENDIF 394 395.ENDIF # "$(ENABLE_GTK)" != "" 396 397# KDE plugin 398.IF "$(ENABLE_KDE)" != "" 399.IF "$(KDE_ROOT)"!="" 400EXTRALIBPATHS+=-L$(KDE_ROOT)$/lib 401.IF "$(OS)$(CPU)" == "LINUXX" 402EXTRALIBPATHS+=-L$(KDE_ROOT)$/lib64 403.ENDIF 404.ENDIF 405LIB5TARGET=$(SLB)$/ikde_plug_ 406LIB5FILES=$(SLB)$/kdeplug.lib 407SHL5TARGET=vclplug_kde$(DLLPOSTFIX) 408SHL5IMPLIB=ikde_plug_ 409SHL5LIBS=$(LIB5TARGET) 410SHL5DEPN=$(SHL2TARGETN) 411# libs for KDE plugin 412SHL5LINKFLAGS+=$(KDE_LIBS) 413SHL5STDLIBS+=-l$(SHL2TARGET) 414SHL5STDLIBS+=\ 415 $(VCLLIB) \ 416 $(TOOLSLIB) \ 417 $(VOSLIB) \ 418 $(SALLIB) \ 419 $(X11LINK_DYNAMIC) 420 421.IF "$(ENABLE_RANDR)" != "" 422.IF "$(XRANDR_DLOPEN)" == "FALSE" 423SHL5STDLIBS+= $(XRANDR_LIBS) 424.ENDIF 425.ENDIF 426 427.ENDIF # "$(ENABLE_KDE)" != "" 428 429# KDE4 plugin 430.IF "$(ENABLE_KDE4)" != "" 431.IF "$(KDE4_ROOT)"!="" 432EXTRALIBPATHS+=-L$(KDE4_ROOT)$/lib 433.ENDIF 434LIB6TARGET=$(SLB)$/ikde4_plug_ 435LIB6FILES=$(SLB)$/kde4plug.lib 436SHL6TARGET=vclplug_kde4$(DLLPOSTFIX) 437SHL6IMPLIB=ikde4_plug_ 438SHL6LIBS=$(LIB6TARGET) 439SHL6DEPN=$(SHL2TARGETN) 440# libs for KDE4 plugin 441SHL6LINKFLAGS+=$(KDE4_LIBS) 442SHL6STDLIBS+=-l$(SHL2TARGET) 443SHL6STDLIBS+=\ 444 $(VCLLIB) \ 445 $(PSPLIB) \ 446 $(TOOLSLIB) \ 447 $(VOSLIB) \ 448 $(SALLIB) \ 449 $(X11LINK_DYNAMIC) 450 451.IF "$(ENABLE_RANDR)" != "" 452.IF "$(XRANDR_DLOPEN)" == "FALSE" 453SHL6STDLIBS+= $(XRANDR_LIBS) 454.ENDIF 455.ENDIF 456 457.ENDIF # "$(ENABLE_KDE4)" != "" 458 459.ENDIF # UNX 460 461# --- Allgemein ---------------------------------------------------------- 462 463.INCLUDE : target.mk 464 465ALLTAR : $(MISC)/vcl.component 466 467.IF "$(OS)" == "MACOSX" 468my_platform = .macosx 469.ELIF "$(OS)" == "WNT" 470my_platform = .windows 471.END 472 473$(MISC)/vcl.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ 474 vcl.component 475 $(XSLTPROC) --nonet --stringparam uri \ 476 '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ 477 $(SOLARENV)/bin/createcomponent.xslt vcl$(my_platform).component 478