VirtualBox

source: vbox/trunk/src/VBox/Frontends/VBoxShell/Config.kmk

Last change on this file was 102914, checked in by vboxsync, 6 months ago

Frontends/VBoxShell: Added linting support to the Makefile [SCM build fix].

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.4 KB
Line 
1# $Id: Config.kmk 102914 2024-01-17 10:40:08Z vboxsync $
2## @file
3# kBuild Configuration file for VBoxShell.
4#
5
6#
7# Copyright (C) 2024 Oracle and/or its affiliates.
8#
9# This file is part of VirtualBox base platform packages, as
10# available from https://www.virtualbox.org.
11#
12# This program is free software; you can redistribute it and/or
13# modify it under the terms of the GNU General Public License
14# as published by the Free Software Foundation, in version 3 of the
15# License.
16#
17# This program is distributed in the hope that it will be useful, but
18# WITHOUT ANY WARRANTY; without even the implied warranty of
19# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20# General Public License for more details.
21#
22# You should have received a copy of the GNU General Public License
23# along with this program; if not, see <https://www.gnu.org/licenses>.
24#
25# SPDX-License-Identifier: GPL-3.0-only
26#
27
28VBOX_VBOXSHELL_CONFIG_KMK_INCLUDED = 1
29
30# Include the top-level configure file.
31ifndef VBOX_ROOT_CONFIG_KMK_INCLUDED
32 include $(PATH_ROOT)/Config.kmk
33endif
34
35#
36# Globals
37#
38VBOX_PATH_VBOXSHELL_SRC := $(PATH_ROOT)/src/VBox/Frontends/VBoxShell
39
40#
41# List of python sources that should be linted.
42#
43VBOX_VBOXSHELL_PYTHON_SOURCES :=
44VBOX_VBOXSHELL_PYLINT_TARGETS :=
45
46ifdef VBOX_WITH_PYLINT
47 TESTING +=
48endif
49
50#
51# Process python sources.
52#
53if1of ($(KBUILD_TARGET), win os2)
54 VBOX_PYTHONPATH_VBOXSHELL = $(PYTHONPATH);$(VBOX_PATH_VBOXSHELL_SRC)
55else
56 VBOX_PYTHONPATH_VBOXSHELL = $(PYTHONPATH):$(VBOX_PATH_VBOXSHELL_SRC)
57endif
58BLDDIRS += $(PATH_TARGET)/pylint
59
60define def_vbox_vboxshell_py_check
61 $(eval name:=$(basename $(notdir $(py))))
62
63 pylint: $(name)-py-phony.o
64 $(name).o: $(name)-py-phony.o
65 $(PATH_TARGET)/pylint/$(name).o $(name)-py-phony.o:: $(py) | $(PATH_TARGET)/pylint/
66 ifdef VBOX_WITH_PYLINT
67 $(QUIET2)$(call MSG_L1,Subjecting $(py) to pylint...)
68 $(QUIET)$(REDIRECT) -C "$(dir $(py))" -E LC_ALL=C -E PYTHONPATH="$(VBOX_PYTHONPATH_VBOXSHELL)" -- \
69 $(VBOX_PYLINT) --rcfile=$(VBOX_PATH_VBOXSHELL_SRC)/pylintrc $$(VBOX_PYLINT_FLAGS) $$($(py)_VBOX_PYLINT_FLAGS) ./$(notdir $(py))
70 endif
71 $(QUIET)$(APPEND) -t "$(PATH_TARGET)/pylint/$(name).o"
72 TESTING += $(name)-py-phony.o
73 VBOX_VBOXSHELL_PYLINT_TARGETS += $(PATH_TARGET)/pylint/$(name).o
74endef # def_vbox_vboxshell_py_check
75
76
77define def_vbox_vboxshell_process_python_sources
78 if $(words $(_SUB_MAKEFILE_STACK)) <= 0 || "$1" == "FORCE"
79 $(foreach py, $(VBOX_VBOXSHELL_PYTHON_SOURCES), $(eval $(def_vbox_vboxshell_py_check)))
80 endif
81endef
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use