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