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