summaryrefslogtreecommitdiff
path: root/mk/rte.sdkexamples.mk
blob: 5eeec36494731c07160539c402f12984f49775bc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2014 6WIND S.A.

# examples application are seen as external applications which are
# not part of SDK.
BUILDING_RTE_SDK :=
export BUILDING_RTE_SDK

# Build directory is given with O=
O ?= $(RTE_SDK)/examples

# Target for which examples should be built.
T ?= *

# list all available configurations
EXAMPLES_CONFIGS := $(patsubst $(RTE_SRCDIR)/config/defconfig_%,%,\
	$(wildcard $(RTE_SRCDIR)/config/defconfig_$(T)))
EXAMPLES_TARGETS := $(addsuffix _examples,\
	$(filter-out %~,$(EXAMPLES_CONFIGS)))

.PHONY: examples
examples: $(EXAMPLES_TARGETS)

%_examples:
	@echo ================== Build examples for $*
	$(Q)if [ ! -d "${RTE_SDK}/${*}" ]; then \
		echo "Target ${*} does not exist in ${RTE_SDK}/${*}." ; \
		echo -n "Please install DPDK first (make install) or use another " ; \
		echo "target argument (T=target)." ; \
		false ; \
	else \
		$(MAKE) -C examples O=$(abspath $(O)) RTE_TARGET=$(*); \
	fi

EXAMPLES_CLEAN_TARGETS := $(addsuffix _examples_clean,\
	$(filter-out %~,$(EXAMPLES_CONFIGS)))

.PHONY: examples_clean
examples_clean: $(EXAMPLES_CLEAN_TARGETS)

%_examples_clean:
	@echo ================== Clean examples for $*
	$(Q)if [ ! -d "${RTE_SDK}/${*}" ]; then \
		echo "Target ${*} does not exist in ${RTE_SDK}/${*}." ; \
		echo -n "Please install DPDK first (make install) or use another " ; \
		echo "target argument (T=target)." ; \
		false ; \
	else \
		$(MAKE) -C examples O=$(abspath $(O)) RTE_TARGET=$(*) clean; \
	fi