VirtualBox

Changeset 25590 in vbox for trunk/src/VBox/Additions/freebsd


Ignore:
Timestamp:
Dec 29, 2009 1:03:48 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
56281
Message:

FreeBSD/Additions: Makefile for kernel modules

Location:
trunk/src/VBox/Additions/freebsd
Files:
4 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/freebsd/Makefile.kmk

    r23452 r25590  
    2929# Include sub-makefiles.
    3030#include $(PATH_SUB_CURRENT)/vboxvfs/Makefile.kmk
    31 #include $(PATH_SUB_CURRENT)/drm/Makefile.kmk
     31include $(PATH_SUB_CURRENT)/drm/Makefile.kmk
    3232
     33#
    3334# Globals
    34 VBOX_FBSD_ADD_INS_OUT_DIR := $(PATH_TARGET)/Additions/FreeBSD/Installer
    35 BLDDIRS                   += $(VBOX_FBSD_ADD_INS_OUT_DIR)
     35#
     36VBOX_FBSD_ADD_INS_OUT_DIR          := $(PATH_TARGET)/Additions/Installer/freebsd
     37BLDDIRS                            += \
     38                $(VBOX_FBSD_ADD_INS_OUT_DIR) \
     39                $(VBOX_FBSD_ADD_INS_OUT_DIR)/module
     40VBOX_PATH_FREEBSD_ADDITION_INSTALLER := $(PATH_SUB_CURRENT)/Installer
     41VBOX_PATH_X11_ADDITION_INSTALLER     := $(PATH_ROOT)/src/VBox/Additions/x11/Installer
    3642
    37 VBOX_FBSD_ADD_PKG_FILENAME := VBoxFreeBSDAdditions.tbz
    38 VBOX_FBSD_ADD_PKGINFO_ARCH    = $(shell uname -p)
    39 VBOX_PATH_FREEBSD_ADDITION_INSTALLER := $(PATH_SUB_CURRENT)/Installer
    40 VBOX_PATH_X11_ADDITION_INSTALLER := $(PATH_ROOT)/src/VBox/Additions/x11/Installer
    4143
    42 ifeq ($(KBUILD_TYPE),debug)
    43  VBOX_FBSD_ADD_BIN_COPY         := $(CP) -f
    44  VBOX_FBSD_ADD_BIN_COPY_SYMBOLS := $(CP) -f
    45 else
    46  VBOX_FBSD_ADD_BIN_COPY         := objcopy -S -R .comment
    47  VBOX_FBSD_ADD_BIN_COPY_SYMBOLS := objcopy -g -R .comment
     44#
     45# Targets
     46#
     47ifndef VBOX_OSE
     48 BLDDIRS     += $(VBOX_FBSD_ADD_INS_OUT_DIR) $(VBOX_FBSD_ADD_INS_OUT_DIR)/module
     49 PACKING     += $(PATH_BIN)/additions/VBoxFreeBSDAdditions.tbz
     50 OTHER_CLEAN += $(PACKING)
    4851endif
    4952
    50 # Targets.
    51 PACKING     += $(PATH_BIN)/additions/$(VBOX_FBSD_ADD_PKG_FILENAME)
    52 OTHER_CLEAN += $(PACKING)
     53
     54#
     55# Files to install
     56#
     57VBOX_FBSD_ADD_STRIP_BIN = \
     58        VBoxService \
     59        VBoxClient \
     60        VBoxControl \
     61        vboxmouse_drv_70.so \
     62        vboxmouse_drv_71.so \
     63        vboxmouse_drv_14.so \
     64        vboxmouse_drv_15.so \
     65        vboxmouse_drv_16.so \
     66        vboxmouse_drv_17.so \
     67        vboxvideo_drv_70.so \
     68        vboxvideo_drv_71.so \
     69        vboxvideo_drv_13.so \
     70        vboxvideo_drv_14.so \
     71        vboxvideo_drv_15.so \
     72        vboxvideo_drv_16.so \
     73        vboxvideo_drv_17.so #\
     74#       VBoxOGLarrayspu.so \
     75#       VBoxOGLcrutil.so \
     76#       VBoxOGLerrorspu.so \
     77#       VBoxOGLfeedbackspu.so \
     78#       VBoxOGLpackspu.so \
     79#       VBoxOGLpassthroughspu.so \
     80#       VBoxOGL.so
     81
     82VBOX_FBSD_ADD_MODULES = \
     83        vboxguest \
     84        vboxvideo_drm
     85
     86#
     87# All the bin files that go into the archives.
     88#
     89VBOX_FBSD_ADD_DBG_SYM_FILES := $(addsuffix .dbgsym,$(VBOX_FBSD_ADD_STRIP_BIN))
     90VBOX_FBSD_ADD_INS_FILES := $(addprefix $(VBOX_FBSD_ADD_INS_OUT_DIR)/,$(VBOX_FBSD_ADD_STRIP_BIN) $(VBOX_FBSD_ADD_STRIP_OBJ) $(VBOX_FBSD_ADD_DBG_SYM_FILES))
     91VBOX_FBSD_ADD_INS_MODULES := $(addprefix $(VBOX_FBSD_ADD_INS_OUT_DIR)/module/,$(VBOX_FBSD_ADD_MODULES))
     92
     93# Cleanup of the the installer directory files
     94OTHER_CLEAN += $(VBOX_FBSD_ADD_INS_FILES)) $(VBOX_FBSD_ADD_INS_MODULES)
     95
     96# pattern rule for copying the debug info from the VBOX_FBSD_ADD_STRIP_BIN files to the installation directory
     97$(addprefix $(VBOX_FBSD_ADD_INS_OUT_DIR)/,$(VBOX_FBSD_ADD_DBG_SYM_FILES)): \
     98                $(VBOX_FBSD_ADD_INS_OUT_DIR)/%.dbgsym : $(PATH_BIN)/additions/% | $$(dir $$@)
     99        $(call MSG_TOOL,copydbg,$<,$@)
     100        $(QUIET)objcopy --only-keep-debug $< $@
     101
     102# pattern rule for stripping and copying the VBOX_FBSD_ADD_STRIP_BIN files to the installation directory
     103$(addprefix $(VBOX_FBSD_ADD_INS_OUT_DIR)/,$(VBOX_FBSD_ADD_STRIP_BIN)): \
     104                $(VBOX_FBSD_ADD_INS_OUT_DIR)/% : $(PATH_BIN)/additions/% \
     105                $(VBOX_FBSD_ADD_INS_OUT_DIR)/%.dbgsym \
     106                | $$(dir $$@)
     107        $(call MSG_INST_FILE,$<,$@)
     108        $(QUIET)$(INSTALL) -m 0755 $(if $(VBOX_DO_STRIP),-s,) $< $@
     109        $(QUIET)objcopy --add-gnu-debuglink=$(addsuffix .dbgsym,$@) $@
     110
     111# pattern rule for stripping and copying the VBOX_FBSD_ADD_STRIP_OBJ files to the installation directory
     112$(addprefix $(VBOX_FBSD_ADD_INS_OUT_DIR)/,$(VBOX_FBSD_ADD_STRIP_OBJ)): \
     113                $(VBOX_FBSD_ADD_INS_OUT_DIR)/% : $(PATH_BIN)/additions/% | $$(dir $$@)
     114        $(call MSG_INST_FILE,$<,$@)
     115ifeq ($(VBOX_DO_STRIP),)
     116        $(QUIET)$(INSTALL) -m 0644 $< $@
     117else # strip to temp file because of umask.
     118        $(QUIET)objcopy --strip-unneeded -R .comment $< [email protected]
     119        $(QUIET)$(INSTALL) -m 0644 [email protected] $@
     120        $(QUIET)$(RM) -f -- [email protected]
     121endif
     122
     123# pattern rule for copying the VBOX_FBSD_ADD_MODULES files to the installation directory
     124$(VBOX_FBSD_ADD_INS_MODULES): \
     125                $(VBOX_FBSD_ADD_INS_OUT_DIR)/module/% : $(PATH_BIN)/additions/src/% | $(VBOX_FBSD_ADD_INS_OUT_DIR)/module/
     126        $(call MSG_INST_FILE,$<,$@)
     127# Remove target directories first, otherwise the behaviour of cp will not be
     128# what we want if it already exists. See the cp manual page for more details.
     129        $(QUIET)$(RM) -Rf $@
     130        $(QUIET)cp -af $< $(VBOX_FBSD_ADD_INS_OUT_DIR)/module
     131
     132
     133INSTALLS += $(if $(VBOX_OSE),, fbsd_add_inst-nobin)
     134fbsd_add_inst-nobin_INST = obj/Additions/Installer/freebsd
     135fbsd_add_inst-nobin_MODE = a+r,u+w
     136fbsd_add_inst-nobin_SOURCES = \
     137                ../x11/Installer/VBoxRandR.sh \
     138                ../x11/Installer/98vboxadd-xclient \
     139                ../x11/Installer/vboxclient.desktop \
     140                ../x11/Installer/vboxvideo.ids \
     141                ../x11/Installer/x11config.pl \
     142                ../x11/Installer/x11config15.pl
     143
     144
     145INSTALLS += GuestDrivers-src
     146GuestDrivers-src_INST = bin/additions/src/
     147GuestDrivers-src_MODE = a+r,u+w
     148GuestDrivers-src_SOURCES = Makefile
     149
     150# this file needs editing before it can be included in the generic installer.
     151$(VBOX_FBSD_ADD_INS_OUT_DIR)/install.sh: \
     152        $(VBOX_PATH_FREEBSD_ADDITION_INSTALLER)/install.sh | $$(dir $$@)
     153        $(QUIET)$(SED) \
     154            -e "s;_VERSION_;$(VBOX_VERSION_STRING);g" \
     155            -e "s;_BUILD_;$(shell date);g" \
     156            -e "s;_OSE_;$(VBOX_OSE);g" \
     157            -e "s;_BUILDTYPE_;$(KBUILD_TYPE);g" \
     158            -e "s;_ARCH_;$(KBUILD_TARGET_ARCH);g" \
     159            --output $(VBOX_FBSD_ADD_INS_OUT_DIR)/install_.sh \
     160            $<
     161        $(QUIET)$(INSTALL) -m 0755 $(VBOX_FBSD_ADD_INS_OUT_DIR)/install_.sh $@
     162        $(QUIET)$(RM) $(VBOX_FBSD_ADD_INS_OUT_DIR)/install_.sh
     163OTHERS_CLEAN += $(VBOX_FBSD_ADD_INS_OUT_DIR)/install.sh
     164
    53165
    54166include $(KBUILD_PATH)/subfooter.kmk
    55167
     168
     169#
     170# Build the FreeBSD Guest Additions installer package.
     171#
     172# Note that $(PATH_SUB_CURRENT) was changed by subfooter.kmk above and
     173# any references should be made via variables assigned a know value via := .
     174#
     175# We need to depend on all source files for the additions and shared
     176# folders kernel modules.
     177## @todo Replace the wildcard stuff by the correct file lists now that
     178#        we've got everything included.
     179#
    56180$(PATH_BIN)/additions/VBoxFreeBSDAdditions.tbz: \
    57                 $(VBOX_VERSION_STAMP) \
    58                 $(VBOX_PATH_FREEBSD_ADDITION_INSTALLER)/pkg-descr \
    59                 $(VBOX_PATH_FREEBSD_ADDITION_INSTALLER)/vboxguest.sh \
    60                 $(VBOX_PATH_X11_ADDITION_INSTALLER)/98vboxadd-xclient \
    61                 $(VBOX_PATH_X11_ADDITION_INSTALLER)/x11config.pl \
    62                 $(PATH_BIN)/additions/vboxguest.ko \
    63                 $(PATH_BIN)/additions/vboxvideo.ko \
    64                 $(PATH_BIN)/additions/vboxvfs.ko \
    65                 $(PATH_BIN)/additions/VBoxClient \
    66                 $(PATH_BIN)/additions/VBoxService \
    67                 $(PATH_BIN)/additions/VBoxControl \
    68                 $(PATH_BIN)/additions/vboxvideo_drv_13.so \
    69                 $(PATH_BIN)/additions/vboxvideo_drv_14.so \
    70                 $(PATH_BIN)/additions/vboxvideo_drv_70.so \
    71                 $(PATH_BIN)/additions/vboxvideo_drv_71.so \
    72                 $(PATH_BIN)/additions/vboxmouse_drv_14.so \
    73                 $(PATH_BIN)/additions/vboxmouse_drv_70.so \
    74                 $(PATH_BIN)/additions/vboxmouse_drv_71.so \
    75                 $(PATH_SUB_CURRENT)/freebsd/Makefile.kmk
    76         $(call MSG_L1,Installing guest additions)
    77         @# Clear out the existing package files if needed
    78         $(QUIET)$(RM) -Rf -- $(VBOX_FBSD_ADD_INS_OUT_DIR)
    79         $(QUIET)$(MKDIR) -p $(VBOX_FBSD_ADD_INS_OUT_DIR)
    80         $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_FREEBSD_ADDITION_INSTALLER)/vboxguest.sh         $(VBOX_FBSD_ADD_INS_OUT_DIR)/vboxguest.sh
    81         $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_X11_ADDITION_INSTALLER)/98vboxadd-xclient        $(VBOX_FBSD_ADD_INS_OUT_DIR)/1099.vboxclient
    82         $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_X11_ADDITION_INSTALLER)/x11config.pl             $(VBOX_FBSD_ADD_INS_OUT_DIR)/x11config.pl
    83         $(QUIET)$(CP) -f $(PATH_BIN)/additions/vboxguest.ko                                     $(VBOX_FBSD_ADD_INS_OUT_DIR)/vboxguest.ko
    84         $(QUIET)$(if $(VBOX_DO_STRIP),strip $(VBOX_FBSD_ADD_INS_OUT_DIR)/vboxguest.ko,)
    85         $(QUIET)$(VBOX_FBSD_ADD_BIN_COPY) $(PATH_BIN)/additions/VBoxClient                      $(VBOX_FBSD_ADD_INS_OUT_DIR)/VBoxClient
    86         $(QUIET)$(VBOX_FBSD_ADD_BIN_COPY) $(PATH_BIN)/additions/VBoxService                     $(VBOX_FBSD_ADD_INS_OUT_DIR)/VBoxService
    87         $(QUIET)$(VBOX_FBSD_ADD_BIN_COPY) $(PATH_BIN)/additions/VBoxControl                     $(VBOX_FBSD_ADD_INS_OUT_DIR)/VBoxControl
    88         $(QUIET)$(VBOX_FBSD_ADD_BIN_COPY) $(PATH_BIN)/additions/vboxvideo_drv_13.so             $(VBOX_FBSD_ADD_INS_OUT_DIR)/vboxvideo_drv_13.so
    89         $(QUIET)$(VBOX_FBSD_ADD_BIN_COPY) $(PATH_BIN)/additions/vboxvideo_drv_14.so             $(VBOX_FBSD_ADD_INS_OUT_DIR)/vboxvideo_drv_14.so
    90         $(QUIET)$(VBOX_FBSD_ADD_BIN_COPY) $(PATH_BIN)/additions/vboxvideo_drv_70.so             $(VBOX_FBSD_ADD_INS_OUT_DIR)/vboxvideo_drv_70.so
    91         $(QUIET)$(VBOX_FBSD_ADD_BIN_COPY) $(PATH_BIN)/additions/vboxvideo_drv_71.so             $(VBOX_FBSD_ADD_INS_OUT_DIR)/vboxvideo_drv_71.so
    92         $(QUIET)$(VBOX_FBSD_ADD_BIN_COPY) $(PATH_BIN)/additions/vboxmouse_drv_14.so             $(VBOX_FBSD_ADD_INS_OUT_DIR)/vboxmouse_drv_14.so
    93         $(QUIET)$(VBOX_FBSD_ADD_BIN_COPY) $(PATH_BIN)/additions/vboxmouse_drv_70.so             $(VBOX_FBSD_ADD_INS_OUT_DIR)/vboxmouse_drv_70.so
    94         $(QUIET)$(VBOX_FBSD_ADD_BIN_COPY) $(PATH_BIN)/additions/vboxmouse_drv_71.so             $(VBOX_FBSD_ADD_INS_OUT_DIR)/vboxmouse_drv_71.so
    95         $(call MSG_L1,Creating install package: $@)
    96         $(QUIET)$(VBOX_MAKESELF) $(VBOX_FBSD_ADD_INS_OUT_DIR) $@ \
    97                 "VirtualBox $(VBOX_VERSION_STRING) Guest Additions for FreeBSD installation" /bin/sh ./install.sh " 1> /dev/null 2> /dev/null"
     181                $(INSTARGET_fbsd_add_inst-nobin) \
     182                $(INSTARGET_fbsd_add_inst-bin) \
     183                $(VBOX_FBSD_ADD_INS_FILES) \
     184                $(VBOX_FBSD_ADD_INS_MODULES) \
     185                $(VBOX_FBSD_ADD_INS_OUT_DIR)/install.sh \
     186                $(wildcard $(PATH_BIN)/additions/src/*) \
     187                $(wildcard $(PATH_BIN)/additions/src/*/*) \
     188                $(wildcard $(PATH_BIN)/additions/src/*/*/*) \
     189                $(wildcard $(PATH_BIN)/additions/src/*/*/*/*) \
     190                $(VBOX_VERSION_STAMP)
     191        pkg_create \
     192                -I $(VBOX_PATH_FREEBSD_ADDITION_INSTALLER)/install.sh \
     193                -c $(VBOX_PATH_FREEBSD_ADDITION_INSTALLER)/pkg-comment \
     194                -d $(VBOX_PATH_FREEBSD_ADDITION_INSTALLER)/pkg-descr \
     195                -f $(VBOX_PATH_FREEBSD_ADDITION_INSTALLER)/pkg-plist \
     196                $@
    98197
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette