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