Makefile.kmk revision 7be5810498a9566c95b3662647945cf20084afed
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync# Makefile for the FreeBSD installer.
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync# Copyright (C) 2006-2007 Sun Microsystems, Inc.
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync# available from http://www.virtualbox.org. This file is free software;
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync# you can redistribute it and/or modify it under the terms of the GNU
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync# General Public License (GPL) as published by the Free Software
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync# Clara, CA 95054 USA or visit http://www.sun.com if you need
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync# additional information or have any questions.
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsyncSUB_DEPTH = ../../../..
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsyncinclude $(KBUILD_PATH)/subheader.kmk
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsyncifneq ($(KBUILD_HOST),freebsd)
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync $(error "The FreeBSD installer can only be built on FreeBSD!")
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync# Globals and targets.
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsyncVBOX_PATH_FBSD_INST_SRC := $(PATH_SUB_CURRENT)
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsyncVBOX_FBSD_INST_OUT_DIR := $(PATH_TARGET)/Installer/freebsd
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsyncVBOX_FBSD_INST_STAGE_DIR := $(PATH_TARGET)/Installer/freebsd/install
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsyncVBOX_FBSD_DBG_PATH := usr/lib/debug/opt/VirtualBox
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsyncVBOX_FBSD_PACKAGE_NAME = VirtualBox-$(VBOX_VERSION_STRING)-r$(VBOX_SVN_REV).tbz
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsyncVBOX_FBSD_INST_LIB_DIR := $(VBOX_FBSD_INST_STAGE_DIR)/lib
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsyncVBOX_FBSD_INST_BIN_DIR := $(VBOX_FBSD_INST_STAGE_DIR)/bin
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsyncVBOX_FBSD_INST_LIBVBOX_DIR := $(VBOX_FBSD_INST_LIB_DIR)/virtualbox
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsyncVBOX_FBSD_INST_SHARE_DIR := $(VBOX_FBSD_INST_STAGE_DIR)/share
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsyncVBOX_FBSD_INST_SHAREAPP_DIR := $(VBOX_FBSD_INST_SHARE_DIR)/applications
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsyncVBOX_FBSD_INST_SHAREICON_DIR := $(VBOX_FBSD_INST_SHARE_DIR)/pixmaps
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsyncVBOX_FBSD_INST_SHAREVBOX_DIR := $(VBOX_FBSD_INST_SHARE_DIR)/virtualbox
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync# Unset this to speed up things during makefile hacking.
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsyncVBOX_FBSD_INST_DEP_ON_MAKEFILE := $(MAKEFILE_CURRENT)
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsyncBLDDIRS += $(VBOX_FBSD_INST_OUT_DIR) $(VBOX_FBSD_INST_STAGE_DIR)
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsyncPACKING += $(PATH_BIN)/$(VBOX_FBSD_PACKAGE_NAME)
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsyncOTHER_CLEAN += \
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync $(addprefix $(VBOX_FBSD_INST_STAGE_DIR)/,\
cf22150eaeeb72431bf1cf65c309a431454fb22bvboxsync pkg_plist \
$(PATH_ROOT)/src/VBox/Frontends/VirtualBox/images/$(if $(VBOX_OSE),OSE,NonOSE)/VirtualBox_32px.png=>VBox.png \
$(if $(VBOX_WITH_QTGUI),$(PATH_freebsd-misc)/virtualbox.desktop,)
freebsd-misc_CLEAN = $(PATH_freebsd-misc)/virtualbox.desktop
$$(PATH_freebsd-misc)/virtualbox.desktop: $(PATH_SUB_CURRENT)/virtualbox.desktop $(VBOX_VERSION_STAMP) | $$(dir $$@)
$(QUIET)$(SED) -e "s+\$$VBOX_DOC_PATH+/opt/VirtualBox+" --output $@ $<
$(if $(eq $(KBUILD_TARGET_ARCH),x86),VBoxREM32.so,) \
$(if $(eq $(KBUILD_TARGET_ARCH),x86),VBoxREM64.so,) \
$(if $(VBOX_WITH_VBOXSDL),VBoxSDL $(if $(VBOX_WITH_HARDENING),VBoxSDL.so),) \
$(if $(VBOX_WITH_SHARED_CLIPBOARD), VBoxSharedClipboard.so,) \
$(if $(VBOX_WITH_SHARED_FOLDERS), VBoxSharedFolders.so,) \
$(if $(VBOX_WITH_GUEST_PROPS),VBoxGuestPropSvc.so,) \
VBoxNetDHCP $(if $(VBOX_WITH_HARDENING),VBoxNetDHCP.so,) \
$(if $(VBOX_WITH_PYTHON),VBoxPython.so,)
VMMGC.gc \
include $(PATH_ROOT)/src/VBox/Frontends/VirtualBox/nls/ApprovedLanguages.kmk
$(if $(VBOX_WITH_HARDENING),VirtualBox.so) \
$(if $(VBOX_WITH_DEBUGGER_GUI),VBoxDbg.so)
$(if $(VBOX_WITH_QT4_SUN),accessible/libqtaccessiblewidgets.so,) \
$(if $(VBOX_WITH_HARDENING),VBoxHeadless.so)
$(if $(VBOX_WITH_HARDENING),VBoxBFE.so)
# Cleanup of the files we copy/symlink from bin.
$(PATH_BIN)/vboxdrv.tar.gz: \
$(VBOX_PATH_FBSD_INST_SRC)/postinstall.sh \
$(VBOX_PATH_FBSD_INST_SRC)/postdeinstall.sh
-I $(VBOX_PATH_FBSD_INST_SRC)/postinstall.sh \
-K $(VBOX_PATH_FBSD_INST_SRC)/postdeinstall.sh \
-p /usr/local \
# pattern rule for striping and copying the VBOX_FBSD_STRIP_OBJ files to install/lib/virtualbox
# pattern rule for linking the VBOX_FBSD_NO_STRIP into lib/virtualbox/
$(QUIET)$(LN_SYMLINK) ../lib/virtualbox/$(notdir $@) $@
# pattern rule for copying the VBOX_FBSD_DESKTOP_FILE into share/applications/
# pattern rule for copying the VBOX_FBSD_ICON_FILE into share/pixmaps/
-e "s;_VBOX_REM_32BIT_MODULE_;$(if $(eq $(KBUILD_TARGET_ARCH),x86),VBoxREM32.so,);g" \
-e "s;_VBOX_REM_64BIT_MODULE_;$(if $(eq $(KBUILD_TARGET_ARCH),x86),VBoxREM64.so,);g" \
include $(KBUILD_PATH)/subfooter.kmk