https://bugzilla.tianocore.org/show_bug.cgi?id=786 After GNUmakefile dependency is fixed up, it can make with -j N to enable multiple thread build in base tools C source and save build time. In my linux host machine, make -j 4 to compile BaseTools and save ~60% time. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
34 lines
983 B
Makefile
34 lines
983 B
Makefile
## @file
|
|
# GNU/Linux makefile for Base Tools project build.
|
|
#
|
|
# Copyright (c) 2009 - 2017, 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
|
|
# http://opensource.org/licenses/bsd-license.php
|
|
#
|
|
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
#
|
|
|
|
all: subdirs
|
|
|
|
LANGUAGES = C Python
|
|
|
|
SOURCE_SUBDIRS := $(patsubst %,Source/%,$(sort $(LANGUAGES)))
|
|
SUBDIRS := $(SOURCE_SUBDIRS) Tests
|
|
CLEAN_SUBDIRS := $(patsubst %,%-clean,$(sort $(SUBDIRS)))
|
|
|
|
.PHONY: subdirs $(SUBDIRS)
|
|
subdirs: $(SUBDIRS)
|
|
$(SUBDIRS):
|
|
$(MAKE) -C $@
|
|
|
|
Tests: $(SOURCE_SUBDIRS)
|
|
|
|
.PHONY: $(CLEAN_SUBDIRS)
|
|
$(CLEAN_SUBDIRS):
|
|
-$(MAKE) -C $(@:-clean=) clean
|
|
|
|
clean: $(CLEAN_SUBDIRS)
|