1da6702e3c
When anyone uses the make build system, they are to be informed about upcoming plans to deprecate and subsequently remove that system and to use meson and ninja instead. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
78 lines
2.1 KiB
Makefile
78 lines
2.1 KiB
Makefile
# SPDX-License-Identifier: BSD-3-Clause
|
|
# Copyright(c) 2010-2015 Intel Corporation
|
|
|
|
#
|
|
# include rte.vars.mk if config file exists
|
|
#
|
|
ifeq (,$(wildcard $(RTE_OUTPUT)/.config))
|
|
$(error "need a make config first")
|
|
else
|
|
include $(RTE_SDK)/mk/rte.vars.mk
|
|
endif
|
|
|
|
# allow exec-env specific targets
|
|
-include $(RTE_SDK)/mk/exec-env/$(RTE_EXEC_ENV)/rte.custom.mk
|
|
|
|
buildtools: | lib
|
|
kernel: | lib
|
|
drivers: | lib buildtools
|
|
app: | lib buildtools drivers
|
|
test: | lib buildtools drivers
|
|
|
|
#
|
|
# build and clean targets
|
|
#
|
|
|
|
CLEANDIRS = $(addsuffix _clean,$(ROOTDIRS-y) $(ROOTDIRS-n) $(ROOTDIRS-))
|
|
|
|
.PHONY: build
|
|
build: $(ROOTDIRS-y)
|
|
@echo "Build complete [$(RTE_TARGET)]"
|
|
@echo "==== NOTE ===="
|
|
@echo "It is recommended to build DPDK using 'meson' and 'ninja'"
|
|
@echo "See https://doc.dpdk.org/guides/linux_gsg/build_dpdk.html for instructions"
|
|
@echo "Building DPDK with 'make' will be deprecated in a future release"
|
|
@echo "=============="
|
|
|
|
.PHONY: clean
|
|
clean: $(CLEANDIRS)
|
|
@rm -rf $(RTE_OUTPUT)/include $(RTE_OUTPUT)/app \
|
|
$(RTE_OUTPUT)/lib \
|
|
$(RTE_OUTPUT)/hostlib $(RTE_OUTPUT)/kmod
|
|
@[ -d $(RTE_OUTPUT)/include ] || mkdir -p $(RTE_OUTPUT)/include
|
|
@$(RTE_SDK)/buildtools/gen-config-h.sh $(RTE_OUTPUT)/.config \
|
|
> $(RTE_OUTPUT)/include/rte_config.h
|
|
$(Q)$(MAKE) -f $(RTE_SDK)/GNUmakefile gcovclean
|
|
@echo Clean complete
|
|
|
|
.SECONDEXPANSION:
|
|
.PHONY: $(ROOTDIRS-y) $(ROOTDIRS-)
|
|
$(ROOTDIRS-y) $(ROOTDIRS-):
|
|
@[ -d $(BUILDDIR)/$@ ] || mkdir -p $(BUILDDIR)/$@
|
|
@echo "== Build $@"
|
|
$(Q)$(MAKE) S=$@ -f $(RTE_SRCDIR)/$@/Makefile -C $(BUILDDIR)/$@ all
|
|
@if [ $@ = drivers ]; then \
|
|
$(MAKE) -f $(RTE_SDK)/mk/rte.combinedlib.mk; \
|
|
fi
|
|
|
|
%_clean:
|
|
@echo "== Clean $*"
|
|
$(Q)if [ -f $(RTE_SRCDIR)/$*/Makefile -a -d $(BUILDDIR)/$* ]; then \
|
|
$(MAKE) S=$* -f $(RTE_SRCDIR)/$*/Makefile -C $(BUILDDIR)/$* clean ; \
|
|
fi
|
|
|
|
RTE_MAKE_SUBTARGET ?= all
|
|
|
|
%_sub: $(addsuffix _sub,$(*))
|
|
@echo $(addsuffix _sub,$(*))
|
|
@[ -d $(BUILDDIR)/$* ] || mkdir -p $(BUILDDIR)/$*
|
|
@echo "== Build $*"
|
|
$(Q)$(MAKE) S=$* -f $(RTE_SRCDIR)/$*/Makefile -C $(BUILDDIR)/$* \
|
|
$(RTE_MAKE_SUBTARGET)
|
|
|
|
.PHONY: all
|
|
all: build
|
|
|
|
.PHONY: FORCE
|
|
FORCE:
|