Makefile revision 9d869ecad3ee96dd3f059f34a8f285fc3d361ab8
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf# $Id$
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf## @file
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf# Makefile for the VirtualBox FreeBSD Host Driver.
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf#
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf#
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf#
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf# Copyright (C) 2006-2012 Oracle Corporation
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf#
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf# This file is part of VirtualBox Open Source Edition (OSE), as
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf# available from http://www.virtualbox.org. This file is free software;
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf# you can redistribute it and/or modify it under the terms of the GNU
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf# General Public License (GPL) as published by the Free Software
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf# Foundation, in version 2 as it comes in the "COPYING" file of the
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf#
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf# The contents of this file may alternatively be used under the terms
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf# of the Common Development and Distribution License Version 1.0
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf# (CDDL) only, as it comes in the "COPYING.CDDL" file of the
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf# VirtualBox OSE distribution, in which case the provisions of the
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf# CDDL are applicable instead of those of the GPL.
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf#
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf# You may elect to license modified versions of this file under the
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf# terms and conditions of either the GPL or the CDDL or both.
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf#
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlfKMOD = vboxdrv
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlfCFLAGS += -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
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf.if (${MACHINE_ARCH} == "i386")
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf CFLAGS += -DRT_ARCH_X86
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf.elif (${MACHINE_ARCH} == "amd64")
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf CFLAGS += -DRT_ARCH_AMD64
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf.endif
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlfSRCS = \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf SUPDrv.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf SUPDrvSem.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf SUPDrvTracer.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf# Include needed interface headers so they are created during build
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlfSRCS += \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf device_if.h \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf bus_if.h
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf.PATH: ${.CURDIR}/freebsd
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlfSRCS += \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf SUPDrv-freebsd.c
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf.PATH: ${.CURDIR}/alloc
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlfSRCS += \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf heapsimple.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf alloc.c
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf.PATH: ${.CURDIR}/common/err
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlfSRCS += \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf RTErrConvertFromErrno.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf RTErrConvertToErrno.c
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf.PATH: ${.CURDIR}/common/log
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlfSRCS += \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf log.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf logellipsis.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf logrel.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf logrelellipsis.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf logcom.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf logformat.c
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf.PATH: ${.CURDIR}/common/misc
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlfSRCS += \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf RTAssertMsg1Weak.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf RTAssertMsg2.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf RTAssertMsg2Add.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf RTAssertMsg2AddWeak.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf RTAssertMsg2AddWeakV.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf RTAssertMsg2Weak.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf RTAssertMsg2WeakV.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf assert.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf handletable.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf handletablectx.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf once.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf thread.c
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf.PATH: ${.CURDIR}/common/string
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlfSRCS += \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf RTStrNCmp.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf RTStrNLen.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf RTStrCopy.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf RTStrCopyP.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf strformat.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf strformatrt.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf strformattype.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf strprintf.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf strtonum.c \
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Lowe memchr.c \
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Lowe stringalloc.c
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Lowe
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Lowe.PATH: ${.CURDIR}/common/rand
7014882c6a3672fd0e5d60200af8643ae53c5928Richard LoweSRCS += \
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Lowe rand.c \
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Lowe randadv.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf randparkmiller.c
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf.PATH: ${.CURDIR}/common/path
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlfSRCS += \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf RTPathStripFilename.c
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf.PATH: ${.CURDIR}/common/checksum
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlfSRCS += \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf crc32.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf ipv4.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf ipv6.c
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf.PATH: ${.CURDIR}/common/table
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlfSRCS += \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf avlpv.c
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf.PATH: ${.CURDIR}/common/time
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlfSRCS += \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf time.c
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf.PATH: ${.CURDIR}/generic
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlfSRCS += \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf uuid-generic.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf RTAssertShouldPanic-generic.c \
66f9d5cb3cc0652e2d9d1366fb950efbe4ca2f24mlf 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>