numam-dpdk/mk/rte.sdkbuild.mk
Bruce Richardson 1da6702e3c mk: add note about make system deprecation
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>
2020-05-19 18:04:19 +02:00

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: