Makefile revision c366016ffe1788c6847d0a967a954713725cab5e
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 freebsd/SUPDrv-freebsd.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync SUPDrv.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync alloc/heapsimple.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/err/RTErrConvertFromErrno.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/err/RTErrConvertToErrno.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/log/log.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/log/logellipsis.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/log/logrel.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/log/logrelellipsis.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/log/logcom.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/log/logformat.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/misc/handletable.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/misc/handletablectx.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/misc/once.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/misc/thread.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/string/strformat.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/string/strformatrt.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/string/strformattype.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/string/strprintf.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/string/strtonum.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/string/memchr.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/string/string.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/rand/rand.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/rand/randadv.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/rand/randparkmiller.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/path/RTPathStripFilename.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/checksum/crc32.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/checksum/ipv4.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync common/table/avlpv.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync generic/uuid-generic.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync generic/RTAssertShouldPanic-generic.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync generic/RTLogWriteDebugger-generic.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync generic/RTLogWriteStdOut-stub-generic.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync generic/RTLogWriteStdErr-stub-generic.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync generic/RTLogWriteUser-generic.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync generic/RTRandAdvCreateSystemFaster-generic.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync generic/RTRandAdvCreateSystemTruer-generic.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync generic/RTTimerCreate-generic.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync generic/timer-generic.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync generic/mppresent-generic.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync r0drv/alloc-r0drv.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync r0drv/initterm-r0drv.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync r0drv/powernotification-r0drv.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync r0drv/freebsd/assert-r0drv-freebsd.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync r0drv/freebsd/alloc-r0drv-freebsd.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync r0drv/freebsd/initterm-r0drv-freebsd.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync r0drv/freebsd/memobj-r0drv-freebsd.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync r0drv/freebsd/memuserkernel-r0drv-freebsd.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync r0drv/freebsd/mp-r0drv-freebsd.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync r0drv/freebsd/process-r0drv-freebsd.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync r0drv/freebsd/semevent-r0drv-freebsd.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync r0drv/freebsd/semeventmulti-r0drv-freebsd.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync r0drv/freebsd/semfastmutex-r0drv-freebsd.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync r0drv/freebsd/spinlock-r0drv-freebsd.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync r0drv/freebsd/thread-r0drv-freebsd.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync r0drv/freebsd/thread2-r0drv-freebsd.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync r0drv/freebsd/time-r0drv-freebsd.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync r0drv/generic/semspinmutex-r0drv-generic.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync r0drv/generic/mpnotification-r0drv-generic.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync r0drv/generic/RTMpIsCpuWorkPending-r0drv-generic.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync r0drv/memobj-r0drv.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync VBox/log-vbox.c \
c366016ffe1788c6847d0a967a954713725cab5evboxsync VBox/strformat-vbox.c
c366016ffe1788c6847d0a967a954713725cab5evboxsync
c366016ffe1788c6847d0a967a954713725cab5evboxsyncSRCS += device_if.h bus_if.h
c366016ffe1788c6847d0a967a954713725cab5evboxsync
c366016ffe1788c6847d0a967a954713725cab5evboxsync.include <bsd.kmod.mk>
c366016ffe1788c6847d0a967a954713725cab5evboxsync
c366016ffe1788c6847d0a967a954713725cab5evboxsync# HACK ALERT: The generated object files are not stored in the same directories as the
c366016ffe1788c6847d0a967a954713725cab5evboxsync# C files but in the current directory. Linking will fail because
c366016ffe1788c6847d0a967a954713725cab5evboxsync# it searches in the given directories for object files but doesn't
c366016ffe1788c6847d0a967a954713725cab5evboxsync# find them. Redefine the varaiable used for linking with the correct paths
c366016ffe1788c6847d0a967a954713725cab5evboxsync# to the files. KEEP IN SYNC WITH ABOVE DEFINITION!!!
c366016ffe1788c6847d0a967a954713725cab5evboxsyncOBJS = \
c366016ffe1788c6847d0a967a954713725cab5evboxsync SUPDrv-freebsd.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync SUPDrv.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync heapsimple.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync RTErrConvertFromErrno.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync RTErrConvertToErrno.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync log.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync logellipsis.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync logrel.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync logrelellipsis.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync logcom.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync logformat.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync handletable.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync handletablectx.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync once.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync thread.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync strformat.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync strformatrt.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync strformattype.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync strprintf.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync strtonum.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync memchr.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync string.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync rand.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync randadv.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync randparkmiller.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync RTPathStripFilename.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync crc32.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync ipv4.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync avlpv.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync uuid-generic.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync RTAssertShouldPanic-generic.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync RTLogWriteDebugger-generic.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync RTLogWriteStdOut-stub-generic.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync RTLogWriteStdErr-stub-generic.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync RTLogWriteUser-generic.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync RTRandAdvCreateSystemFaster-generic.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync RTRandAdvCreateSystemTruer-generic.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync RTTimerCreate-generic.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync timer-generic.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync mppresent-generic.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync alloc-r0drv.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync initterm-r0drv.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync powernotification-r0drv.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync assert-r0drv-freebsd.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync alloc-r0drv-freebsd.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync initterm-r0drv-freebsd.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync memobj-r0drv-freebsd.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync memuserkernel-r0drv-freebsd.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync mp-r0drv-freebsd.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync process-r0drv-freebsd.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync semevent-r0drv-freebsd.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync semeventmulti-r0drv-freebsd.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync semfastmutex-r0drv-freebsd.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync spinlock-r0drv-freebsd.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync thread-r0drv-freebsd.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync thread2-r0drv-freebsd.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync time-r0drv-freebsd.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync semspinmutex-r0drv-generic.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync mpnotification-r0drv-generic.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync RTMpIsCpuWorkPending-r0drv-generic.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync memobj-r0drv.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync log-vbox.o \
c366016ffe1788c6847d0a967a954713725cab5evboxsync strformat-vbox.o
c366016ffe1788c6847d0a967a954713725cab5evboxsync