Makefile.kmk revision 2f474f0bbe679ecae927d546e06f66956a68b84e
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# Sub-Makefile for the IPRT (IPRT).
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync# Copyright (C) 2006-2007 Sun Microsystems, Inc.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# available from http://www.virtualbox.org. This file is free software;
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# you can redistribute it and/or modify it under the terms of the GNU
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# General Public License (GPL) as published by the Free Software
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync# The contents of this file may alternatively be used under the terms
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync# of the Common Development and Distribution License Version 1.0
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync# (CDDL) only, as it comes in the "COPYING.CDDL" file of the
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# VirtualBox OSE distribution, in which case the provisions of the
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# CDDL are applicable instead of those of the GPL.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# You may elect to license modified versions of this file under the
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# terms and conditions of either the GPL or the CDDL or both.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# Clara, CA 95054 USA or visit http://www.sun.com if you need
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# additional information or have any questions.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncDEPTH ?= ../../..
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncSUB_DEPTH = .
d31ded334a29f575e23dc889b603b1a586759348vboxsyncinclude $(KBUILD_PATH)/subheader.kmk
d31ded334a29f575e23dc889b603b1a586759348vboxsyncifdef VBOX_ONLY_ADDITIONS
61fa69e2bc9fc9e7490feed1c020273f3ddb238dvboxsync # Only build the additions, sort out the legacy names first.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync ifeq ($(KBUILD_TARGET),win)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync LIBRARIES = RuntimeW32GuestR0 RuntimeW32GuestR3 RuntimeW32NT4GuestR0
b74ca013e5f201a2dd371e6c438433ceac12af30vboxsync LIBRARIES = RuntimeGuestR0 RuntimeGuestR3 RuntimeGuestR3Mini
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync #LIBRARIES.os2 = RuntimeOS2Warp3GuestR0
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync #LIBRARIES.win = RuntimeW32NT4GuestR0
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync ifndef VBOX_WITH_ADDITION_DRIVERS
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync if1of ($(KBUILD_TARGET), linux l4) # All drivers are optional, can skip RuntimeGuestR0.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync LIBRARIES := $(filter-out RuntimeGuestR0, $(LIBRARIES))
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync # Normal build.
2daaccf68be3773aee600c5c3e48bcf5401418a6vboxsync BLDPROGS = uniread
0174432b2b1a760b89840ba696f7ba51def65dddvboxsync LIBRARIES = RuntimeR3 RuntimeR0 RuntimeGC RuntimeEFCPP RuntimeR3NoCRTGCC
614cbe11a7e5588dc8d369e223174b1441a09359vboxsync ifdef VBOX_WITH_VBOXDRV
614cbe11a7e5588dc8d369e223174b1441a09359vboxsync LIBRARIES += RuntimeR0Drv
7666082b743c5e146a8cee6cc794ff4bc3fd0ffdvboxsync ifdef VBOX_WITH_ADDITIONS
7666082b743c5e146a8cee6cc794ff4bc3fd0ffdvboxsync ifdef VBOX_WITH_WIN32_ADDITIONS
7666082b743c5e146a8cee6cc794ff4bc3fd0ffdvboxsync LIBRARIES += RuntimeW32GuestR0 RuntimeW32GuestR3 RuntimeW32NT4GuestR0
7666082b743c5e146a8cee6cc794ff4bc3fd0ffdvboxsync ifneq ($(KBUILD_TARGET),win)
7666082b743c5e146a8cee6cc794ff4bc3fd0ffdvboxsync LIBRARIES += RuntimeGuestR0 RuntimeGuestR3 RuntimeGuestR3Mini
590bfe12ce22cd3716448fbb9f4dc51664bfe5e2vboxsync #LIBRARIES.os2 = RuntimeOS2Warp3GuestR0
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync #LIBRARIES.win = RuntimeW32NT4GuestR0
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync ifndef VBOX_WITH_ADDITION_DRIVERS
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync if1of ($(KBUILD_TARGET), linux l4) # All drivers are optional, can skip RuntimeGuestR0.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync LIBRARIES := $(filter-out RuntimeGuestR0, $(LIBRARIES))
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync endif # VBOX_WITH_ADDITIONS
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync LIBRARIES.l4 = RuntimeR3L4 RuntimeLnxHostR3
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync DLLS = VBoxRT
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync OTHER_CLEAN = \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync $(PATH_TARGET)/errmsgdata.h \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync $(PATH_TARGET)/errmsgcomdata.h \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync $(PATH_TARGET)/Doxyfile \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync $(PATH_TARGET)/Doxyfile.dep \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync $(PATH_TARGET)/docs.iprt
22e281e75ed636601178296c6daebda8f1d17c59vboxsync# Unicode Specification reader used to regenerate unidata.cpp.
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncuniread_TEMPLATE = VBOXBLDPROG
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncuniread_INCS = include
22e281e75ed636601178296c6daebda8f1d17c59vboxsync# Win64 assembly sources.
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncRuntimeWin64ASM_SOURCES = \
22e281e75ed636601178296c6daebda8f1d17c59vboxsync# Win32 assembly sources.
d1cbbd799d8912978f5146960b6780f387bb414bvboxsyncRuntimeWin32ASM_SOURCES = \
22e281e75ed636601178296c6daebda8f1d17c59vboxsync# RuntimeR3 - Static Runtime for Ring-3 executables.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncRuntimeR3_TEMPLATE = VBOXR3EXE
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncRuntimeR3_SDKS.win = WINPSDK W2K3DDK
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncRuntimeR3_DEFS = IN_RT_R3 IN_SUP_R3 LDR_WITH_NATIVE LDR_WITH_ELF32 LDR_WITH_PE RT_WITH_VBOX
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncifdef IPRT_WITH_KSTUFF
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync RuntimeR3_DEFS += LDR_WITH_KLDR
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncifdef VBOX_MAIN_RELEASE_LOG ## @todo (dmik): temporary, until RTThreadSelf/RTThreadAdopt are properly updated
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync RuntimeR3_DEFS += RTCRITSECT_STRICT
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncRuntimeR3_INCS = \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncifdef IPRT_WITH_KSTUFF
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync RuntimeR3_INCS += \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync $(L4_INCDIR)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncRuntimeR3_SOURCES = \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync#if1of ($(KBUILD_TARGET_ARCH),amd64 x86)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# RuntimeR3_SOURCES += common/time/timesupA.asm
22e281e75ed636601178296c6daebda8f1d17c59vboxsync RuntimeR3_SOURCES += common/time/timesupref.cpp
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncifdef IPRT_WITH_KSTUFF
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync RuntimeR3_SOURCES += \
b74ca013e5f201a2dd371e6c438433ceac12af30vboxsync# VBox specific stuff.
b74ca013e5f201a2dd371e6c438433ceac12af30vboxsyncRuntimeR3_SOURCES += \
6ae4b1c72625a8e5c369effea7f018b578d733c4vboxsyncifneq ($(KBUILD_TARGET),win)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncRuntimeR3_SOURCES += \
533ffcb943c4af2c5fe6385d816d0ba3eda9383bvboxsyncRuntimeR3_SOURCES.win.amd64 = $(RuntimeWin64ASM_SOURCES)
533ffcb943c4af2c5fe6385d816d0ba3eda9383bvboxsyncRuntimeR3_SOURCES.win.x86 = $(RuntimeWin32ASM_SOURCES)
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncifdef RT_NEW_LINUX_MUTEX_CODE
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync## @todo Make BSD sched.
b978e5849454446957177fd47ee98609ab0457a6vboxsync## PORTME: Porters add their selection of platform specific files for Ring-3 here.
22e281e75ed636601178296c6daebda8f1d17c59vboxsync# L4 RuntimeR3 subtarget since L4 headers won't work with VBOXR3.
42c1972c22e09797b4b24afbd0ec114ed076c37cvboxsyncRuntimeR3L4_TEMPLATE = VBOXR3NP
79b24ef0ab7cd4a03a3571b3954c52ab8b573137vboxsyncRuntimeR3L4_DEFS = IN_RT_R3 IN_SUP_R3 LDR_WITH_NATIVE LDR_WITH_ELF LDR_WITH_PE
806d0b554daa555364af5f87bc96eccbe760db7avboxsyncifneq ($(KBUILD_TARGET_ARCH),amd64)
79b24ef0ab7cd4a03a3571b3954c52ab8b573137vboxsyncRuntimeR3L4_DEFS += __PIC__
3cac8f8c6923a3a89ecfccda5e89ad75f48658e0vboxsyncRuntimeR3L4_INCS = \
3cac8f8c6923a3a89ecfccda5e89ad75f48658e0vboxsync $(L4_INCDIR)
03319aeaef07ef63a404237f2cb56199131f4a03vboxsyncRuntimeR3L4_SOURCES = \
57399ab65e2825c324fb9dcb4642d4ae2c232509vboxsync# RuntimeGuestR3 - Guest Additions Runtime (static).
13ba5527caaa9b8c4fee29f22e374fa67c4c6f72vboxsync# (The KBUILD_HOST inheritance here is for l4 cross building the linux
13ba5527caaa9b8c4fee29f22e374fa67c4c6f72vboxsync# additions, while .x86 is for cross building x86 while targeting amd64.)
3dde2f85d4cf477621a3128887a2c08a8bca7c01vboxsyncRuntimeGuestR3_TEMPLATE := VBOXGUESTR3LIB
8e8844a522f5d335f177a0313b03067d79cce201vboxsyncRuntimeGuestR3_DEFS := $(filter-out RTCRITSECT_STRICT, $(RuntimeR3_DEFS))
7bae75e0b207aa4d4cad2a951271ad1a0e8ab9fdvboxsyncRuntimeGuestR3_DEFS.$(KBUILD_TARGET) := $(RuntimeR3_DEFS.$(KBUILD_TARGET))
7bae75e0b207aa4d4cad2a951271ad1a0e8ab9fdvboxsyncRuntimeGuestR3_DEFS.$(KBUILD_HOST) := $(RuntimeR3_DEFS.$(KBUILD_HOST))
6ae4b1c72625a8e5c369effea7f018b578d733c4vboxsyncRuntimeGuestR3_INCS := $(RuntimeR3_INCS)
3dde2f85d4cf477621a3128887a2c08a8bca7c01vboxsyncRuntimeGuestR3_INCS.$(KBUILD_TARGET) := $(RuntimeR3_INCS.$(KBUILD_TARGET))
79b24ef0ab7cd4a03a3571b3954c52ab8b573137vboxsyncRuntimeGuestR3_INCS.$(KBUILD_HOST) := $(RuntimeR3_INCS.$(KBUILD_HOST))
79b24ef0ab7cd4a03a3571b3954c52ab8b573137vboxsyncRuntimeGuestR3_SOURCES := $(filter-out \
b978e5849454446957177fd47ee98609ab0457a6vboxsync , $(RuntimeR3_SOURCES))
3cac8f8c6923a3a89ecfccda5e89ad75f48658e0vboxsyncRuntimeGuestR3_SOURCES += \
7082d29724f6c3788977a51591b0379fd3acbf72vboxsyncRuntimeGuestR3_SOURCES.$(KBUILD_TARGET) := $(RuntimeR3_SOURCES.$(KBUILD_TARGET))
7082d29724f6c3788977a51591b0379fd3acbf72vboxsyncRuntimeGuestR3_SOURCES.$(KBUILD_HOST) := $(RuntimeR3_SOURCES.$(KBUILD_HOST))
6f0193f5a9287559d34a75f438c2682d8fb08038vboxsyncRuntimeGuestR3_SOURCES.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH) := $(RuntimeR3_SOURCES.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH))
6f0193f5a9287559d34a75f438c2682d8fb08038vboxsyncRuntimeGuestR3_SOURCES.$(KBUILD_HOST).$(KBUILD_TARGET_ARCH) := $(RuntimeR3_SOURCES.$(KBUILD_HOST).$(KBUILD_TARGET_ARCH))
46b1ac1c3302722f93e787d0f0693965e88f5ceevboxsyncRuntimeGuestR3_SOURCES.$(KBUILD_TARGET).x86 := $(RuntimeR3_SOURCES.$(KBUILD_TARGET).x86)
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncRuntimeGuestR3_SOURCES.$(KBUILD_HOST).x86 := $(RuntimeR3_SOURCES.$(KBUILD_HOST).x86)
13ba5527caaa9b8c4fee29f22e374fa67c4c6f72vboxsync# RuntimeGuestR3Mini - Minimal Guest Additions Runtime which does not require
f827fea1108b8f8a1a5f63318f6ec3cf4a9e7010vboxsync# initialization and can be linked into an .so. Intended
f9147fe1eaa4e35287f8f39282c7f92f0d7de0b7vboxsync# for X11 drivers, GRADD and similar.
42c1972c22e09797b4b24afbd0ec114ed076c37cvboxsyncRuntimeGuestR3Mini_TEMPLATE := VBOXGUESTR3DLL
e0b9d3c357adf9b7d05f55540e86f22943fc4b23vboxsyncRuntimeGuestR3Mini_INST := $(INST_ADDITIONS_LIB)
5cf54b3ffeb7ee90685dcaec329ef71a729f5947vboxsyncRuntimeGuestR3Mini_SDKS.win := $(RuntimeR3_SDKS.win)
806d0b554daa555364af5f87bc96eccbe760db7avboxsyncRuntimeGuestR3Mini_DEFS := $(filter-out RTCRITSECT_STRICT, $(RuntimeR3_DEFS)) RT_MINI
f9147fe1eaa4e35287f8f39282c7f92f0d7de0b7vboxsyncRuntimeGuestR3Mini_DEFS.$(KBUILD_TARGET) := $(RuntimeR3_DEFS.$(KBUILD_TARGET))
13ba5527caaa9b8c4fee29f22e374fa67c4c6f72vboxsyncRuntimeGuestR3Mini_DEFS.$(KBUILD_HOST) := $(RuntimeR3_DEFS.$(KBUILD_HOST))
13ba5527caaa9b8c4fee29f22e374fa67c4c6f72vboxsyncRuntimeGuestR3Mini_INCS := $(RuntimeR3_INCS)
6f0193f5a9287559d34a75f438c2682d8fb08038vboxsyncRuntimeGuestR3Mini_INCS.$(KBUILD_TARGET) := $(RuntimeR3_INCS.$(KBUILD_TARGET))
13ba5527caaa9b8c4fee29f22e374fa67c4c6f72vboxsyncRuntimeGuestR3Mini_INCS.$(KBUILD_HOST) := $(RuntimeR3_INCS.$(KBUILD_HOST))
6f0193f5a9287559d34a75f438c2682d8fb08038vboxsyncRuntimeGuestR3Mini_SOURCES = \
6f0193f5a9287559d34a75f438c2682d8fb08038vboxsync# VBox specific stuff.
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncRuntimeGuestR3Mini_SOURCES += \
f9147fe1eaa4e35287f8f39282c7f92f0d7de0b7vboxsync# RuntimeW32GuestR3 - Win32 guest program runtime.
f9147fe1eaa4e35287f8f39282c7f92f0d7de0b7vboxsyncRuntimeW32GuestR3_TEMPLATE = VBOXW32GUESTR3LIB
f9147fe1eaa4e35287f8f39282c7f92f0d7de0b7vboxsyncRuntimeW32GuestR3_SDKS = WINPSDK W2K3DDK
f9147fe1eaa4e35287f8f39282c7f92f0d7de0b7vboxsyncRuntimeW32GuestR3_DEFS = IN_RT_R3 IN_SUP_R3 LDR_WITH_NATIVE LDR_WITH_ELF32 LDR_WITH_PE RT_WITH_VBOX
7e960d3a0a8a3a84d7aba2cca45d72b1c31cc97bvboxsyncifdef IPRT_WITH_KSTUFF
65b61798a61dd4c32cce448db1dac70bba8d5cf5vboxsync RuntimeW32GuestR3_DEFS += LDR_WITH_KLDR
b978e5849454446957177fd47ee98609ab0457a6vboxsyncRuntimeW32GuestR3_SOURCES = $(RuntimeR3_SOURCES.win) $(RuntimeR3_SOURCES)
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncRuntimeW32GuestR3_INCS = $(RuntimeR3_INCS.win) $(RuntimeR3_INCS)
65b61798a61dd4c32cce448db1dac70bba8d5cf5vboxsync# RuntimeLnxHostR3 Linux host program runtime
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncRuntimeLnxHostR3_TEMPLATE = VBOXLNXHOSTR3LIB
13ba5527caaa9b8c4fee29f22e374fa67c4c6f72vboxsyncRuntimeLnxHostR3_DEFS = IN_RT_R3 IN_SUP_R3 RT_WITH_VBOX RT_NO_GIP
13ba5527caaa9b8c4fee29f22e374fa67c4c6f72vboxsyncRuntimeLnxHostR3_SOURCES = \
13ba5527caaa9b8c4fee29f22e374fa67c4c6f72vboxsync $(RuntimeR3_SOURCES.linux.$(KBUILD_TARGET_ARCH)) \
65b61798a61dd4c32cce448db1dac70bba8d5cf5vboxsync $(RuntimeR3_SOURCES)
65b61798a61dd4c32cce448db1dac70bba8d5cf5vboxsyncRuntimeLnxHostR3_INCS = \
9e4166cf5ed4940f506bc718ea6c89bf7ed252c8vboxsync $(RuntimeR3_INCS.linux.$(KBUILD_TARGET_ARCH)) \
65b61798a61dd4c32cce448db1dac70bba8d5cf5vboxsync $(RuntimeR3_INCS)
13ba5527caaa9b8c4fee29f22e374fa67c4c6f72vboxsync# VBoxRT - Shared Object / DLL version.
65b61798a61dd4c32cce448db1dac70bba8d5cf5vboxsyncVBoxRT_TEMPLATE = VBOXR3
65b61798a61dd4c32cce448db1dac70bba8d5cf5vboxsyncVBoxRT_SDKS.win = WINPSDK W2K3DDK VBOX_NTDLL
22e281e75ed636601178296c6daebda8f1d17c59vboxsyncifeq ($(KBUILD_TARGET),darwin)
8e8844a522f5d335f177a0313b03067d79cce201vboxsyncVBoxRT_INST = $(INST_DLL) $(INST_TESTCASE)
65b61798a61dd4c32cce448db1dac70bba8d5cf5vboxsyncVBoxRT_DEFS = $(RuntimeR3_DEFS) IN_SUP_R3 IN_SUP_R3
6ae4b1c72625a8e5c369effea7f018b578d733c4vboxsyncVBoxRT_DEFS.$(KBUILD_TYPE) = $(RuntimeR3_DEFS.$(KBUILD_TYPE))
65b61798a61dd4c32cce448db1dac70bba8d5cf5vboxsyncVBoxRT_SOURCES = \
65b61798a61dd4c32cce448db1dac70bba8d5cf5vboxsync $(RuntimeR3_SOURCES)
65b61798a61dd4c32cce448db1dac70bba8d5cf5vboxsyncVBoxRT_SOURCES.$(KBUILD_TARGET) = $(RuntimeR3_SOURCES.$(KBUILD_TARGET))
65b61798a61dd4c32cce448db1dac70bba8d5cf5vboxsyncVBoxRT_SOURCES.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH) = $(RuntimeR3_SOURCES.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH))
3cac8f8c6923a3a89ecfccda5e89ad75f48658e0vboxsyncVBoxRT_INCS = $(RuntimeR3_INCS)
3cac8f8c6923a3a89ecfccda5e89ad75f48658e0vboxsyncVBoxRT_INCS.$(KBUILD_TARGET) = $(RuntimeR3_INCS.$(KBUILD_TARGET))
46df4404c8dbbf3672e7aae8cd0b2770356e5b73vboxsyncVBoxRT_INCS.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH) = $(RuntimeR3_INCS.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH))
46df4404c8dbbf3672e7aae8cd0b2770356e5b73vboxsyncVBoxRT_LIBS = \
ce2d2eef2525963979102e63c2419d1c69d767ccvboxsync $(PATH_LIB)/SUPR3$(VBOX_SUFF_LIB) \
ce2d2eef2525963979102e63c2419d1c69d767ccvboxsync $(PATH_LIB)/VBox-liblzf$(VBOX_SUFF_LIB)
ce2d2eef2525963979102e63c2419d1c69d767ccvboxsyncifdef IPRT_WITH_KSTUFF
46df4404c8dbbf3672e7aae8cd0b2770356e5b73vboxsync VBoxRT_LIBS += \
ce2d2eef2525963979102e63c2419d1c69d767ccvboxsync $(PATH_LIB)/VBox-kStuff$(VBOX_SUFF_LIB)
ce2d2eef2525963979102e63c2419d1c69d767ccvboxsyncVBoxRT_LDFLAGS.darwin = -framework IOKit -install_name @executable_path/VBoxRT.dylib
ce2d2eef2525963979102e63c2419d1c69d767ccvboxsyncifdef VBOX_USE_VCC80
ce2d2eef2525963979102e63c2419d1c69d767ccvboxsync -Wl,-whole-archive \
3dde2f85d4cf477621a3128887a2c08a8bca7c01vboxsync $(PATH_LIB)/RuntimeR3L4$(VBOX_SUFF_LIB) \
46df4404c8dbbf3672e7aae8cd0b2770356e5b73vboxsync -Wl,-no-whole-archive
46df4404c8dbbf3672e7aae8cd0b2770356e5b73vboxsyncifeq ($(KBUILD_TARGET),l4)
46df4404c8dbbf3672e7aae8cd0b2770356e5b73vboxsyncVBoxRT_LIBS += \
46df4404c8dbbf3672e7aae8cd0b2770356e5b73vboxsync $(L4_LIBDIR)/libl4sys.a \
3cac8f8c6923a3a89ecfccda5e89ad75f48658e0vboxsync $(PATH_LIB)/RuntimeR3L4$(VBOX_SUFF_LIB)
ce2d2eef2525963979102e63c2419d1c69d767ccvboxsync# RuntimeR3NoCRTGCC - CRT replacement lib for VBoxREM.
ce2d2eef2525963979102e63c2419d1c69d767ccvboxsync# This is used together with VBoxRT.
585f64d6f624f9e683321dabeb21b0eb2e6aa473vboxsyncRuntimeR3NoCRTGCC_TEMPLATE = VBOXNOCRTGCC
ce2d2eef2525963979102e63c2419d1c69d767ccvboxsyncRuntimeR3NoCRTGCC_LIBSUFF = $(VBOX_SUFF_LIB)
ce2d2eef2525963979102e63c2419d1c69d767ccvboxsyncRuntimeR3NoCRTGCC_INCS = include
ce2d2eef2525963979102e63c2419d1c69d767ccvboxsyncRuntimeR3NoCRTGCC_SOURCES = \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync## @todo stop using the old memcpy.c and memset.c code.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# RuntimeR0 - Ring0 library for VMMR0.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncRuntimeR0_TEMPLATE = VBOXR0
e17bd6c32a8dd64f2d42838f9028216465e2caf0vboxsyncRuntimeR0_DEFS = IN_RT_R0 RT_WITH_VBOX RT_WITHOUT_NOCRT_WRAPPERS
5ace91141404400247438502a84a418fba00c8cfvboxsyncRuntimeR0_INCS = include
e9a217d585085a6a6d129d27ca0d96a1b8e6d0eevboxsyncRuntimeR0_SOURCES = \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync#if1of ($(KBUILD_TARGET_ARCH),amd64 x86)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# RuntimeR0_SOURCES += common/time/timesupA.asm
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync RuntimeR0_SOURCES += common/time/timesupref.cpp
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncRuntimeR0_SOURCES.win.amd64 = $(RuntimeWin64ASM_SOURCES)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncRuntimeR0_SOURCES.win.x86 = $(RuntimeWin32ASM_SOURCES)
b9ca93dd1ad44cb8b27679dc5624be2f7b7f7af5vboxsyncifeq ($(filter-out darwin solaris freebsd,$(KBUILD_TARGET)),)
7c3417bbf525c03163d54d151a277a981d5d61b6vboxsyncRuntimeR0_SOURCES += \
ac6ddb9d00c1da301dfa25b0961dbd58b5f2f6e8vboxsyncifeq ($(KBUILD_TARGET),l4)
ac6ddb9d00c1da301dfa25b0961dbd58b5f2f6e8vboxsyncRuntimeR0Drv_BLD_TRG = linux
ac6ddb9d00c1da301dfa25b0961dbd58b5f2f6e8vboxsyncRuntimeR0Drv_BLD_TRG_ARCH = x86
ac6ddb9d00c1da301dfa25b0961dbd58b5f2f6e8vboxsyncRuntimeR0Drv_BLD_TRG_CPU = i386
ac6ddb9d00c1da301dfa25b0961dbd58b5f2f6e8vboxsync# RuntimeR0Drv - Ring0 library for host drivers.
ac6ddb9d00c1da301dfa25b0961dbd58b5f2f6e8vboxsyncRuntimeR0Drv_TEMPLATE = VBOXR0DRV
ac6ddb9d00c1da301dfa25b0961dbd58b5f2f6e8vboxsyncRuntimeR0Drv_SDKS.win = W2K3DDK WINPSDKINCS
ac6ddb9d00c1da301dfa25b0961dbd58b5f2f6e8vboxsyncRuntimeR0Drv_INCS := $(PATH_SUB_CURRENT) include
ac6ddb9d00c1da301dfa25b0961dbd58b5f2f6e8vboxsyncRuntimeR0Drv_DEFS = IN_RT_R0 RT_WITH_VBOX RT_WITHOUT_NOCRT_WRAPPERS
ac6ddb9d00c1da301dfa25b0961dbd58b5f2f6e8vboxsyncRuntimeR0Drv_DEFS.linux = MODULE KBUILD_MODNAME=KBUILD_STR\(vboxdrv\) KBUILD_BASENAME=KBUILD_STR\(vboxdrv\) IN_SUP_R0 # why is IN_SUP_R0 here? because!
f763876688b5ec2168f88a0632b46dccf187f33fvboxsyncRuntimeR0Drv_SOURCES = \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync## @todo thread2-r0drv-linux.c, timer-r0drv-linux.c and assert-r0drv-linux.c
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncRuntimeR0Drv_SOURCES.win.amd64 = $(RuntimeWin64ASM_SOURCES)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncRuntimeR0Drv_SOURCES.win.x86 = $(RuntimeWin32ASM_SOURCES)
614cbe11a7e5588dc8d369e223174b1441a09359vboxsync## PORTME: Porters create and add their selection of platform specific Ring-0 Driver files here.
614cbe11a7e5588dc8d369e223174b1441a09359vboxsync# RuntimeGuestR0 - Guest driver runtime.
b5b12033c1f7eaf82b038f06e2b9e464b9ddd8d2vboxsync# This is almost the same as the RuntimeR0Drv, the main difference
d4b98dbce4cf7b3694b62d62a47553d399718dccvboxsync# is in the backdoor logging and the lack of sup.h (which should be
d4b98dbce4cf7b3694b62d62a47553d399718dccvboxsync# made irrelevant even for RuntimeR0Rdrv).
d4b98dbce4cf7b3694b62d62a47553d399718dccvboxsync# TODO: RuntimeGuestR0_EXTENDS = RuntimeR0Drv (kBuild)
b6d0062d24490dd07b4a424e5809b3b2bc910c5avboxsyncRuntimeGuestR0_TEMPLATE := VBOXGUESTR0LIB
21d4a56532f8029ae299f552811a0b86c1909416vboxsyncRuntimeGuestR0_SDKS.win := W2K3DDKX86 WINPSDKINCS
b6d0062d24490dd07b4a424e5809b3b2bc910c5avboxsyncRuntimeGuestR0_DEFS := $(RuntimeR0Drv_DEFS)
b6d0062d24490dd07b4a424e5809b3b2bc910c5avboxsyncRuntimeGuestR0_DEFS.$(KBUILD_TARGET) := $(RuntimeR0Drv_DEFS.$(KBUILD_TARGET))
b6d0062d24490dd07b4a424e5809b3b2bc910c5avboxsyncRuntimeGuestR0_INCS := $(PATH_SUB_CURRENT) include
b6d0062d24490dd07b4a424e5809b3b2bc910c5avboxsyncRuntimeGuestR0_INCS.$(KBUILD_TARGET) := $(RuntimeR0Drv_INCS.$(KBUILD_TARGET))
d4b98dbce4cf7b3694b62d62a47553d399718dccvboxsyncRuntimeGuestR0_SOURCES := $(filter-out generic/RTLogWriteUser-generic.cpp, $(RuntimeR0Drv_SOURCES))
97b2abd2828499b2f4c2d5721952c9570ced1ebcvboxsyncRuntimeGuestR0_SOURCES += VBox/logbackdoor.cpp
97b2abd2828499b2f4c2d5721952c9570ced1ebcvboxsyncRuntimeGuestR0_SOURCES.$(KBUILD_TARGET) := $(RuntimeR0Drv_SOURCES.$(KBUILD_TARGET))
fd69ca9bd8b533bfa9ade45c1c2ff3116854e84avboxsyncRuntimeGuestR0_SOURCES.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH) := $(RuntimeR0Drv_SOURCES.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH))
fd69ca9bd8b533bfa9ade45c1c2ff3116854e84avboxsyncifdef VBOX_USE_VCC80
b978e5849454446957177fd47ee98609ab0457a6vboxsyncRuntimeOS2GuestR0_TEMPLATE = VBOXOS2GUESTR0LIB
5ace91141404400247438502a84a418fba00c8cfvboxsyncRuntimeOS2GuestR0_SOURCES = \
5ace91141404400247438502a84a418fba00c8cfvboxsync $(filter-out common/misc/assert.cpp generic/RTLogWriteUser-generic.cpp,$(RuntimeR0Drv_SOURCES)) \
5ace91141404400247438502a84a418fba00c8cfvboxsync# RuntimeW32GuestR0 - Win32 guest driver runtime.
5ace91141404400247438502a84a418fba00c8cfvboxsyncRuntimeW32GuestR0_TEMPLATE = VBOXW32GUESTR0LIB
5ace91141404400247438502a84a418fba00c8cfvboxsyncRuntimeW32GuestR0_SDKS = W2K3DDKX86 WINPSDKINCS
5ace91141404400247438502a84a418fba00c8cfvboxsyncRuntimeW32GuestR0_INCS := $(PATH_SUB_CURRENT) include
5a12b9772d9cf396a0ba7f54db399817ba7a65bavboxsyncRuntimeW32GuestR0_DEFS = IN_RT_R0 RT_WITH_VBOX RT_WITHOUT_NOCRT_WRAPPERS IN_SUP_R0
5a12b9772d9cf396a0ba7f54db399817ba7a65bavboxsyncRuntimeW32GuestR0_DEFS.$(KBUILD_TARGET) =
5ace91141404400247438502a84a418fba00c8cfvboxsyncRuntimeW32GuestR0_SOURCES = \
5ace91141404400247438502a84a418fba00c8cfvboxsync $(filter-out generic/RTLogWriteUser-generic.cpp,$(RuntimeR0Drv_SOURCES)) \
5ace91141404400247438502a84a418fba00c8cfvboxsyncifdef VBOX_USE_VCC80
fdc5224bd8d9a60af82da5809e3d6729c9bc69cbvboxsync## @todo use the .asm versions of these.
fdc5224bd8d9a60af82da5809e3d6729c9bc69cbvboxsyncRuntimeW32GuestR0_SOURCES += \
2b5a4cf3d77ab62dcbd882115b6d497547b20d29vboxsync# RuntimeW32NT4GuestR0 - Win32 NT4 guest driver runtime.
f8b934f4817639cddebe4d3c2ae25d39a91fe448vboxsyncRuntimeW32NT4GuestR0_EXTENDS = RuntimeW32GuestR0
20a793635760c71752932fde640ba328cab84348vboxsyncRuntimeW32NT4GuestR0_EXTENDS_BY = appending
5ace91141404400247438502a84a418fba00c8cfvboxsyncRuntimeW32NT4GuestR0_DEFS = IPRT_TARGET_NT4
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# RuntimeGC - Guest context library.
3cbb4f9a6a320e58ed398ef7aaa004cc8727abc5vboxsyncRuntimeGC_TEMPLATE = VBOXGC
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncRuntimeGC_DEFS = IN_RT_GC RT_WITH_VBOX RT_WITHOUT_NOCRT_WRAPPERS
1fb9c510656583ba12872e082125263a58d9bc6bvboxsyncRuntimeGC_INCS = include
1fb9c510656583ba12872e082125263a58d9bc6bvboxsyncRuntimeGC_SOURCES = \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync#if1of ($(KBUILD_TARGET_ARCH),amd64 x86)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# RuntimeGC_SOURCES += common/time/timesupA.asm
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync RuntimeGC_SOURCES += common/time/timesupref.cpp
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncRuntimeGC_SOURCES.win.x86 = $(RuntimeWin32ASM_SOURCES)
09e2f92b8f54aa362088e216007b53ecdb42e283vboxsyncifeq ($(VBOX_LDR_FMT32),lx)
09e2f92b8f54aa362088e216007b53ecdb42e283vboxsync RuntimeGC_SOURCES += os2/sys0.asm
09e2f92b8f54aa362088e216007b53ecdb42e283vboxsyncif1of ($(KBUILD_TARGET), darwin solaris freebsd)
09e2f92b8f54aa362088e216007b53ecdb42e283vboxsyncRuntimeGC_SOURCES += \
09e2f92b8f54aa362088e216007b53ecdb42e283vboxsync# Static library for new & delete for the electric fence.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncRuntimeEFCPP_TEMPLATE = $(RuntimeR3_TEMPLATE)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncRuntimeEFCPP_SDKS = $(RuntimeR3_SDKS)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncRuntimeEFCPP_SDKS.$(KBUILD_TARGET) = $(RuntimeR3_SDKS.$(KBUILD_TARGET))
5b6e2c9a765c3c72295acc15791af8a700746956vboxsyncRuntimeEFCPP_DEFS = $(RuntimeR3_DEFS)
08bc90fc2848c80bf8270bedc883745b8398e186vboxsyncRuntimeEFCPP_DEFS.$(KBUILD_TARGET) = $(RuntimeR3_DEFS.$(KBUILD_TARGET))
3cbb4f9a6a320e58ed398ef7aaa004cc8727abc5vboxsyncRuntimeEFCPP_INCS = $(RuntimeR3_INCS)
2b5a4cf3d77ab62dcbd882115b6d497547b20d29vboxsyncRuntimeEFCPP_INCS.$(KBUILD_TARGET) = $(RuntimeR3_INCS.$(KBUILD_TARGET))
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncRuntimeEFCPP_SOURCES = r3/alloc-ef-cpp.cpp
fdc5224bd8d9a60af82da5809e3d6729c9bc69cbvboxsync# errmsg.cpp depends on a generated header.
fdc5224bd8d9a60af82da5809e3d6729c9bc69cbvboxsynccommon/err/errmsg.cpp_DEPS = $(PATH_TARGET)/errmsgdata.h
2b5a4cf3d77ab62dcbd882115b6d497547b20d29vboxsyncwin/errmsgwin.cpp_DEPS = $(PATH_TARGET)/errmsgcomdata.h
fdc5224bd8d9a60af82da5809e3d6729c9bc69cbvboxsync# Generate the rules (we're the to sub-makefile).
fdc5224bd8d9a60af82da5809e3d6729c9bc69cbvboxsyncinclude $(KBUILD_PATH)/subfooter.kmk
74735ec6edd6640eebac8885fbb2dadc86b89cf5vboxsyncifneq ($(wildcard /usr/bin/chcon),)
74735ec6edd6640eebac8885fbb2dadc86b89cf5vboxsync# this is needed for testcases executed at build time
74735ec6edd6640eebac8885fbb2dadc86b89cf5vboxsync## @todo Make a special installer tool that does this.
74735ec6edd6640eebac8885fbb2dadc86b89cf5vboxsync $(INSTALL) $(TARGET_VBoxRT) $@
74735ec6edd6640eebac8885fbb2dadc86b89cf5vboxsync chcon -t texrel_shlib_t $@ || true
74735ec6edd6640eebac8885fbb2dadc86b89cf5vboxsync# Generate the status code data.
74735ec6edd6640eebac8885fbb2dadc86b89cf5vboxsync$(PATH_TARGET)/errmsgdata.h: common/err/errmsg.sed $(DEPTH)/include/iprt/err.h $(DEPTH)/include/VBox/err.h
74735ec6edd6640eebac8885fbb2dadc86b89cf5vboxsync $(call MSG_GENERATE,,$@,$(filter %.h,$^))
0f5b937bdc21496925500f3ce418794a5a9a1351vboxsync $(QUIET)$(MKDIR) -p $(PATH_TARGET)
74735ec6edd6640eebac8885fbb2dadc86b89cf5vboxsync $(QUIET)$(REDIRECT) -wo $@ -- $(SED) -f $< $(filter %.h,$^)
74735ec6edd6640eebac8885fbb2dadc86b89cf5vboxsync## @todo r=bird: rename this to indicate that it's not only COM errors, but all win32/64 errors.
74735ec6edd6640eebac8885fbb2dadc86b89cf5vboxsync$(PATH_TARGET)/errmsgcomdata.h: common/err/errmsgcom.sed $(PATH_SDK_WINPSDK_INC)/WinError.h
74735ec6edd6640eebac8885fbb2dadc86b89cf5vboxsync $(call MSG_GENERATE,,$@,$(filter %.h,$^))
74735ec6edd6640eebac8885fbb2dadc86b89cf5vboxsync $(QUIET)$(MKDIR) -p $(PATH_TARGET)
74735ec6edd6640eebac8885fbb2dadc86b89cf5vboxsync $(QUIET)$(REDIRECT) -wo $@ -- $(SED) -f $< $(filter %.h,$^)
74735ec6edd6640eebac8885fbb2dadc86b89cf5vboxsync# Aliases for .cpp.h files so we can more easily do syntax checking from the editor.
1171e4fb031146163c9a5a66bd9cbf3f2a5acdb6vboxsync# Doxygen documentation.
2b5a4cf3d77ab62dcbd882115b6d497547b20d29vboxsyncDOXYGEN_INPUT_DIRS = \
fdc5224bd8d9a60af82da5809e3d6729c9bc69cbvboxsync $(foreach dir, . r3 r0drv,\
fdc5224bd8d9a60af82da5809e3d6729c9bc69cbvboxsync $(dir)/darwin \
fdc5224bd8d9a60af82da5809e3d6729c9bc69cbvboxsync $(dir)/l4 \
cb70d239cc25c714044be945b6f7ff4f3a8b7cdfvboxsync $(dir)/linux \
ac6ddb9d00c1da301dfa25b0961dbd58b5f2f6e8vboxsync $(dir)/nt \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync $(dir)/os2 \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync $(dir)/win \
ac6ddb9d00c1da301dfa25b0961dbd58b5f2f6e8vboxsync $(dir)/win32 \
ac6ddb9d00c1da301dfa25b0961dbd58b5f2f6e8vboxsync $(dir)/win64 \
ac6ddb9d00c1da301dfa25b0961dbd58b5f2f6e8vboxsync $(dir)/generic \
e17f587595bd5d3a7be56a892e3fd3a0ef83d268vboxsync# These must come first in order to make things look nice.
ac6ddb9d00c1da301dfa25b0961dbd58b5f2f6e8vboxsyncDOXYGEN_INPUT_FIRST =\
5b6e2c9a765c3c72295acc15791af8a700746956vboxsyncDOXYGEN_INPUT := \
b5b12033c1f7eaf82b038f06e2b9e464b9ddd8d2vboxsync $(filter-out %.cpp.h, $(sort $(wildcard $(addsuffix /*.h, $(DOXYGEN_INPUT_DIRS)))) ) \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync $(foreach dir, $(DOXYGEN_INPUT_DIRS), $(wildcard $(dir)/*.cpp $(dir)/.c $(dir)/.asm))
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncDOXYGEN_INPUT := \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync $(DOXYGEN_INPUT_FIRST) \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync $(filter-out $(DOXYGEN_INPUT_FIRST), $(DOXYGEN_INPUT))
2cd06fc737773d015b5268b9e4dfba5997915957vboxsyncDOXYGEN_OUTPUT = $(PATH_OUT)/docs/iprt
2b5a4cf3d77ab62dcbd882115b6d497547b20d29vboxsync-include $(PATH_TARGET)/Doxyfile.dep
2b5a4cf3d77ab62dcbd882115b6d497547b20d29vboxsync# Generate the Doxyfile
2b5a4cf3d77ab62dcbd882115b6d497547b20d29vboxsync$(PATH_TARGET)/Doxyfile: Doxyfile Makefile.kmk \
2b5a4cf3d77ab62dcbd882115b6d497547b20d29vboxsync $(comp-vars DOXYGEN_INPUT,DOXYGEN_INPUT_PREV,FORCE) \
2b5a4cf3d77ab62dcbd882115b6d497547b20d29vboxsync $(comp-vars DOXYGEN_OUTPUT,DOXYGEN_OUTPUT_PREV,FORCE) \
2b5a4cf3d77ab62dcbd882115b6d497547b20d29vboxsync | $(call DIRDEP, $(PATH_TARGET))
2b5a4cf3d77ab62dcbd882115b6d497547b20d29vboxsync $(RM) -f $@ $@.tmp $(PATH_TARGET)/Doxyfile.dep
614cbe11a7e5588dc8d369e223174b1441a09359vboxsync $(CP) -f Doxyfile $@.tmp
2b5a4cf3d77ab62dcbd882115b6d497547b20d29vboxsync $(APPEND) $@.tmp
016bd61cdd14201a24f289559b0cc333d8c94748vboxsync $(APPEND) $@.tmp "OUTPUT_DIRECTORY = $(DOXYGEN_OUTPUT)"
016bd61cdd14201a24f289559b0cc333d8c94748vboxsync $(APPEND) $@.tmp "WARN_LOGFILE = $(DOXYGEN_OUTPUT)/errors"
016bd61cdd14201a24f289559b0cc333d8c94748vboxsync $(APPEND) $@.tmp "INCLUDE_PATH = $(PATH_ROOT)/include include . common/table"
016bd61cdd14201a24f289559b0cc333d8c94748vboxsync $(APPEND) $@.tmp "INCLUDE_FILE_PATTERNS = *.cpp.h"
a46e399d5426a79f6f7e18d0ba85c505280e9386vboxsync $(APPEND) $@.tmp "PREDEFINED += $(ARCH_BITS_DEFS)"
4584ef6026a823006bea5acbeb13dc4efe50da69vboxsync $(APPEND) $@.tmp
9bebc668ed1ad5c93d92ff98fee1cd7dca55f6d5vboxsync $(APPEND) $@.tmp "INPUT = $(DOXYGEN_INPUT)"
9bebc668ed1ad5c93d92ff98fee1cd7dca55f6d5vboxsync $(APPEND) $@.tmp
4584ef6026a823006bea5acbeb13dc4efe50da69vboxsync $(MV) -f $@.tmp $@
4584ef6026a823006bea5acbeb13dc4efe50da69vboxsync @$(APPEND) $(PATH_TARGET)/Doxyfile.dep "DOXYGEN_OUTPUT_PREV = $(DOXYGEN_OUTPUT)"
2b5a4cf3d77ab62dcbd882115b6d497547b20d29vboxsync @$(APPEND) $(PATH_TARGET)/Doxyfile.dep "DOXYGEN_INPUT_PREV = $(DOXYGEN_INPUT)"
2b5a4cf3d77ab62dcbd882115b6d497547b20d29vboxsync# Create the output directory.
69deddbc68802f1cf1c3a404a9f816b8accb3385vboxsync$(call DIRDEP, $(DOXYGEN_OUTPUT)):
2b5a4cf3d77ab62dcbd882115b6d497547b20d29vboxsync $(MKDIR) -p $@
13b9db9ae2c12b6c4e00eda5c79772d57a0d29e1vboxsync# Do the actual job.
13b9db9ae2c12b6c4e00eda5c79772d57a0d29e1vboxsync$(PATH_TARGET)/docs.iprt: $(PATH_TARGET)/Doxyfile $(DOXYGEN_INPUT) | $(call DIRDEP, $(DOXYGEN_OUTPUT))
13b9db9ae2c12b6c4e00eda5c79772d57a0d29e1vboxsync $(RM) -f $(wildcard $(DOXYGEN_OUTPUT)/html/*) $(PATH_TARGET)/docs.iprt
a46e399d5426a79f6f7e18d0ba85c505280e9386vboxsync doxygen $(PATH_TARGET)/Doxyfile
a46e399d5426a79f6f7e18d0ba85c505280e9386vboxsync $(APPEND) $(PATH_TARGET)/docs.iprt
13b9db9ae2c12b6c4e00eda5c79772d57a0d29e1vboxsyncdocs: $(PATH_TARGET)/docs.iprt
13b9db9ae2c12b6c4e00eda5c79772d57a0d29e1vboxsync @echo test-$(comp-vars DOXYGEN_OUTPUT,DOXYGEN_OUTPUT_PREV,FORCE)
13b9db9ae2c12b6c4e00eda5c79772d57a0d29e1vboxsync @echo $(DOXYGEN_OUTPUT)
21d4a56532f8029ae299f552811a0b86c1909416vboxsync @echo $(DOXYGEN_OUTPUT_PREV)
13b9db9ae2c12b6c4e00eda5c79772d57a0d29e1vboxsync @echo $(DOXYGEN_INPUT)