1# SPDX-License-Identifier: BSD-3-Clause 2# Copyright(c) 2010-2018 Intel Corporation 3 4# binary name 5APP = ip_pipeline 6 7# all source are stored in SRCS-y 8SRCS-y := action.c 9SRCS-y += cli.c 10SRCS-y += conn.c 11SRCS-y += kni.c 12SRCS-y += link.c 13SRCS-y += main.c 14SRCS-y += mempool.c 15SRCS-y += parser.c 16SRCS-y += pipeline.c 17SRCS-y += swq.c 18SRCS-y += tap.c 19SRCS-y += thread.c 20SRCS-y += tmgr.c 21SRCS-y += cryptodev.c 22 23# Build using pkg-config variables if possible 24$(shell pkg-config --exists libdpdk) 25ifeq ($(.SHELLSTATUS),0) 26 27all: shared 28.PHONY: shared static 29shared: build/$(APP)-shared 30 ln -sf $(APP)-shared build/$(APP) 31static: build/$(APP)-static 32 ln -sf $(APP)-static build/$(APP) 33 34PKGCONF=pkg-config --define-prefix 35 36PC_FILE := $(shell $(PKGCONF) --path libdpdk) 37CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) 38LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) 39LDFLAGS_STATIC = -Wl,-Bstatic $(shell $(PKGCONF) --static --libs libdpdk) 40 41CFLAGS += -I. 42 43OBJS := $(patsubst %.c,build/%.o,$(SRCS-y)) 44 45build/%.o: %.c Makefile $(PC_FILE) | build 46 $(CC) $(CFLAGS) -c $< -o $@ 47 48build/$(APP)-shared: $(OBJS) 49 $(CC) $(OBJS) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) 50 51build/$(APP)-static: $(OBJS) 52 $(CC) $(OBJS) -o $@ $(LDFLAGS) $(LDFLAGS_STATIC) 53 54build: 55 @mkdir -p $@ 56 57.PHONY: clean 58clean: 59 rm -f build/$(APP)* build/*.o 60 test -d build && rmdir -p build || true 61 62else 63 64ifeq ($(RTE_SDK),) 65$(error "Please define RTE_SDK environment variable") 66endif 67 68# Default target, detect a build directory, by looking for a path with a .config 69RTE_TARGET ?= $(notdir $(abspath $(dir $(firstword $(wildcard $(RTE_SDK)/*/.config))))) 70 71include $(RTE_SDK)/mk/rte.vars.mk 72 73ifneq ($(CONFIG_RTE_EXEC_ENV_LINUX),y) 74$(info This application can only operate in a linux environment, \ 75please change the definition of the RTE_TARGET environment variable) 76all: 77clean: 78else 79 80INC += $(sort $(wildcard *.h)) 81 82SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) := $(SRCS-y) 83 84CFLAGS += -DALLOW_EXPERIMENTAL_API 85CFLAGS += -I$(SRCDIR) 86CFLAGS += -O3 87CFLAGS += $(WERROR_FLAGS) 88 89include $(RTE_SDK)/mk/rte.extapp.mk 90 91endif 92endif 93