]> git.proxmox.com Git - ceph.git/blame - ceph/src/spdk/dpdk/mk/rte.sdkbuild.mk
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / spdk / dpdk / mk / rte.sdkbuild.mk
CommitLineData
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#
7ifeq (,$(wildcard $(RTE_OUTPUT)/.config))
8 $(error "need a make config first")
9else
10 include $(RTE_SDK)/mk/rte.vars.mk
11endif
12
13# allow exec-env specific targets
14-include $(RTE_SDK)/mk/exec-env/$(RTE_EXEC_ENV)/rte.custom.mk
15
16buildtools: | lib
17kernel: | lib
18drivers: | lib buildtools
19app: | lib buildtools drivers
20test: | lib buildtools drivers
21
22#
23# build and clean targets
24#
25
26CLEANDIRS = $(addsuffix _clean,$(ROOTDIRS-y) $(ROOTDIRS-n) $(ROOTDIRS-))
27
28.PHONY: build
29build: $(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
38clean: $(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
64RTE_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
74all: build
75
76.PHONY: FORCE
77FORCE: