VirtualBox

source: vbox/trunk/src/VBox/HostDrivers/Makefile.kmk@ 67954

Last change on this file since 67954 was 66191, checked in by vboxsync, 7 years ago

bugref:4567: Linux kernel driver maintenance: do not try to do test builds of Linux kernel modules if the target architecture is not the same as the host one, e.g. 32-bit on 64-bit.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.9 KB
Line 
1# $Id: Makefile.kmk 66191 2017-03-22 10:38:00Z vboxsync $
2## @file
3# Top-level makefile for the VBox Host drivers.
4#
5
6#
7# Copyright (C) 2006-2016 Oracle Corporation
8#
9# This file is part of VirtualBox Open Source Edition (OSE), as
10# available from http://www.virtualbox.org. This file is free software;
11# you can redistribute it and/or modify it under the terms of the GNU
12# General Public License (GPL) as published by the Free Software
13# Foundation, in version 2 as it comes in the "COPYING" file of the
14# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16#
17
18SUB_DEPTH = ../../..
19include $(KBUILD_PATH)/subheader.kmk
20
21# Include sub-makefiles.
22include $(PATH_SUB_CURRENT)/Support/Makefile.kmk
23
24if !defined(VBOX_ONLY_DOCS) \
25 && !defined(VBOX_ONLY_EXTPACKS) \
26 && !defined(VBOX_ONLY_VALIDATIONKIT)
27 if1of ($(KBUILD_TARGET),win)
28 include $(PATH_SUB_CURRENT)/win/Makefile.kmk
29 endif
30 ifdef VBOX_WITH_USB
31 include $(PATH_SUB_CURRENT)/VBoxUSB/Makefile.kmk
32 endif
33 if1of ($(KBUILD_TARGET), darwin solaris win linux freebsd)
34 ifdef VBOX_WITH_NETFLT
35 include $(PATH_SUB_CURRENT)/VBoxNetFlt/Makefile.kmk
36 endif
37 endif
38 if1of ($(KBUILD_TARGET), darwin solaris win linux freebsd)
39 ifdef VBOX_WITH_NETADP
40 include $(PATH_SUB_CURRENT)/VBoxNetAdp/Makefile.kmk
41 endif
42 endif
43 if1of ($(KBUILD_TARGET), darwin freebsd linux solaris)
44 include $(PATH_SUB_CURRENT)/adpctl/Makefile.kmk
45 endif
46 if1of ($(KBUILD_TARGET), darwin freebsd linux)
47 include $(PATH_SUB_CURRENT)/$(KBUILD_TARGET)/Makefile.kmk
48 endif
49
50 if1of ($(KBUILD_TARGET), linux)
51 ifdef VBOX_WITH_PCI_PASSTHROUGH
52 include $(PATH_SUB_CURRENT)/VBoxPci/Makefile.kmk
53 endif
54 endif
55
56endif # !defined(VBOX_ONLY_DOCS) && !defined(VBOX_ONLY_VALIDATIONKIT)
57
58
59#
60# Build test for the linux host kernel modules.
61#
62if defined(VBOX_WITH_TESTCASES) \
63 && !defined(VBOX_ONLY_SDK) \
64 && !defined(VBOX_ONLY_DOCS) \
65 && !defined(VBOX_ONLY_VALIDATIONKIT) \
66 && "$(KBUILD_TARGET)" == "linux" \
67 && "$(KBUILD_HOST_ARCH)" == "$(KBUILD_TARGET_ARCH)"
68 VBOX_LNX_MOD_TEST = $(PATH_TARGET)/tsthost_mod
69 VBOX_LNX_MOD_TEST_TARGET = $(PATH_TARGET)/tsthost_mod.run
70 TESTING += $(VBOX_LNX_MOD_TEST_TARGET)
71 OTHERS += $(VBOX_LNX_MOD_TEST_TARGET)
72 OTHER_CLEAN += $(VBOX_LNX_MOD_TEST_TARGET)
73 $$(VBOX_LNX_MOD_TEST_TARGET): \
74 $$(vboxdrv-mod_2_STAGE_TARGETS) \
75 $$(VBoxNetFlt-src_2_STAGE_TARGETS) \
76 $$(VBoxNetAdp-src_2_STAGE_TARGETS) \
77 $$(VBoxPci-src_2_STAGE_TARGETS) \
78 $$(HostDrivers-scripts_2_STAGE_TARGETS)
79 $(QUIET)$(call MSG_L1,Doing a test build of the host kernel modules)
80 $(QUIET)$(RM) -f -- "$@"
81 $(QUIET)$(RM) -Rf -- "$(VBOX_LNX_MOD_TEST)"
82 $(QUIET)$(MKDIR) -p -- "$(VBOX_LNX_MOD_TEST)"
83 $(QUIET)$(CP) -R -- "$(PATH_STAGE_BIN)/src/" "$(VBOX_LNX_MOD_TEST)/"
84 + $(QUIET)make -C $(VBOX_LNX_MOD_TEST) clean
85 + $(QUIET)make -C $(VBOX_LNX_MOD_TEST)
86 $(QUIET)$(RM) -Rf -- $(VBOX_LNX_MOD_TEST)
87 $(QUIET)$(APPEND) -t "$@" "done"
88
89endif
90
91
92# Let kBuild generate the rules.
93include $(FILE_KBUILD_SUB_FOOTER)
94
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use