c366016ffe1788c6847d0a967a954713725cab5evboxsync# $Id$
c366016ffe1788c6847d0a967a954713725cab5evboxsync## @file
c366016ffe1788c6847d0a967a954713725cab5evboxsync# Makefile for the VirtualBox FreeBSD Host Driver.
c366016ffe1788c6847d0a967a954713725cab5evboxsync#
c366016ffe1788c6847d0a967a954713725cab5evboxsync
c366016ffe1788c6847d0a967a954713725cab5evboxsync#
86a00a5efe7fdc9725f2076050b996e205259cd6vboxsync# Copyright (C) 2006-2015 Oracle Corporation
c366016ffe1788c6847d0a967a954713725cab5evboxsync#
c366016ffe1788c6847d0a967a954713725cab5evboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
c366016ffe1788c6847d0a967a954713725cab5evboxsync# available from http://www.virtualbox.org. This file is free software;
c366016ffe1788c6847d0a967a954713725cab5evboxsync# you can redistribute it and/or modify it under the terms of the GNU
c366016ffe1788c6847d0a967a954713725cab5evboxsync# General Public License (GPL) as published by the Free Software
c366016ffe1788c6847d0a967a954713725cab5evboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
c366016ffe1788c6847d0a967a954713725cab5evboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
c366016ffe1788c6847d0a967a954713725cab5evboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
c366016ffe1788c6847d0a967a954713725cab5evboxsync#
c366016ffe1788c6847d0a967a954713725cab5evboxsync# The contents of this file may alternatively be used under the terms
c366016ffe1788c6847d0a967a954713725cab5evboxsync# of the Common Development and Distribution License Version 1.0
c366016ffe1788c6847d0a967a954713725cab5evboxsync# (CDDL) only, as it comes in the "COPYING.CDDL" file of the
c366016ffe1788c6847d0a967a954713725cab5evboxsync# VirtualBox OSE distribution, in which case the provisions of the
c366016ffe1788c6847d0a967a954713725cab5evboxsync# CDDL are applicable instead of those of the GPL.
c366016ffe1788c6847d0a967a954713725cab5evboxsync#
c366016ffe1788c6847d0a967a954713725cab5evboxsync# You may elect to license modified versions of this file under the
c366016ffe1788c6847d0a967a954713725cab5evboxsync# terms and conditions of either the GPL or the CDDL or both.
c366016ffe1788c6847d0a967a954713725cab5evboxsync#
c366016ffe1788c6847d0a967a954713725cab5evboxsync
c366016ffe1788c6847d0a967a954713725cab5evboxsyncKMOD = vboxdrv
c366016ffe1788c6847d0a967a954713725cab5evboxsync
ea2250e8dde0b8e53740df560de83a5cd07eed56vboxsyncCFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DSUPDRV_WITH_RELEASE_LOGGER -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBOX_WITH_HARDENING -DVBOX_WITH_64_BITS_GUESTS
c366016ffe1788c6847d0a967a954713725cab5evboxsync
c366016ffe1788c6847d0a967a954713725cab5evboxsync.if (${MACHINE_ARCH} == "i386")
c366016ffe1788c6847d0a967a954713725cab5evboxsync CFLAGS += -DRT_ARCH_X86
c366016ffe1788c6847d0a967a954713725cab5evboxsync.elif (${MACHINE_ARCH} == "amd64")
c366016ffe1788c6847d0a967a954713725cab5evboxsync CFLAGS += -DRT_ARCH_AMD64
c366016ffe1788c6847d0a967a954713725cab5evboxsync.endif
c366016ffe1788c6847d0a967a954713725cab5evboxsync
c366016ffe1788c6847d0a967a954713725cab5evboxsyncSRCS = \
c366016ffe1788c6847d0a967a954713725cab5evboxsync SUPDrv.c \
9888fffcfbe2d41dce14a1249b12cb88cc9b149fvboxsync SUPDrvGip.c \
36ebaddfec017eee7e82ee466c25de002cdc4231vboxsync SUPDrvSem.c \
7eaf45ffccb9b2c2845da8b78f8dca01aa49382bvboxsync SUPDrvTracer.c \
86a00a5efe7fdc9725f2076050b996e205259cd6vboxsync SUPLibAll.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync# Include needed interface headers so they are created during build
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsyncSRCS += \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync device_if.h \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync bus_if.h
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync.PATH: ${.CURDIR}/freebsd
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsyncSRCS += \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync SUPDrv-freebsd.c
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync.PATH: ${.CURDIR}/alloc
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsyncSRCS += \
a4b6bc5445b0e3d9bda9db76ac953b2542fd0a28vboxsync heapsimple.c \
a4b6bc5445b0e3d9bda9db76ac953b2542fd0a28vboxsync alloc.c
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync.PATH: ${.CURDIR}/common/err
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsyncSRCS += \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync RTErrConvertFromErrno.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync RTErrConvertToErrno.c
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync.PATH: ${.CURDIR}/common/log
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsyncSRCS += \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync log.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync logellipsis.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync logrel.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync logrelellipsis.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync logcom.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync logformat.c
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync.PATH: ${.CURDIR}/common/misc
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsyncSRCS += \
a7aa94e0115a73841f34ebbfa00f63fa1904e51fvboxsync RTAssertMsg1Weak.c \
b6cc138b99f86c2d29ecfe32cecf9f68ba5e73afvboxsync RTAssertMsg2.c \
0e5731ab59b4ecead38375f26eeea698f00b19fdvboxsync RTAssertMsg2Add.c \
0e5731ab59b4ecead38375f26eeea698f00b19fdvboxsync RTAssertMsg2AddWeak.c \
0e5731ab59b4ecead38375f26eeea698f00b19fdvboxsync RTAssertMsg2AddWeakV.c \
a7aa94e0115a73841f34ebbfa00f63fa1904e51fvboxsync RTAssertMsg2Weak.c \
a7aa94e0115a73841f34ebbfa00f63fa1904e51fvboxsync RTAssertMsg2WeakV.c \
a7aa94e0115a73841f34ebbfa00f63fa1904e51fvboxsync assert.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync handletable.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync handletablectx.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync once.c \
5979821e2c16d1fcec5b9a3ef64e13246fc9a93avboxsync term.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync thread.c
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync.PATH: ${.CURDIR}/common/string
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsyncSRCS += \
76326dd9df821e926bfda3ca9193f7736b42f6fdvboxsync RTStrNCmp.c \
9d869ecad3ee96dd3f059f34a8f285fc3d361ab8vboxsync RTStrNLen.c \
76326dd9df821e926bfda3ca9193f7736b42f6fdvboxsync RTStrCopy.c \
5979821e2c16d1fcec5b9a3ef64e13246fc9a93avboxsync RTStrCopyEx.c \
e66c95fa9950a4d9c567db63a4a495bf086cc4bfvboxsync RTStrCopyP.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync strformat.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync strformatrt.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync strformattype.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync strprintf.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync strtonum.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync memchr.c \
81abf6f533300bfe7c2109e9db1029b7a0274598vboxsync stringalloc.c
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync.PATH: ${.CURDIR}/common/rand
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsyncSRCS += \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync rand.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync randadv.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync randparkmiller.c
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync.PATH: ${.CURDIR}/common/path
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsyncSRCS += \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync RTPathStripFilename.c
c366016ffe1788c6847d0a967a954713725cab5evboxsync
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync.PATH: ${.CURDIR}/common/checksum
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsyncSRCS += \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync crc32.c \
9c88dfe29cb5a5dcf70e84c706b9fc57bb309819vboxsync ipv4.c \
9c88dfe29cb5a5dcf70e84c706b9fc57bb309819vboxsync ipv6.c
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync.PATH: ${.CURDIR}/common/table
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsyncSRCS += \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync avlpv.c
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync
a4b6bc5445b0e3d9bda9db76ac953b2542fd0a28vboxsync.PATH: ${.CURDIR}/common/time
a4b6bc5445b0e3d9bda9db76ac953b2542fd0a28vboxsyncSRCS += \
a4b6bc5445b0e3d9bda9db76ac953b2542fd0a28vboxsync time.c
a4b6bc5445b0e3d9bda9db76ac953b2542fd0a28vboxsync
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync.PATH: ${.CURDIR}/generic
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsyncSRCS += \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync uuid-generic.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync RTAssertShouldPanic-generic.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync RTLogWriteDebugger-generic.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync RTLogWriteStdOut-stub-generic.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync RTLogWriteStdErr-stub-generic.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync RTLogWriteUser-generic.c \
0cde281779e97ead3181bbd3b628451fa2b1efe1vboxsync RTMpGetArraySize-generic.c \
b3b6e2e7ee4482a4818dbed60d9795fd80baed33vboxsync RTMpOnPair-generic.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync RTRandAdvCreateSystemFaster-generic.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync RTRandAdvCreateSystemTruer-generic.c \
71260b693f7947f10b16e8822c362b66ff6864d4vboxsync RTSemEventWait-2-ex-generic.c \
71260b693f7947f10b16e8822c362b66ff6864d4vboxsync RTSemEventWaitNoResume-2-ex-generic.c \
71260b693f7947f10b16e8822c362b66ff6864d4vboxsync RTSemEventMultiWait-2-ex-generic.c \
71260b693f7947f10b16e8822c362b66ff6864d4vboxsync RTSemEventMultiWaitNoResume-2-ex-generic.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync RTTimerCreate-generic.c \
ab455939477d81b7bb500586f88029d3a3c0b34cvboxsync errvars-generic.c \
cd7a8c034836a94a0c4f0adf9764f9ed661cdd01vboxsync mppresent-generic.c \
cd7a8c034836a94a0c4f0adf9764f9ed661cdd01vboxsync timer-generic.c
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync.PATH: ${.CURDIR}/r0drv
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsyncSRCS += \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync alloc-r0drv.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync initterm-r0drv.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync memobj-r0drv.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync powernotification-r0drv.c
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync.PATH: ${.CURDIR}/r0drv/freebsd
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsyncSRCS += \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync assert-r0drv-freebsd.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync alloc-r0drv-freebsd.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync initterm-r0drv-freebsd.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync memobj-r0drv-freebsd.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync memuserkernel-r0drv-freebsd.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync mp-r0drv-freebsd.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync process-r0drv-freebsd.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync semevent-r0drv-freebsd.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync semeventmulti-r0drv-freebsd.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync semfastmutex-r0drv-freebsd.c \
c936b605260fac01308e3f63b869f401321c52b3vboxsync semmutex-r0drv-freebsd.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync spinlock-r0drv-freebsd.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync thread-r0drv-freebsd.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync thread2-r0drv-freebsd.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync time-r0drv-freebsd.c
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync.PATH: ${.CURDIR}/r0drv/generic
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsyncSRCS += \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync semspinmutex-r0drv-generic.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync mpnotification-r0drv-generic.c \
5979821e2c16d1fcec5b9a3ef64e13246fc9a93avboxsync threadctxhooks-r0drv-generic.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync RTMpIsCpuWorkPending-r0drv-generic.c
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync.PATH: ${.CURDIR}/VBox
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsyncSRCS += \
d94da006d266643454eaeeb7e54c7c4a06bff515vboxsync log-vbox.c
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync.include <bsd.kmod.mk>
c366016ffe1788c6847d0a967a954713725cab5evboxsync