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 34PC_FILE := $(shell pkg-config --path libdpdk) 35CFLAGS += -O3 $(shell pkg-config --cflags libdpdk) 36LDFLAGS_SHARED = $(shell pkg-config --libs libdpdk) 37LDFLAGS_STATIC = -Wl,-Bstatic $(shell pkg-config --static --libs libdpdk) 38 39CFLAGS += -I. 40 41OBJS := $(patsubst %.c,build/%.o,$(SRCS-y)) 42 43build/%.o: %.c Makefile $(PC_FILE) | build 44 $(CC) $(CFLAGS) -c $< -o $@ 45 46build/$(APP)-shared: $(OBJS) 47 $(CC) $(OBJS) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) 48 49build/$(APP)-static: $(OBJS) 50 $(CC) $(OBJS) -o $@ $(LDFLAGS) $(LDFLAGS_STATIC) 51 52build: 53 @mkdir -p $@ 54 55.PHONY: clean 56clean: 57 rm -f build/$(APP)* build/*.o 58 rmdir --ignore-fail-on-non-empty build 59 60else 61 62ifeq ($(RTE_SDK),) 63$(error "Please define RTE_SDK environment variable") 64endif 65 66# Default target, can be overridden by command line or environment 67RTE_TARGET ?= x86_64-native-linuxapp-gcc 68 69include $(RTE_SDK)/mk/rte.vars.mk 70 71ifneq ($(CONFIG_RTE_EXEC_ENV_LINUXAPP),y) 72$(info This application can only operate in a linuxapp environment, \ 73please change the definition of the RTE_TARGET environment variable) 74all: 75clean: 76else 77 78INC += $(sort $(wildcard *.h)) 79 80SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) := $(SRCS-y) 81 82CFLAGS += -DALLOW_EXPERIMENTAL_API 83CFLAGS += -I$(SRCDIR) 84CFLAGS += -O3 85CFLAGS += $(WERROR_FLAGS) 86 87include $(RTE_SDK)/mk/rte.extapp.mk 88 89endif 90endif 91