VirtualBox

Changeset 22917 in vbox


Ignore:
Timestamp:
Sep 10, 2009 2:15:55 PM (15 years ago)
Author:
vboxsync
Message:

Additions/linux/installer: kBuild-ify the Makefile, part 1

File:
1 edited

Legend:

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

    r22882 r22917  
    3030
    3131#
     32# Globals
     33#
     34VBOX_LNX_ADD_INS_OUT_DIR           := $(PATH_TARGET)/Additions/Installer/linux
     35BLDDIRS                            += \
     36                $(VBOX_LNX_ADD_INS_OUT_DIR) \
     37                $(VBOX_LNX_ADD_INS_OUT_DIR)/module
     38VBOX_PATH_LINUX_ADDITION_INSTALLER := $(PATH_SUB_CURRENT)/installer
     39VBOX_PATH_X11_ADDITION_INSTALLER   := $(PATH_ROOT)/src/VBox/Additions/x11/Installer
     40
     41#
    3242# Targets
    3343#
    3444ifndef VBOX_OSE
     45 BLDDIRS  += $(VBOX_LNX_ADD_INS_OUT_DIR)
    3546 PACKING     += $(PATH_BIN)/additions/VBoxLinuxAdditions.run
    3647 OTHER_CLEAN += $(PACKING)
     
    3849 VBOX_SELINUX_CMPLD := $(PATH_SUB_CURRENT)/selinux-fedora/vbox_x11.pp
    3950endif
    40 
    41 #
    42 # Globals
    43 #
    44 VBOX_LNX_ADD_INS_OUT_DIR           := $(PATH_TARGET)/Additions/Installer/linux
    45 BLDDIRS                            += $(VBOX_LNX_ADD_INS_OUT_DIR)
    46 VBOX_PATH_LINUX_ADDITION_INSTALLER := $(PATH_SUB_CURRENT)/installer
    47 VBOX_PATH_X11_ADDITION_INSTALLER   := $(PATH_ROOT)/src/VBox/Additions/x11/Installer
    4851
    4952ifeq ($(KBUILD_TYPE),debug)
     
    9093                $(VBOX_PATH_X11_ADDITION_INSTALLER)/vboxclient.desktop \
    9194                $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/vboxadd.sh \
    92                 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/install.sh \
     95                $(VBOX_LNX_ADD_INS_OUT_DIR)/install_.sh \
    9396                $(PATH_ROOT)/src/VBox/Installer/linux/routines.sh \
    9497                $(VBOX_PATH_X11_ADDITION_INSTALLER)/vboxvideo.ids \
     
    9699                $(VBOX_PATH_X11_ADDITION_INSTALLER)/x11config15.pl \
    97100                $(VBOX_PATH_X11_ADDITION_INSTALLER)/linux_xorg_suse11.conf \
    98                 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/Makefile.include.header \
    99                 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/Makefile.include.footer \
    100                 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/Makefile.test \
    101                 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/test.c \
    102                 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/Makefile.test.drm \
    103                 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/test_drm.c \
    104101                $(PATH_BIN)/additions/vboxmouse_drv.o \
    105102                $(PATH_BIN)/additions/vboxmouse_drv_70.so \
     
    126123                $(PATH_BIN)/additions/VBoxOGL.so \
    127124                $(VBOX_SELINUX_CMPLD) \
     125                $(VBOX_LNX_ADD_INS_OUT_DIR)/module \
    128126                $(wildcard $(PATH_BIN)/additions/src/*) \
    129127                $(wildcard $(PATH_BIN)/additions/src/*/*) \
     
    131129                $(wildcard $(PATH_BIN)/additions/src/*/*/*/*) \
    132130                $(VBOX_VERSION_STAMP)
    133         $(call MSG_L1,Creating $@)
    134         $(QUIET)$(MKDIR) -p $(VBOX_LNX_ADD_INS_OUT_DIR)
    135 # Remove target directory first, otherwise the behaviour of cp will not be
     131# Remove target directories first, otherwise the behaviour of cp will not be
    136132# what we want if it already exists. See the cp manual page for more details.
    137         $(QUIET)$(RM) -Rf -- $(VBOX_LNX_ADD_INS_OUT_DIR)/module
    138         $(QUIET)cp -af $(PATH_BIN)/additions/src $(VBOX_LNX_ADD_INS_OUT_DIR)/module
    139         $(QUIET)$(MKDIR) -p $(VBOX_LNX_ADD_INS_OUT_DIR)/module/test
    140         $(QUIET)$(INSTALL) -m 0644 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/Makefile.test  $(VBOX_LNX_ADD_INS_OUT_DIR)/module/test/Makefile
    141         $(QUIET)$(INSTALL) -m 0644 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/test.c         $(VBOX_LNX_ADD_INS_OUT_DIR)/module/test/
    142         $(QUIET)$(MKDIR) -p $(VBOX_LNX_ADD_INS_OUT_DIR)/module/test_drm
    143         $(QUIET)$(INSTALL) -m 0644 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/Makefile.include.header  $(VBOX_LNX_ADD_INS_OUT_DIR)/module/test_drm
    144         $(QUIET)$(INSTALL) -m 0644 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/Makefile.include.footer  $(VBOX_LNX_ADD_INS_OUT_DIR)/module/test_drm
    145         $(QUIET)$(INSTALL) -m 0644 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/Makefile.test.drm  $(VBOX_LNX_ADD_INS_OUT_DIR)/module/test_drm/Makefile
    146         $(QUIET)$(INSTALL) -m 0644 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/test_drm.c     $(VBOX_LNX_ADD_INS_OUT_DIR)/module/test_drm/
     133        $(QUIET)$(RM) -Rf -- $(VBOX_LNX_ADD_INS_OUT_DIR)/module/vboxguest
     134        $(QUIET)cp -af $(PATH_BIN)/additions/src/vboxguest $(VBOX_LNX_ADD_INS_OUT_DIR)/module
     135        $(QUIET)$(RM) -Rf -- $(VBOX_LNX_ADD_INS_OUT_DIR)/module/vboxvfs
     136        $(QUIET)cp -af $(PATH_BIN)/additions/src/vboxvfs $(VBOX_LNX_ADD_INS_OUT_DIR)/module
     137        $(QUIET)$(RM) -Rf -- $(VBOX_LNX_ADD_INS_OUT_DIR)/module/vboxvideo_drm
     138        $(QUIET)cp -af $(PATH_BIN)/additions/src/vboxvideo_drm $(VBOX_LNX_ADD_INS_OUT_DIR)/module
    147139        $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/VBoxService                $(VBOX_LNX_ADD_INS_OUT_DIR)/vboxadd-service
    148140        $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/VBoxClient                 $(VBOX_LNX_ADD_INS_OUT_DIR)/VBoxClient
    149141        $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/VBoxControl                $(VBOX_LNX_ADD_INS_OUT_DIR)/VBoxControl
    150         $(QUIET)$(SED) \
    151             -e "s;_VERSION_;$(VBOX_VERSION_STRING);g" \
    152             -e "s;_BUILD_;$(shell date);g" \
    153             -e "s;_OSE_;$(VBOX_OSE);g" \
    154             -e "s;_BUILDTYPE_;$(KBUILD_TYPE);g" \
    155             -e "s;_ARCH_;$(KBUILD_TARGET_ARCH);g" \
    156             --output $(VBOX_LNX_ADD_INS_OUT_DIR)/install_.sh \
    157             $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/install.sh
    158142        $(QUIET)$(INSTALL) -m 0755 $(VBOX_LNX_ADD_INS_OUT_DIR)/install_.sh $(VBOX_LNX_ADD_INS_OUT_DIR)/install.sh
    159143        $(QUIET)$(RM) $(VBOX_LNX_ADD_INS_OUT_DIR)/install_.sh
     
    198182                "VirtualBox $(VBOX_VERSION_STRING) Guest Additions for Linux installation" /bin/sh ./install.sh "> /dev/null"
    199183
     184
     185# files that need editing before they can be included in the generic installer.
     186$(VBOX_LNX_ADD_INS_OUT_DIR)/install_.sh: \
     187        $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/install.sh | $$(dir $$@)
     188        $(QUIET)$(SED) \
     189            -e "s;_VERSION_;$(VBOX_VERSION_STRING);g" \
     190            -e "s;_BUILD_;$(shell date);g" \
     191            -e "s;_OSE_;$(VBOX_OSE);g" \
     192            -e "s;_BUILDTYPE_;$(KBUILD_TYPE);g" \
     193            -e "s;_ARCH_;$(KBUILD_TARGET_ARCH);g" \
     194            --output $@ \
     195            $<
     196
     197
     198#
     199# Install the sources of our (sanity) test kernel module
     200#
     201INSTALLS += LnxAddTest-src
     202LnxAddTest-src_INST    = obj/Additions/Installer/linux/module/test
     203LnxAddTest-src_MODE    = a+r,u+w
     204LnxAddTest-src_SOURCES = \
     205                linux/installer/Makefile.test=>Makefile \
     206                linux/installer/test.c
     207
     208
     209#
     210# Install the sources of our (sanity) test kernel rendering (DRM) module
     211#
     212INSTALLS += LnxAddDRM-src
     213LnxAddDRM-src_INST    = obj/Additions/Installer/linux/module/test_drm
     214LnxAddDRM-src_MODE    = a+r,u+w
     215LnxAddDRM-src_SOURCES = \
     216                linux/installer/Makefile.include.header \
     217                linux/installer/Makefile.include.footer \
     218                linux/installer/Makefile.test.drm=>Makefile \
     219                linux/installer/test_drm.c
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