# BSD LICENSE # # Copyright(c) 2010-2012 Intel Corporation. All rights reserved. # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in # the documentation and/or other materials provided with the # distribution. # * Neither the name of Intel Corporation nor the names of its # contributors may be used to endorse or promote products derived # from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # MAKEFLAGS += --no-print-directory # define Q to '@' or not. $(Q) is used to prefix all shell commands to # be executed silently. Q=@ ifdef V ifeq ("$(origin V)", "command line") Q= endif endif export Q ifeq ($(RTE_SDK),) $(error RTE_SDK is not defined) endif RTE_SRCDIR = $(CURDIR) export RTE_SRCDIR BUILDING_RTE_SDK := 1 export BUILDING_RTE_SDK # # We can specify the configuration template when doing the "make # config". For instance: make config T=i686-default-baremetal-gcc # RTE_CONFIG_TEMPLATE := ifdef T ifeq ("$(origin T)", "command line") RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(T) endif endif export RTE_CONFIG_TEMPLATE # # Default output is $(RTE_SRCDIR)/build # output files wil go in a separate directory # ifdef O ifeq ("$(origin O)", "command line") RTE_OUTPUT := $(abspath $(O)) endif endif RTE_OUTPUT ?= $(RTE_SRCDIR)/build export RTE_OUTPUT # the directory where intermediate build files are stored, like *.o, # *.d, *.cmd, ... BUILDDIR = $(RTE_OUTPUT)/build export BUILDDIR export ROOTDIRS-y ROOTDIRS- ROOTDIRS-n .PHONY: default default: all .PHONY: config config: $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk config .PHONY: test test: $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdktest.mk test .PHONY: fast_test ring_test mempool_test perf_test coverage fast_test ring_test mempool_test perf_test coverage: $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdktest.mk $@ .PHONY: testall testall: $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdktestall.mk testall .PHONY: install install: $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk install .PHONY: uninstall uninstall: $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk uninstall .PHONY: doc doc: $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkdoc.mk doc .PHONY: pdfdoc pdfdoc: $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkdoc.mk pdfdoc .PHONY: doxydoc doxydoc: $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkdoc.mk doxydoc .PHONY: docclean docclean: $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkdoc.mk docclean .PHONY: depdirs depdirs: $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkdepdirs.mk depdirs .PHONY: depgraph depgraph: $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkdepdirs.mk depgraph .PHONY: gcovclean gcovclean: $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkgcov.mk gcovclean .PHONY: gcov gcov: $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkgcov.mk gcov # all other build targets %: $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk checkconfig $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkbuild.mk $@