Makefile revision 36ebaddfec017eee7e82ee466c25de002cdc4231
c366016ffe1788c6847d0a967a954713725cab5evboxsync# $Id$
c366016ffe1788c6847d0a967a954713725cab5evboxsync## @file
c366016ffe1788c6847d0a967a954713725cab5evboxsync# Makefile for the VirtualBox FreeBSD Host Driver.
c366016ffe1788c6847d0a967a954713725cab5evboxsync#
c366016ffe1788c6847d0a967a954713725cab5evboxsync
c366016ffe1788c6847d0a967a954713725cab5evboxsync#
c366016ffe1788c6847d0a967a954713725cab5evboxsync#
c366016ffe1788c6847d0a967a954713725cab5evboxsync# Copyright (C) 2006-2007 Sun Microsystems, Inc.
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# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
c366016ffe1788c6847d0a967a954713725cab5evboxsync# Clara, CA 95054 USA or visit http://www.sun.com if you need
c366016ffe1788c6847d0a967a954713725cab5evboxsync# additional information or have any questions.
c366016ffe1788c6847d0a967a954713725cab5evboxsync#
c366016ffe1788c6847d0a967a954713725cab5evboxsync
c366016ffe1788c6847d0a967a954713725cab5evboxsyncKMOD = vboxdrv
c366016ffe1788c6847d0a967a954713725cab5evboxsync
c366016ffe1788c6847d0a967a954713725cab5evboxsyncCFLAGS += -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
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 \
36ebaddfec017eee7e82ee466c25de002cdc4231vboxsync SUPDrvSem.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 += \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync heapsimple.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 += \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync handletable.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync handletablectx.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync once.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync thread.c
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync.PATH: ${.CURDIR}/common/string
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsyncSRCS += \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync strformat.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync strformatrt.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync strformattype.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync strprintf.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync strtonum.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync memchr.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync string.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 \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync ipv4.c
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync.PATH: ${.CURDIR}/common/table
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsyncSRCS += \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync avlpv.c
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync
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 \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync RTRandAdvCreateSystemFaster-generic.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync RTRandAdvCreateSystemTruer-generic.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync RTTimerCreate-generic.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync timer-generic.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync mppresent-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 \
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 \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync RTMpIsCpuWorkPending-r0drv-generic.c
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync.PATH: ${.CURDIR}/VBox
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsyncSRCS += \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync log-vbox.c \
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync strformat-vbox.c
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync
ff1e21edf9a07974cb38c8f8ad7e8212b1335551vboxsync.include <bsd.kmod.mk>
c366016ffe1788c6847d0a967a954713725cab5evboxsync