summaryrefslogtreecommitdiffstats
path: root/BaseTools/Makefile
diff options
context:
space:
mode:
authorDongao Guo <dongao.guo@intel.com>2018-08-28 23:26:56 +0800
committerLiming Gao <liming.gao@intel.com>2018-09-12 13:02:11 +0800
commit4c0d19e5bf50c0edc33914a1d3e8b69943d5473f (patch)
tree35c9ca0b7a5f5f28ef38529a405472f336676e89 /BaseTools/Makefile
parent73dbd6afab356663c86ed412a0440a96e8064dd7 (diff)
downloadedk2-4c0d19e5bf50c0edc33914a1d3e8b69943d5473f.tar.gz
edk2-4c0d19e5bf50c0edc33914a1d3e8b69943d5473f.tar.bz2
edk2-4c0d19e5bf50c0edc33914a1d3e8b69943d5473f.zip
BaseTools: Support multi thread build Basetool on Windows
Add NmakeSubdirs.py to replace NmakeSubdirs.bat in VS Makefile. This script will invoke nmake in multi thread mode. It can save more than half time of BaseTools C clean build. GCC make supports multiple thread in make phase. So, GNUmakefile doesn't need apply this script. single task or job=1: just single thread and invoke subprocess,subprocess will use system.stdout to print output. multi task: thread number is logic cpu count.All subprocess output will pass to python script by PIPE and then script print it to system.stdout. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Dongao Guo<dongao.guo@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> Test-by: Liming Gao <liming.gao@intel.com>
Diffstat (limited to 'BaseTools/Makefile')
-rw-r--r--BaseTools/Makefile12
1 files changed, 6 insertions, 6 deletions
diff --git a/BaseTools/Makefile b/BaseTools/Makefile
index 3736d85f5f..b98cd85cb7 100644
--- a/BaseTools/Makefile
+++ b/BaseTools/Makefile
@@ -1,7 +1,7 @@
## @file
# Windows makefile for Base Tools project build.
#
-# Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@@ -20,19 +20,19 @@ SUBDIRS = $(BASE_TOOLS_PATH)\Source\C $(BASE_TOOLS_PATH)\Source\Python
all: c python
c :
- @$(BASE_TOOLS_PATH)\Source\C\Makefiles\NmakeSubdirs.bat all $(BASE_TOOLS_PATH)\Source\C
+ @$(PYTHON_HOME)\python.exe $(BASE_TOOLS_PATH)\Source\C\Makefiles\NmakeSubdirs.py all $(BASE_TOOLS_PATH)\Source\C
python:
- @$(BASE_TOOLS_PATH)\Source\C\Makefiles\NmakeSubdirs.bat all $(BASE_TOOLS_PATH)\Source\Python
+ @$(PYTHON_HOME)\python.exe $(BASE_TOOLS_PATH)\Source\C\Makefiles\NmakeSubdirs.py all $(BASE_TOOLS_PATH)\Source\Python
subdirs: $(SUBDIRS)
- @$(BASE_TOOLS_PATH)\Source\C\Makefiles\NmakeSubdirs.bat all $**
+ @$(PYTHON_HOME)\python.exe $(BASE_TOOLS_PATH)\Source\C\Makefiles\NmakeSubdirs.py all $**
.PHONY: clean
clean:
- @$(BASE_TOOLS_PATH)\Source\C\Makefiles\NmakeSubdirs.bat clean $(SUBDIRS)
+ $(PYTHON_HOME)\python.exe $(BASE_TOOLS_PATH)\Source\C\Makefiles\NmakeSubdirs.py clean $(SUBDIRS)
.PHONY: cleanall
cleanall:
- @$(BASE_TOOLS_PATH)\Source\C\Makefiles\NmakeSubdirs.bat cleanall $(SUBDIRS)
+ $(PYTHON_HOME)\python.exe $(BASE_TOOLS_PATH)\Source\C\Makefiles\NmakeSubdirs.py cleanall $(SUBDIRS)