devtools: use a common prefix for temporary files
[dpdk.git] / mk / rte.extsubdir.mk
1 # SPDX-License-Identifier: BSD-3-Clause
2 # Copyright(c) 2014 6WIND S.A.
3
4 MAKEFLAGS += --no-print-directory
5
6 ALL_DEPDIRS := $(patsubst DEPDIRS-%,%,$(filter DEPDIRS-%,$(.VARIABLES)))
7
8 # output directory
9 O ?= $(CURDIR)
10 BASE_OUTPUT ?= $(abspath $(O))
11 CUR_SUBDIR ?= .
12
13 .PHONY: all
14 all: $(DIRS-y)
15
16 .PHONY: clean
17 clean: $(DIRS-y)
18
19 .PHONY: $(DIRS-y)
20 $(DIRS-y):
21         @echo "== $@"
22         $(Q)$(MAKE) -C $(@) \
23                 M=$(CURDIR)/$(@)/Makefile \
24                 O=$(BASE_OUTPUT)/$(CUR_SUBDIR)/$(@)/$(RTE_TARGET) \
25                 BASE_OUTPUT=$(BASE_OUTPUT) \
26                 CUR_SUBDIR=$(CUR_SUBDIR)/$(@) \
27                 S=$(CURDIR)/$(@) \
28                 $(filter-out $(DIRS-y),$(MAKECMDGOALS))
29
30 define depdirs_rule
31 $(DEPDIRS-$(1)):
32
33 $(1): | $(DEPDIRS-$(1))
34
35 $(if $(D),$(info $(1) depends on $(DEPDIRS-$(1))))
36 endef
37
38 $(foreach dir,$(ALL_DEPDIRS),\
39         $(eval $(call depdirs_rule,$(dir))))