Makefile.kmk revision 7aaf943021d3988cf422065af0f66882f75b9dd4
52f16f53a955f5b24bc2132c418a5fffb700f089vboxsync# $Id$
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync## @file
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# Sub-Makefile for the support library and the drivers/modules/kexts it uses.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync#
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync#
c58f1213e628a545081c70e26c6b67a841cff880vboxsync# Copyright (C) 2006-2007 Sun Microsystems, Inc.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync#
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# available from http://www.virtualbox.org. This file is free software;
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# you can redistribute it and/or modify it under the terms of the GNU
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# General Public License (GPL) as published by the Free Software
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync#
aba0e602e244ae7c4f11b50fc6d2440f5a762038vboxsync# The contents of this file may alternatively be used under the terms
aba0e602e244ae7c4f11b50fc6d2440f5a762038vboxsync# of the Common Development and Distribution License Version 1.0
aba0e602e244ae7c4f11b50fc6d2440f5a762038vboxsync# (CDDL) only, as it comes in the "COPYING.CDDL" file of the
aba0e602e244ae7c4f11b50fc6d2440f5a762038vboxsync# VirtualBox OSE distribution, in which case the provisions of the
aba0e602e244ae7c4f11b50fc6d2440f5a762038vboxsync# CDDL are applicable instead of those of the GPL.
aba0e602e244ae7c4f11b50fc6d2440f5a762038vboxsync#
aba0e602e244ae7c4f11b50fc6d2440f5a762038vboxsync# You may elect to license modified versions of this file under the
aba0e602e244ae7c4f11b50fc6d2440f5a762038vboxsync# terms and conditions of either the GPL or the CDDL or both.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync#
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# Clara, CA 95054 USA or visit http://www.sun.com if you need
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# additional information or have any questions.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync#
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync
ab0fa8b1fefba60f43cfd2104a7939944da28b86vboxsyncifdef VBOX_KBUILD_HACKING
ab0fa8b1fefba60f43cfd2104a7939944da28b86vboxsyncSUB_DEPTH = ../../../..
ab0fa8b1fefba60f43cfd2104a7939944da28b86vboxsyncelse
ab0fa8b1fefba60f43cfd2104a7939944da28b86vboxsyncSUB_DEPTH = ..
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsyncDEPTH ?= ../../../..
95f49f3cab4060d4c9b53703d32f51a7f1a3ece6vboxsyncendif
64241796dca8fa36d3fca205e01b4320193a36b7vboxsyncinclude $(KBUILD_PATH)/subheader.kmk
64241796dca8fa36d3fca205e01b4320193a36b7vboxsync
d6aa6429f99fb7648883eb612f8a52b9aaf3bff4vboxsync#
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# Targets
ab0fa8b1fefba60f43cfd2104a7939944da28b86vboxsync#
c312e1b81dffe42e0fb766020fb8defaeade05d6vboxsyncLIBRARIES += SUPR3
a34996f4849a881e4112ba993984dcd2388b8bf2vboxsyncifeq ($(filter-out pe lx,$(VBOX_LDR_FMT)),)
a34996f4849a881e4112ba993984dcd2388b8bf2vboxsyncLIBRARIES += SUPR0
a34996f4849a881e4112ba993984dcd2388b8bf2vboxsyncendif
a34996f4849a881e4112ba993984dcd2388b8bf2vboxsyncifdef VBOX_WITH_VBOXDRV
a34996f4849a881e4112ba993984dcd2388b8bf2vboxsyncSYSMODS.darwin += VBoxDrv
a34996f4849a881e4112ba993984dcd2388b8bf2vboxsyncSYSMODS.freebsd += vboxdrv
64241796dca8fa36d3fca205e01b4320193a36b7vboxsyncSYSMODS.linux += vboxdrv
64241796dca8fa36d3fca205e01b4320193a36b7vboxsyncSYSMODS.win += VBoxDrv
64241796dca8fa36d3fca205e01b4320193a36b7vboxsyncSYSMODS.os2 += VBoxDrv
a34996f4849a881e4112ba993984dcd2388b8bf2vboxsyncSYSMODS.solaris += vboxdrv
a34996f4849a881e4112ba993984dcd2388b8bf2vboxsyncOTHERS.linux += \
3c3a5ab35783f4d31cb5d3a15db9daadeb804daavboxsync $(PATH_BIN)/src/build_in_tmp \
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync $(if $(VBOX_OSE),,$(PATH_BIN)/src/dkms.conf)
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncendif
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncINSTALLS.linux += vboxmod-bin vboxmod-sh
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync#
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# Include sub-makefile(s).
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync#
50f0e2e83362e100d306a411980d555d46aa00a8vboxsyncinclude $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync#
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# Populate FILES_VBOXDRV_NOBIN and FILES_VBOXDRV_BIN
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync#
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncinclude $(PATH_SUB_CURRENT)/linux/files_vboxdrv
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncvboxmod-bin_INST = bin/src/
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncvboxmod-bin_MODE = a+r,u+w
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncvboxmod-bin_SOURCES = $(subst ",,$(FILES_VBOXDRV_NOBIN)) #"
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncvboxmod-sh_INST = bin/src/
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncvboxmod-sh_MODE = a+rx,u+w
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncvboxmod-sh_SOURCES = $(subst ",,$(FILES_VBOXDRV_BIN)) #"
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# Scripts needed for building the kernel modules
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync$(PATH_BIN)/src/build_in_tmp: \
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync $(PATH_SUB_CURRENT)/linux/build_in_tmp \
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync $(VBOX_VERSION_STAMP)
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync $(call MSG_TOOL,Creating,,$@)
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync $(QUIET)$(SED) -e "s;_VERSION_;${VBOX_VERSION_STRING};g; s;_MODULE_;vboxdrv;g" < $< > $@
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync $(QUIET)chmod 0755 $@
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync$(PATH_BIN)/src/dkms.conf: \
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync $(PATH_SUB_CURRENT)/linux/dkms.conf \
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync $(VBOX_VERSION_STAMP)
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync $(call MSG_TOOL,Creating,,$@)
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync $(QUIET)$(SED) -e "s;_VERSION_;${VBOX_VERSION_STRING};g" < $< > $@
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync#
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# The Ring-3 Support Library (this is linked into the IPRT dll, VBoxRT).
50f0e2e83362e100d306a411980d555d46aa00a8vboxsync#
50f0e2e83362e100d306a411980d555d46aa00a8vboxsyncifneq ($(filter l4%,$(KBUILD_TARGET) $(BUILD_TARGET_SUB)),)
50f0e2e83362e100d306a411980d555d46aa00a8vboxsync# L4 has trouble with -pedantic. It also make trouble when inlining is not enabled.
54828795a553ed0731f308ebda81675ad2c39d58vboxsyncSUPR3_TEMPLATE = VBOXR3NP
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncelse
54828795a553ed0731f308ebda81675ad2c39d58vboxsyncSUPR3_TEMPLATE = VBOXR3
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncendif
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncSUPR3_DEFS = IN_SUP_R3 IN_RT_R3
2f0ff8eed7f73f05b9af49aff1b6c213cf4c80a8vboxsyncifdef VBOX_WITH_IDT_PATCHING
2f0ff8eed7f73f05b9af49aff1b6c213cf4c80a8vboxsyncSUPR3_DEFS += VBOX_WITH_IDT_PATCHING
2f0ff8eed7f73f05b9af49aff1b6c213cf4c80a8vboxsyncendif
2f0ff8eed7f73f05b9af49aff1b6c213cf4c80a8vboxsyncSUPR3_INCS := $(PATH_SUB_CURRENT)
2f0ff8eed7f73f05b9af49aff1b6c213cf4c80a8vboxsyncSUPR3_INCS.l4 = $(L4_INCDIR)
2f0ff8eed7f73f05b9af49aff1b6c213cf4c80a8vboxsyncSUPR3_SOURCES = \
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync SUPLib.cpp \
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync $(KBUILD_TARGET)/SUPLib-$(KBUILD_TARGET).cpp
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync#
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# SUPR0 - The Ring-0 Import / Thunk library.
50f0e2e83362e100d306a411980d555d46aa00a8vboxsync#
50f0e2e83362e100d306a411980d555d46aa00a8vboxsyncSUPR0_TEMPLATE = VBOXR0
50f0e2e83362e100d306a411980d555d46aa00a8vboxsyncifeq ($(VBOX_LDR_FMT),pe)
54828795a553ed0731f308ebda81675ad2c39d58vboxsyncSUPR0_SOURCES += SUPR0.def
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncendif
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncifeq ($(VBOX_LDR_FMT),lx)
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncSUPR0_SOURCES += $(PATH_TARGET)/SUPR0.def
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync$(PATH_TARGET)/SUPR0.def: $(PATH_SUB_CURRENT)/SUPR0.def | $(call DIRDEP,$(PATH_TARGET))
2f0ff8eed7f73f05b9af49aff1b6c213cf4c80a8vboxsync $(SED) -e 's/^[ \t][ \t]*\([gA-Z]\)/ _\1/' -e 's/[ \t]DATA[ \t]*/ /' $< > $@.tmp
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync $(MV) -f $@.tmp $@
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncendif
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsync#
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsync# VBoxDrv.sys - The Windows driver.
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsync#
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsyncifeq ($(KBUILD_TARGET),win)
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsyncVBoxDrv_TEMPLATE = VBOXR0DRV
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsyncifdef VBOX_SIGNING_MODE
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsync VBoxDrv_NOINST = true
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsyncendif
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsyncVBoxDrv_DEFS = IN_RT_R0 IN_SUP_R0
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsyncifdef VBOX_WITH_IDT_PATCHING
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsyncVBoxDrv_DEFS += VBOX_WITH_IDT_PATCHING
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsyncendif
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsyncVBoxDrv_SDKS = W2K3DDK WINPSDKINCS
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsyncVBoxDrv_INCS := $(PATH_SUB_CURRENT)
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsyncVBoxDrv_SOURCES = \
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsync win/SUPDrv-win.cpp \
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsync win/SUPDrvA-win.asm \
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync SUPDRVShared.c
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncVBoxDrv_LDFLAGS.x86 = -Entry:DriverEntry@8
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsyncVBoxDrv_LDFLAGS.amd64 = -Entry:DriverEntry
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsyncVBoxDrv_LIBS = \
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsync $(PATH_SDK_W2K3DDK_LIB)/ntoskrnl.lib \
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsync $(PATH_SDK_W2K3DDK_LIB)/hal.lib \
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsync $(PATH_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB)
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsync
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsync
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsyncINSTALLS += VBoxDrv-inf
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsyncVBoxDrv-inf_INST = $(INST_BIN)
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsyncVBoxDrv-inf_MODE = a+r,u+w
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsyncVBoxDrv-inf_SOURCES = \
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsync $(PATH_TARGET)/VBoxDrvCat.dir/VBoxDrv.inf
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsyncVBoxDrv-inf_CLEAN = $(VBoxDrv-inf_SOURCES)
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsyncVBoxDrv-inf_BLDDIRS = $(PATH_TARGET)/VBoxDrvCat.dir
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsync
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsync$(PATH_TARGET)/VBoxDrvCat.dir/VBoxDrv.inf: $(PATH_SUB_CURRENT)/win/VBoxDrv.inf $(MAKEFILE_CURRENT) | $$(call DIRDEP,$$(@D))
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsync $(call MSG_GENERATE,VBoxDrv-inf,$@,$<)
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsync $(call VBOX_EDIT_INF_FN,$<,$@)
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync ifdef VBOX_SIGNING_MODE
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncVBoxDrv-inf_SOURCES += \
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsync $(PATH_TARGET)/VBoxDrvCat.dir/VBoxDrv.sys \
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync $(PATH_TARGET)/VBoxDrvCat.dir/VBoxDrv.cat
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsync$(PATH_TARGET)/VBoxDrvCat.dir/VBoxDrv.sys: $$(TARGET_VBoxDrv) | $$(call DIRDEP,$$(@D))
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsync $(INSTALL) -m 644 $< $(@D)
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsync
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsync$(PATH_TARGET)/VBoxDrvCat.dir/VBoxDrv.cat: \
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsync $(PATH_TARGET)/VBoxDrvCat.dir/VBoxDrv.inf \
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync $(PATH_TARGET)/VBoxDrvCat.dir/VBoxDrv.cat
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsync $(call MSG_TOOL,Inf2Cat,VBoxDrv-inf,$@,$<)
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsync $(call VBOX_MAKE_CAT_FN, $(@D),$@)
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync endif # signing
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsyncendif # win
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsync
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsync
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsync#
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsync# vboxdrv.ko - The Linux Kernel Module (syntax only).
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsync#
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsyncifeq ($(KBUILD_TARGET),linux)
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsyncvboxdrv_TEMPLATE = VBOXR0DRV
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsyncvboxdrv_DEFS = KBUILD_MODNAME=KBUILD_STR\(vboxdrv\) KBUILD_BASENAME=KBUILD_STR\(vboxdrv\) MODULE IN_RT_R0 IN_SUP_R0 CONFIG_VBOXDRV_AS_MISC
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsyncifdef VBOX_WITH_IDT_PATCHING
0defe73e08f591e32e92dfeb3de18ee84a180d2avboxsyncvboxdrv_DEFS += VBOX_WITH_IDT_PATCHING
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsyncendif
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsyncvboxdrv_INCS := \
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsync $(PATH_SUB_CURRENT) \
b3d4b85739cf74a503b1f8bbb7c7f4de26c1c09fvboxsync $(PATH_ROOT)/src/VBox/Runtime/r0drv/linux
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsyncvboxdrv_LIBS = $(PATH_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB)
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsyncvboxdrv_LIBS.debug = $(vboxdrv_LIBS) $(VBOX_GCC_LIBGCC)
b3d4b85739cf74a503b1f8bbb7c7f4de26c1c09fvboxsyncvboxdrv_SOURCES = \
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync $(KBUILD_TARGET)/SUPDrv-$(KBUILD_TARGET).c \
b3d4b85739cf74a503b1f8bbb7c7f4de26c1c09fvboxsync SUPDRVShared.c
b3d4b85739cf74a503b1f8bbb7c7f4de26c1c09fvboxsyncifndef VBOX_LINUX_VERSION_2_4
b3d4b85739cf74a503b1f8bbb7c7f4de26c1c09fvboxsyncvboxdrv_SOURCES += \
b3d4b85739cf74a503b1f8bbb7c7f4de26c1c09fvboxsync $(KBUILD_TARGET)/SUPDrv-$(KBUILD_TARGET).mod.c
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncendif
b3d4b85739cf74a503b1f8bbb7c7f4de26c1c09fvboxsyncendif # real linux
b3d4b85739cf74a503b1f8bbb7c7f4de26c1c09fvboxsync
ad27e1d5e48ca41245120c331cc88b50464813cevboxsync
b3d4b85739cf74a503b1f8bbb7c7f4de26c1c09fvboxsync#
b3d4b85739cf74a503b1f8bbb7c7f4de26c1c09fvboxsync# VBoxDrv.kext - The Darwin Kernel Extension.
ad27e1d5e48ca41245120c331cc88b50464813cevboxsync#
2084a447d1acb619df7c393fac41b79d517e4b3dvboxsyncifeq ($(KBUILD_TARGET),darwin)
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncVBoxDrv_TEMPLATE = VBOXR0DRV
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncVBoxDrv_DEFS = IN_RT_R0 IN_SUP_R0
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncifdef VBOX_WITH_IDT_PATCHING
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncVBoxDrv_DEFS += VBOX_WITH_IDT_PATCHING
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncendif
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncVBoxDrv_DEFS += DEBUG_DARWIN_GIP
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncVBoxDrv_INCS := $(PATH_SUB_CURRENT)
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncVBoxDrv_LIBS = $(PATH_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB)
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncVBoxDrv_LDFLAGS = -v -Wl,-whyload -Wl,-v -Wl,-whatsloaded
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncVBoxDrv_INST = $(INST_VBOXDRV)Contents/MacOS/
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsyncVBoxDrv_SOURCES = \
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync SUPDRVShared.c \
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync $(KBUILD_TARGET)/SUPDrv-$(KBUILD_TARGET).cpp
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncINSTALLS += VBoxDrv.kext
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncVBoxDrv.kext_INST = $(INST_VBOXDRV)Contents/
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncVBoxDrv.kext_SOURCES = \
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync $(PATH_TARGET)/VBoxDrv/Info.plist
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsyncVBoxDrv.kext_CLEAN = \
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync $(PATH_TARGET)/VBoxDrv/Info.plist
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync
5d05aa26ae1949e6f0bbc149d8b8e39495710ac7vboxsync$(PATH_TARGET)/VBoxDrv/Info.plist: $(PATH_SUB_CURRENT)/darwin/Info.plist $(VBOX_VERSION_MK) | $(call DIRDEP,$(PATH_TARGET)/VBoxDrv)
5d05aa26ae1949e6f0bbc149d8b8e39495710ac7vboxsync $(call MSG_GENERATE,VBoxDrv,$@,$<)
5d05aa26ae1949e6f0bbc149d8b8e39495710ac7vboxsync $(xQUIET)$(RM) -f $@
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync $(xQUIET)$(SED) \
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync -e 's/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g' \
5d05aa26ae1949e6f0bbc149d8b8e39495710ac7vboxsync -e 's/@VBOX_VERSION_MAJOR@/$(VBOX_VERSION_MAJOR)/g' \
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync -e 's/@VBOX_VERSION_MINOR@/$(VBOX_VERSION_MINOR)/g' \
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync -e 's/@VBOX_VERSION_BUILD@/$(VBOX_VERSION_BUILD)/g' \
5c320d1b52e5e4ae280cd680c2c64de5f5f13d22vboxsync $< > $@
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncINSTALLS += Scripts
b3d4b85739cf74a503b1f8bbb7c7f4de26c1c09fvboxsyncScripts_INST = $(INST_DIST)
b3d4b85739cf74a503b1f8bbb7c7f4de26c1c09fvboxsyncScripts_SOURCES = \
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync darwin/load.sh
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsync
b60e4b0625949fd68ed97f1353e2174c5b3192e5vboxsyncendif # darwin
b60e4b0625949fd68ed97f1353e2174c5b3192e5vboxsync
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsync
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsync#
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsync# VBoxDrv.sys - The OS/2 driver.
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsync#
5d05aa26ae1949e6f0bbc149d8b8e39495710ac7vboxsyncifeq ($(KBUILD_TARGET),os2)
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncVBoxDrv_TEMPLATE = VBOXR0DRV
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncVBoxDrv_DEFS = IN_RT_R0 IN_SUP_R0
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncVBoxDrv_INCS := $(PATH_SUB_CURRENT)
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync#VBoxDrv_LDFLAGS = -s -t -v
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncVBoxDrv_SOURCES = \
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync os2/SUPDrvA-os2.asm \
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync os2/SUPDrv-os2.def
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncVBoxDrv_LIBS = \
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync $(TARGET_VBoxDrvLib) \
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync $(PATH_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB) \
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync $(VBOX_GCC_LIBGCC) \
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync end
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsync# temp hack to ensure that SUPDrvA-os2.asm is first in the link.
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncLIBRARIES += VBoxDrvLib
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncVBoxDrvLib_TEMPLATE = VBOXR0DRV
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncVBoxDrvLib_NOINST = 1
9fc58edfe4464fca24d4a064b9d3fe2ed173a71avboxsyncVBoxDrvLib_DEFS = IN_RT_R0 IN_SUP_R0
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsyncVBoxDrvLib_INCS := \
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsync $(PATH_SUB_CURRENT) \
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsync $(PATH_TARGET) \
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync $(PATH_ROOT)/src/VBox/Runtime/include
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsyncVBoxDrvLib_SOURCES = \
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsync os2/SUPDrv-os2.cpp \
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsync SUPDRVShared.c
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsyncendif
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsync
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsync
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsync#
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsync# vboxdrv.ko - The FreeBSD Kernel Module.
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsync#
052deaa01d8fcd5cec4dff857833538940b751c3vboxsyncifeq ($(KBUILD_TARGET),freebsd)
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsyncvboxdrv_TEMPLATE = VBOXR0DRV
39a628c9e979cb2355caa57eb099b13cb922783cvboxsyncvboxdrv_DEFS = IN_RT_R0 IN_SUP_R0
39a628c9e979cb2355caa57eb099b13cb922783cvboxsyncifdef VBOX_WITH_IDT_PATCHING
26bef2fb65df80a28b9972e0a43a92be367417d9vboxsyncvboxdrv_DEFS += VBOX_WITH_IDT_PATCHING
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsyncendif
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsyncvboxdrv_INCS := $(PATH_SUB_CURRENT)
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsyncvboxdrv_LIBS = $(PATH_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB)
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsyncvboxdrv_SOURCES = \
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsync $(KBUILD_TARGET)/SUPDrv-$(KBUILD_TARGET).c \
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsync SUPDRVShared.c
39a628c9e979cb2355caa57eb099b13cb922783cvboxsyncendif # freebsd
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsync
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsync
d308e8fdb9e4d827ed10d26d1581d265602f6f46vboxsync#
d308e8fdb9e4d827ed10d26d1581d265602f6f46vboxsync# vboxdrv.o - The Solaris Kernel Module.
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsync#
5bcfdf9ef0306239498361e5021d008ad77bf539vboxsyncifeq ($(KBUILD_TARGET),solaris)
dd6994667c4e2ebd8f1f01a1d29f5c0491f82603vboxsyncvboxdrv_TEMPLATE = VBOXR0DRV
dd6994667c4e2ebd8f1f01a1d29f5c0491f82603vboxsyncvboxdrv_DEFS = IN_RT_R0 IN_SUP_R0
dd6994667c4e2ebd8f1f01a1d29f5c0491f82603vboxsyncifdef VBOX_WITH_IDT_PATCHING
dd6994667c4e2ebd8f1f01a1d29f5c0491f82603vboxsyncvboxdrv_DEFS += VBOX_WITH_IDT_PATCHING
dd6994667c4e2ebd8f1f01a1d29f5c0491f82603vboxsyncendif
16055a5d4275e7b50ed0a51b37cce77ac07e2c57vboxsyncvboxdrv_INCS := $(PATH_SUB_CURRENT)
dd6994667c4e2ebd8f1f01a1d29f5c0491f82603vboxsyncvboxdrv_LIBS = $(PATH_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB)
dd6994667c4e2ebd8f1f01a1d29f5c0491f82603vboxsyncvboxdrv_SOURCES = \
dd6994667c4e2ebd8f1f01a1d29f5c0491f82603vboxsync $(KBUILD_TARGET)/SUPDrv-$(KBUILD_TARGET).c \
dd6994667c4e2ebd8f1f01a1d29f5c0491f82603vboxsync SUPDRVShared.c
dd6994667c4e2ebd8f1f01a1d29f5c0491f82603vboxsyncendif # solaris
dd6994667c4e2ebd8f1f01a1d29f5c0491f82603vboxsync
dd6994667c4e2ebd8f1f01a1d29f5c0491f82603vboxsync
dd6994667c4e2ebd8f1f01a1d29f5c0491f82603vboxsyncinclude $(KBUILD_PATH)/subfooter.kmk
dd6994667c4e2ebd8f1f01a1d29f5c0491f82603vboxsync
dd6994667c4e2ebd8f1f01a1d29f5c0491f82603vboxsync