Makefile.kmk revision 448ac7768c3320f5ad6afe6520b376393daebeb1
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# $Id$
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync## @file
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# Sub-Makefile for the support library and the drivers/modules/kexts it uses.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync#
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync#
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync# Copyright (C) 2006-2007 innotek GmbH
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 as published by the Free Software Foundation,
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# distribution. VirtualBox OSE is distributed in the hope that it will
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# be useful, but WITHOUT ANY WARRANTY of any kind.
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsyncDEPTH ?= ../../../..
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsyncSUB_DEPTH = ..
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsyncinclude $(PATH_KBUILD)/subheader.kmk
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync#
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# Targets
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync#
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncLIBRARIES += SUPR3
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncifneq ($(filter-out darwin,$(BUILD_TARGET)),)
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncLIBRARIES += SUPR0
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncendif
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsyncifdef VBOX_WITH_VBOXDRV
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsyncSYSMODS.darwin += VBoxDrv
3c3a5ab35783f4d31cb5d3a15db9daadeb804daavboxsyncSYSMODS.freebsd += vboxdrv
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncSYSMODS.linux += vboxdrv
c312e1b81dffe42e0fb766020fb8defaeade05d6vboxsyncSYSMODS.win += VBoxDrv
c312e1b81dffe42e0fb766020fb8defaeade05d6vboxsyncSYSMODS.os2 += VBoxDrv
3c3a5ab35783f4d31cb5d3a15db9daadeb804daavboxsyncSYSMODS.solaris += vboxdrv
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncendif
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncINSTALLS.linux = vboxmod-bin vboxmod-sh
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync#
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# Include sub-makefile(s).
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync#
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncinclude $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
50f0e2e83362e100d306a411980d555d46aa00a8vboxsync
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#
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# The Ring-3 Support Library (this is linked into the IPRT dll, VBoxRT).
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync#
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncifneq ($(filter l4%,$(BUILD_TARGET) $(BUILD_TARGET_SUB)),)
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync# L4 has trouble with -pedantic. It also make trouble when inlining is not enabled.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncSUPR3_TEMPLATE = VBOXR3NP
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncelse
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncSUPR3_TEMPLATE = VBOXR3
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncendif
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncSUPR3_DEFS = IN_SUP_R3 IN_RT_R3
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncSUPR3_INCS := $(PATH_SUB_CURRENT)
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncSUPR3_INCS.l4 = $(L4_INCDIR)
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncSUPR3_SOURCES = \
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync SUPLib.cpp \
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync $(BUILD_TARGET)/SUPLib-$(BUILD_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
54828795a553ed0731f308ebda81675ad2c39d58vboxsyncifeq ($(VBOX_LDR_FMT),lx)
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncSUPR0_SOURCES += $(PATH_TARGET)/SUPR0.def
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync$(PATH_TARGET)/SUPR0.def: $(PATH_SUB_CURRENT)/SUPR0.def | $(call DIRDEP,$(PATH_TARGET))
54828795a553ed0731f308ebda81675ad2c39d58vboxsync $(SED) -e 's/^[ \t][ \t]*\([gA-Z]\)/ _\1/' -e 's/[ \t]DATA[ \t]*/ /' $< > $@.tmp
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync $(MV) -f $@.tmp $@
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncendif
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync#
50f0e2e83362e100d306a411980d555d46aa00a8vboxsync# VBoxDrv.sys - The Windows driver.
50f0e2e83362e100d306a411980d555d46aa00a8vboxsync#
50f0e2e83362e100d306a411980d555d46aa00a8vboxsyncifeq ($(BUILD_TARGET),win)
54828795a553ed0731f308ebda81675ad2c39d58vboxsyncVBoxDrv_TEMPLATE = VBOXR0DRV
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncifdef VBOX_SIGNING_MODE
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync VBoxDrv_NOINST = true
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncendif
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncVBoxDrv_DEFS = IN_RT_R0 IN_SUP_R0 USE_NEW_OS_INTERFACE_FOR_MM
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncVBoxDrv_SDKS = W2K3DDK WINPSDKINCS
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncVBoxDrv_INCS := $(PATH_SUB_CURRENT)
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncVBoxDrv_SOURCES = \
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync win/SUPDrv-win.cpp \
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync win/SUPDrvA-win.asm \
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsync SUPDRVShared.c
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsyncVBoxDrv_LDFLAGS.x86 = -Entry:DriverEntry@8
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsyncVBoxDrv_LDFLAGS.amd64 = -Entry:DriverEntry
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsyncVBoxDrv_LIBS = \
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsync $(PATH_SDK_W2K3DDK_LIB)/ntoskrnl.lib \
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsync $(PATH_SDK_W2K3DDK_LIB)/hal.lib \
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsync $(PATH_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB)
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsync
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsync
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsyncINSTALLS += VBoxDrv-inf
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsyncVBoxDrv-inf_INST = $(INST_BIN)
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsyncVBoxDrv-inf_MODE = a+r,u+w
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsyncVBoxDrv-inf_SOURCES = \
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsync $(PATH_TARGET)/VBoxDrvCat.dir/VBoxDrv.inf
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsyncVBoxDrv-inf_CLEAN = $(VBoxDrv-inf_SOURCES)
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsyncVBoxDrv-inf_BLDDIRS = $(PATH_TARGET)/VBoxDrvCat.dir
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsync
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsync$(PATH_TARGET)/VBoxDrvCat.dir/VBoxDrv.inf: $(PATH_SUB_CURRENT)/win/VBoxDrv.inf $(MAKEFILE_CURRENT) | $$(call DIRDEP,$$(@D))
80523be8dba75b5eb32569fd72ddf54f3b009025vboxsync $(call MSG_GENERATE,VBoxDrv-inf,$@,$<)
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsync $(call VBOX_EDIT_INF_FN,$<,$@)
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsync
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsync ifdef VBOX_SIGNING_MODE
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsyncVBoxDrv-inf_SOURCES += \
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsync $(PATH_TARGET)/VBoxDrvCat.dir/VBoxDrv.sys \
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsync $(PATH_TARGET)/VBoxDrvCat.dir/VBoxDrv.cat
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsync
5d05aa26ae1949e6f0bbc149d8b8e39495710ac7vboxsync$(PATH_TARGET)/VBoxDrvCat.dir/VBoxDrv.sys: $$(TARGET_VBoxDrv) | $$(call DIRDEP,$$(@D))
5d05aa26ae1949e6f0bbc149d8b8e39495710ac7vboxsync $(INSTALL) -m 644 $< $(@D)
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsync
052deaa01d8fcd5cec4dff857833538940b751c3vboxsync$(PATH_TARGET)/VBoxDrvCat.dir/VBoxDrv.cat: \
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsync $(PATH_TARGET)/VBoxDrvCat.dir/VBoxDrv.inf \
5d05aa26ae1949e6f0bbc149d8b8e39495710ac7vboxsync $(PATH_TARGET)/VBoxDrvCat.dir/VBoxDrv.cat
5d05aa26ae1949e6f0bbc149d8b8e39495710ac7vboxsync $(call MSG_TOOL,Inf2Cat,VBoxDrv-inf,$@,$<)
5d05aa26ae1949e6f0bbc149d8b8e39495710ac7vboxsync $(call VBOX_MAKE_CAT_FN, $(@D),$@)
5d05aa26ae1949e6f0bbc149d8b8e39495710ac7vboxsync endif # signing
5d05aa26ae1949e6f0bbc149d8b8e39495710ac7vboxsyncendif # win
5d05aa26ae1949e6f0bbc149d8b8e39495710ac7vboxsync
5d05aa26ae1949e6f0bbc149d8b8e39495710ac7vboxsync
5d05aa26ae1949e6f0bbc149d8b8e39495710ac7vboxsync#
5d05aa26ae1949e6f0bbc149d8b8e39495710ac7vboxsync# vboxdrv.ko - The Linux Kernel Module (syntax only).
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsync#
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsyncifeq ($(BUILD_TARGET),linux)
b60e4b0625949fd68ed97f1353e2174c5b3192e5vboxsyncvboxdrv_TEMPLATE = VBOXR0DRV
b60e4b0625949fd68ed97f1353e2174c5b3192e5vboxsyncvboxdrv_DEFS = KBUILD_MODNAME=KBUILD_STR\(vboxdrv\) KBUILD_BASENAME=KBUILD_STR\(vboxdrv\) MODULE IN_RT_R0 IN_SUP_R0 CONFIG_VBOXDRV_AS_MISC USE_NEW_OS_INTERFACE_FOR_MM
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsyncvboxdrv_INCS := $(PATH_SUB_CURRENT)
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsyncvboxdrv_LIBS = $(PATH_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB)
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsyncvboxdrv_LIBS.debug = $(vboxdrv_LIBS) $(VBOX_GCC_LIBGCC)
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsyncvboxdrv_SOURCES = \
5d05aa26ae1949e6f0bbc149d8b8e39495710ac7vboxsync $(BUILD_TARGET)/SUPDrv-$(BUILD_TARGET).c \
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsync SUPDRVShared.c
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsyncifndef VBOX_LINUX_VERSION_2_4
8d29e9dc0d280b7b26834132b9ce14a3a845a7fdvboxsyncvboxdrv_SOURCES += \
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync $(BUILD_TARGET)/SUPDrv-$(BUILD_TARGET).mod.c
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsyncendif
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsyncendif # real linux
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync#
052deaa01d8fcd5cec4dff857833538940b751c3vboxsync# VBoxDrv.kext - The Darwin Kernel Extension.
052deaa01d8fcd5cec4dff857833538940b751c3vboxsync#
052deaa01d8fcd5cec4dff857833538940b751c3vboxsyncifeq ($(BUILD_TARGET),darwin)
052deaa01d8fcd5cec4dff857833538940b751c3vboxsyncVBoxDrv_TEMPLATE = VBOXR0DRV
052deaa01d8fcd5cec4dff857833538940b751c3vboxsyncVBoxDrv_DEFS = IN_RT_R0 IN_SUP_R0 USE_NEW_OS_INTERFACE
052deaa01d8fcd5cec4dff857833538940b751c3vboxsyncVBoxDrv_DEFS += DEBUG_DARWIN_GIP
052deaa01d8fcd5cec4dff857833538940b751c3vboxsyncVBoxDrv_INCS := $(PATH_SUB_CURRENT)
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsyncVBoxDrv_LIBS = $(PATH_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB)
052deaa01d8fcd5cec4dff857833538940b751c3vboxsyncVBoxDrv_LDFLAGS = -v -Wl,-whyload -Wl,-v -Wl,-whatsloaded
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsyncVBoxDrv_INST = $(INST_VBOXDRV)Contents/MacOS/
755f4438e1e3a66f23230126b7df46d51006ac24vboxsyncVBoxDrv_SOURCES = \
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync SUPDRVShared.c \
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync $(BUILD_TARGET)/SUPDrv-$(BUILD_TARGET).cpp
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsyncINSTALLS += VBoxDrv.kext
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsyncVBoxDrv.kext_INST = $(INST_VBOXDRV)Contents/
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsyncVBoxDrv.kext_SOURCES = \
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync $(PATH_TARGET)/Info.plist
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync$(PATH_TARGET)/Info.plist: $(PATH_SUB_CURRENT)/darwin/Info.plist $(VBOX_VERSION_MK) | $(call DIRDEP,$(PATH_TARGET))
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync $(call MSG_GENERATE,VBoxDrv,$@,$<)
755f4438e1e3a66f23230126b7df46d51006ac24vboxsync $(xQUIET)$(RM) -f $@
755f4438e1e3a66f23230126b7df46d51006ac24vboxsync $(xQUIET)$(SED) \
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync -e 's/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g' \
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync -e 's/@VBOX_VERSION_MAJOR@/$(VBOX_VERSION_MAJOR)/g' \
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync -e 's/@VBOX_VERSION_MINOR@/$(VBOX_VERSION_MINOR)/g' \
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync -e 's/@VBOX_VERSION_BUILD@/$(VBOX_VERSION_BUILD)/g' \
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync $< > $@
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsyncINSTALLS += Scripts
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsyncScripts_INST = $(INST_DIST)
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsyncScripts_SOURCES = \
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync darwin/load.sh
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsyncendif # darwin
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync#
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync# VBoxDrv.sys - The OS/2 driver.
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync#
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsyncifeq ($(BUILD_TARGET),os2)
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsyncVBoxDrv_TEMPLATE = VBOXR0DRV
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsyncVBoxDrv_DEFS = IN_RT_R0 IN_SUP_R0 USE_NEW_OS_INTERFACE
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsyncVBoxDrv_INCS := $(PATH_SUB_CURRENT)
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync#VBoxDrv_LDFLAGS = -s -t -v
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsyncVBoxDrv_SOURCES = \
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync os2/SUPDrvA-os2.asm \
64e0c74b525c440a571ce06f3eb6234d75913d76vboxsync os2/SUPDrv-os2.def
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsyncVBoxDrv_LIBS = \
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsync $(TARGET_VBoxDrvLib) \
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsync $(PATH_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB) \
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsync $(VBOX_GCC_LIBGCC) \
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsync end
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsync
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsync# temp hack to ensure that SUPDrvA-os2.asm is first in the link.
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsyncLIBRARIES += VBoxDrvLib
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsyncVBoxDrvLib_TEMPLATE = VBOXR0DRV
052deaa01d8fcd5cec4dff857833538940b751c3vboxsyncVBoxDrvLib_NOINST = 1
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsyncVBoxDrvLib_DEFS = IN_RT_R0 IN_SUP_R0 USE_NEW_OS_INTERFACE
39a628c9e979cb2355caa57eb099b13cb922783cvboxsyncVBoxDrvLib_INCS := \
39a628c9e979cb2355caa57eb099b13cb922783cvboxsync $(PATH_SUB_CURRENT) \
26bef2fb65df80a28b9972e0a43a92be367417d9vboxsync $(PATH_TARGET) \
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsync $(PATH_ROOT)/src/VBox/Runtime/include
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsyncVBoxDrvLib_SOURCES = \
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsync os2/SUPDrv-os2.cpp \
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsync SUPDRVShared.c
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsyncendif
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsync
39a628c9e979cb2355caa57eb099b13cb922783cvboxsync
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsync#
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsync# vboxdrv.ko - The FreeBSD Kernel Module.
d308e8fdb9e4d827ed10d26d1581d265602f6f46vboxsync#
d308e8fdb9e4d827ed10d26d1581d265602f6f46vboxsyncifeq ($(BUILD_TARGET),freebsd)
1e2bc03fd1fc133bd3a066b1557471e157df78f6vboxsyncvboxdrv_TEMPLATE = VBOXR0DRV
5bcfdf9ef0306239498361e5021d008ad77bf539vboxsyncvboxdrv_DEFS = IN_RT_R0 IN_SUP_R0 USE_NEW_OS_INTERFACE
5bcfdf9ef0306239498361e5021d008ad77bf539vboxsyncvboxdrv_INCS := $(PATH_SUB_CURRENT)
5bcfdf9ef0306239498361e5021d008ad77bf539vboxsyncvboxdrv_LIBS = $(PATH_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB)
7dbde0174637fbfd00c50b383f654e46878eaa8evboxsyncvboxdrv_SOURCES = \
5bcfdf9ef0306239498361e5021d008ad77bf539vboxsync $(BUILD_TARGET)/SUPDrv-$(BUILD_TARGET).c \
5bcfdf9ef0306239498361e5021d008ad77bf539vboxsync SUPDRVShared.c
5bcfdf9ef0306239498361e5021d008ad77bf539vboxsyncendif # freebsd
5bcfdf9ef0306239498361e5021d008ad77bf539vboxsync
5bcfdf9ef0306239498361e5021d008ad77bf539vboxsync
5bcfdf9ef0306239498361e5021d008ad77bf539vboxsync#
7dbde0174637fbfd00c50b383f654e46878eaa8evboxsync# vboxdrv.o - The Solaris Kernel Module.
5bcfdf9ef0306239498361e5021d008ad77bf539vboxsync#
3c3a5ab35783f4d31cb5d3a15db9daadeb804daavboxsyncifeq ($(BUILD_TARGET),solaris)
3c3a5ab35783f4d31cb5d3a15db9daadeb804daavboxsyncvboxdrv_TEMPLATE = VBOXR0DRV
5bcfdf9ef0306239498361e5021d008ad77bf539vboxsyncvboxdrv_DEFS = IN_RT_R0 IN_SUP_R0 USE_NEW_OS_INTERFACE
2673f120424ba2bb67c6da0eb851b65b22b0cba4vboxsyncvboxdrv_INCS := $(PATH_SUB_CURRENT)
2673f120424ba2bb67c6da0eb851b65b22b0cba4vboxsyncvboxdrv_LIBS = $(PATH_LIB)/RuntimeR0Drv$(VBOX_SUFF_LIB)
5bcfdf9ef0306239498361e5021d008ad77bf539vboxsyncvboxdrv_SOURCES = \
3c3a5ab35783f4d31cb5d3a15db9daadeb804daavboxsync $(BUILD_TARGET)/SUPDrv-$(BUILD_TARGET).c \
7dbde0174637fbfd00c50b383f654e46878eaa8evboxsync SUPDRVShared.c
3c3a5ab35783f4d31cb5d3a15db9daadeb804daavboxsyncendif # solaris
5bcfdf9ef0306239498361e5021d008ad77bf539vboxsync
3c3a5ab35783f4d31cb5d3a15db9daadeb804daavboxsync
5bcfdf9ef0306239498361e5021d008ad77bf539vboxsyncinclude $(PATH_KBUILD)/subfooter.kmk
3c3a5ab35783f4d31cb5d3a15db9daadeb804daavboxsync
5bcfdf9ef0306239498361e5021d008ad77bf539vboxsync