Makefile.kmk revision d8fa37a85f1e068eed376fe93f706760321731b7
# $Id$
## @file
# Top-level makefile for the external libraries.
#
#
# Copyright (C) 2006-2007 Sun Microsystems, Inc.
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
# you can redistribute it and/or modify it under the terms of the GNU
# General Public License (GPL) as published by the Free Software
# Foundation, in version 2 as it comes in the "COPYING" file of the
# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
# Clara, CA 95054 USA or visit http://www.sun.com if you need
# additional information or have any questions.
#
if 1 #def VBOX_SINGLE_MAKEFILE
SUB_DEPTH = ../..
include $(KBUILD_PATH)/subheader.kmk
#
# Note! A number of the libs may be detected on the host system by the configure script.
# The usual way for testing for this is to see whether the Config.kmk default
# include path specific to the lib has been changed.
#
# Compression libs used by IPRT and <what was it again?>.
include $(PATH_SUB_CURRENT)/liblzf-1.51/Makefile.kmk
if !defined(VBOX_ONLY_SDK) \
&& "$(SDK_VBOX_ZLIB_INCS)" == "$(PATH_ROOT)/src/libs/zlib-1.2.1"
include $(PATH_SUB_CURRENT)/zlib-1.2.1/Makefile.kmk
endif
# PNG support (for screenshots).
if !defined(VBOX_ONLY_DOCS) && !defined(VBOX_ONLY_SDK) \
&& "$(SDK_VBOX_LIBPNG_INCS)" == "$(PATH_ROOT)/src/libs/libpng-1.2.8"
include $(PATH_SUB_CURRENT)/libpng-1.2.8/Makefile.kmk
endif # !VBOX_ONLY_DOCS
# The kStuff lib used by IPRT and the debugger.
ifdef IPRT_WITH_KSTUFF
include $(PATH_SUB_CURRENT)/kStuff/Makefile.kmk
endif
# OpenSSL for VRDP.
if defined(VBOX_WITH_VRDP) && !defined(VBOX_ONLY_DOCS) && !defined(VBOX_ONLY_SDK) \
&& "$(SDK_VBOX_OPENSSL_INCS)" == "$(SDK_VBOX_OPENSSL_DEFAULT_INCS)"
include $(PATH_SUB_CURRENT)/openssl-0.9.8h/Makefile.kmk
endif
# Main related things - XML and XSLT, XPCOM.
if defined(VBOX_WITH_MAIN) && !defined(VBOX_ONLY_DOCS)
ifdef VBOX_WITH_XPCOM
include $(PATH_SUB_CURRENT)/xpcom18a4/Makefile.kmk
endif
ifeq ($(SDK_VBOX_LIBXML2_INCS),$(PATH_ROOT)/src/libs/libxml2-2.6.30/include)
include $(PATH_SUB_CURRENT)/libxml2-2.6.30/Makefile.kmk
endif
ifeq ($(SDK_VBOX_LIBXSLT_INCS),$(PATH_ROOT)/src/libs/libxslt-1.1.22)
include $(PATH_SUB_CURRENT)/libxslt-1.1.22/Makefile.kmk
endif
# FFmpeg for test videos.
if defined(VBOX_WITH_FFMPEG) && !defined(VBOX_OSE) && !defined(VBOX_WITH_SDK)
if1of ($(KBUILD_TARGET), darwin linux)
include $(PATH_SUB_CURRENT)/ffmpeg-20060710/Makefile.kmk
endif
endif
endif # VBOX_WITH_MAIN && !VBOX_ONLY_DOCS
include $(KBUILD_PATH)/subfooter.kmk
else # !VBOX_SINGLE_MAKEFILE
DEPTH = ../..
include $(KBUILD_PATH)/header.kmk
subdirs := liblzf-1.51 $(subdirs.$(KBUILD_TARGET))
ifdef IPRT_WITH_KSTUFF
subdirs += kStuff
endif
# @todo win and os2 need that even in OSE, all others should set proper *_INCS
# values by the configure script
#ifndef VBOX_OSE
ifeq ($(SDK_VBOX_ZLIB_INCS),$(PATH_ROOT)/src/libs/zlib-1.2.1)
subdirs += zlib-1.2.1
endif
ifeq ($(SDK_VBOX_LIBPNG_INCS),$(PATH_ROOT)/src/libs/libpng-1.2.8)
subdirs += libpng-1.2.8
endif
#endif # !VBOX_OSE
ifdef VBOX_WITH_VRDP
ifeq ($(SDK_VBOX_OPENSSL_INCS),$(SDK_VBOX_OPENSSL_DEFAULT_INCS))
subdirs += openssl-0.9.8h
endif
endif
ifdef VBOX_WITH_MAIN
ifdef VBOX_WITH_XPCOM
subdirs += xpcom18a4
endif
# Only build libxml2 if we don't use an external library.
ifeq ($(SDK_VBOX_LIBXML2_INCS),$(PATH_ROOT)/src/libs/libxml2-2.6.30/include)
subdirs += libxml2-2.6.30
endif
# Only build libxslt if we don't use an external library.
ifeq ($(SDK_VBOX_LIBXSLT_INCS),$(PATH_ROOT)/src/libs/libxslt-1.1.22)
subdirs += libxslt-1.1.22
endif
# FFmpeg for test videos
ifndef VBOX_OSE
ifdef VBOX_WITH_FFMPEG
if1of ($(KBUILD_TARGET), darwin)
subdirs += ffmpeg-20060710
endif
endif
endif
endif
ifdef VBOX_ONLY_DOCS
subdirs := $(filter liblzf-1.51 zlib-1.2.1 kStuff, $(subdirs))
endif
ifdef VBOX_ONLY_SDK
subdirs := $(filter-out liblzf-1.51 zlib-1.2.1 libpng-1.2.8 openssl-0.9.7e openssl-0.9.8h ffmpeg-20060710, $(subdirs))
endif
# optimized walking
SUBDIRS_BLDPROGS = $(filter xpcom18a4,$(subdirs))
SUBDIRS_LIBRARIES = $(subdirs)
SUBDIRS_BINARIES = $(filter xpcom18a4,$(subdirs))
SUBDIRS_DLLS = $(filter xpcom18a4 ffmpeg-20060710,$(subdirs))
SUBDIRS_OTHERS = $(filter xpcom18a4,$(subdirs))
SUBDIRS_INSTALLS = $(filter xpcom18a4,$(subdirs))
SUBDIRS_CLEAN = $(subdirs)
SUBDIRS_NOTHING = $(subdirs)
include $(KBUILD_PATH)/footer.kmk
endif # !VBOX_SINGLE_MAKEFILE