]>
Commit | Line | Data |
---|---|---|
11fdf7f2 TL |
1 | # SPDX-License-Identifier: BSD-3-Clause |
2 | # Copyright(c) 2010-2015 Intel Corporation | |
3 | ||
4 | # | |
5 | # include rte.vars.mk if config file exists | |
6 | # | |
7 | ifeq (,$(wildcard $(RTE_OUTPUT)/.config)) | |
8 | $(error "need a make config first") | |
9 | else | |
10 | include $(RTE_SDK)/mk/rte.vars.mk | |
11 | endif | |
12 | ||
13 | # allow exec-env specific targets | |
14 | -include $(RTE_SDK)/mk/exec-env/$(RTE_EXEC_ENV)/rte.custom.mk | |
15 | ||
16 | buildtools: | lib | |
17 | kernel: | lib | |
18 | drivers: | lib buildtools | |
19 | app: | lib buildtools drivers | |
20 | test: | lib buildtools drivers | |
21 | ||
22 | # | |
23 | # build and clean targets | |
24 | # | |
25 | ||
26 | CLEANDIRS = $(addsuffix _clean,$(ROOTDIRS-y) $(ROOTDIRS-n) $(ROOTDIRS-)) | |
27 | ||
28 | .PHONY: build | |
29 | build: $(ROOTDIRS-y) | |
30 | @echo "Build complete [$(RTE_TARGET)]" | |
f67539c2 TL |
31 | @echo "==== NOTE ====" |
32 | @echo "It is recommended to build DPDK using 'meson' and 'ninja'" | |
33 | @echo "See https://doc.dpdk.org/guides/linux_gsg/build_dpdk.html for instructions" | |
34 | @echo "Building DPDK with 'make' will be deprecated in a future release" | |
35 | @echo "==============" | |
11fdf7f2 TL |
36 | |
37 | .PHONY: clean | |
38 | clean: $(CLEANDIRS) | |
39 | @rm -rf $(RTE_OUTPUT)/include $(RTE_OUTPUT)/app \ | |
40 | $(RTE_OUTPUT)/lib \ | |
41 | $(RTE_OUTPUT)/hostlib $(RTE_OUTPUT)/kmod | |
42 | @[ -d $(RTE_OUTPUT)/include ] || mkdir -p $(RTE_OUTPUT)/include | |
43 | @$(RTE_SDK)/buildtools/gen-config-h.sh $(RTE_OUTPUT)/.config \ | |
44 | > $(RTE_OUTPUT)/include/rte_config.h | |
45 | $(Q)$(MAKE) -f $(RTE_SDK)/GNUmakefile gcovclean | |
46 | @echo Clean complete | |
47 | ||
11fdf7f2 TL |
48 | .SECONDEXPANSION: |
49 | .PHONY: $(ROOTDIRS-y) $(ROOTDIRS-) | |
50 | $(ROOTDIRS-y) $(ROOTDIRS-): | |
51 | @[ -d $(BUILDDIR)/$@ ] || mkdir -p $(BUILDDIR)/$@ | |
52 | @echo "== Build $@" | |
53 | $(Q)$(MAKE) S=$@ -f $(RTE_SRCDIR)/$@/Makefile -C $(BUILDDIR)/$@ all | |
54 | @if [ $@ = drivers ]; then \ | |
55 | $(MAKE) -f $(RTE_SDK)/mk/rte.combinedlib.mk; \ | |
56 | fi | |
57 | ||
58 | %_clean: | |
59 | @echo "== Clean $*" | |
60 | $(Q)if [ -f $(RTE_SRCDIR)/$*/Makefile -a -d $(BUILDDIR)/$* ]; then \ | |
61 | $(MAKE) S=$* -f $(RTE_SRCDIR)/$*/Makefile -C $(BUILDDIR)/$* clean ; \ | |
62 | fi | |
63 | ||
64 | RTE_MAKE_SUBTARGET ?= all | |
65 | ||
66 | %_sub: $(addsuffix _sub,$(*)) | |
67 | @echo $(addsuffix _sub,$(*)) | |
68 | @[ -d $(BUILDDIR)/$* ] || mkdir -p $(BUILDDIR)/$* | |
69 | @echo "== Build $*" | |
70 | $(Q)$(MAKE) S=$* -f $(RTE_SRCDIR)/$*/Makefile -C $(BUILDDIR)/$* \ | |
71 | $(RTE_MAKE_SUBTARGET) | |
72 | ||
73 | .PHONY: all | |
74 | all: build | |
75 | ||
76 | .PHONY: FORCE | |
77 | FORCE: |