summaryrefslogtreecommitdiff
path: root/examples/ipsec-secgw
diff options
context:
space:
mode:
authorBruce Richardson <bruce.richardson@intel.com>2017-10-09 14:13:16 +0100
committerBruce Richardson <bruce.richardson@intel.com>2018-01-30 21:58:59 +0100
commit22119c4591a008abe5de8e395a97fcc09c8dc14a (patch)
treed6e42fc5b35f7a68888aa03c7eca60c82752f449 /examples/ipsec-secgw
parent0eba4ade654bae51877474fb64ab5e79df0f3442 (diff)
downloaddpdk-next-eventdev-22119c4591a008abe5de8e395a97fcc09c8dc14a.zip
dpdk-next-eventdev-22119c4591a008abe5de8e395a97fcc09c8dc14a.tar.gz
dpdk-next-eventdev-22119c4591a008abe5de8e395a97fcc09c8dc14a.tar.xz
examples: use pkg-config in makefiles
Change the example app Makefiles to query if DPDK is installed and registered using pkg-config. If so, build directly using pkg-config info, otherwise fall back to using the original build system with RTE_SDK and RTE_TARGET This commit changes the makefiles for the basic examples, i.e. those which do not have multiple subdirectories underneath the main examples dir. Examples not covered are: * ethtool * multi_process * performance-thread * quota_watermark * netmap_compat * server_node_efd * vm_power_manager Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Luca Boccassi <bluca@debian.org>
Diffstat (limited to 'examples/ipsec-secgw')
-rw-r--r--examples/ipsec-secgw/Makefile27
1 files changed, 27 insertions, 0 deletions
diff --git a/examples/ipsec-secgw/Makefile b/examples/ipsec-secgw/Makefile
index 36acd3f..5a553e6 100644
--- a/examples/ipsec-secgw/Makefile
+++ b/examples/ipsec-secgw/Makefile
@@ -15,6 +15,31 @@ SRCS-y += sa.c
SRCS-y += rt.c
SRCS-y += ipsec-secgw.c
+CFLAGS += -gdwarf-2
+
+# Build using pkg-config variables if possible
+$(shell pkg-config --exists libdpdk)
+ifeq ($(.SHELLSTATUS),0)
+
+PC_FILE := $(shell pkg-config --path libdpdk)
+CFLAGS += $(shell pkg-config --cflags libdpdk)
+LDFLAGS += $(shell pkg-config --libs libdpdk)
+
+CFLAGS += -DALLOW_EXPERIMENTAL_API
+
+build/$(APP): $(SRCS-y) Makefile $(PC_FILE) | build
+ $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS)
+
+build:
+ @mkdir -p $@
+
+.PHONY: clean
+clean:
+ rm -f build/$(APP)
+ rmdir --ignore-fail-on-non-empty build
+
+else
+
ifeq ($(RTE_SDK),)
$(error "Please define RTE_SDK environment variable")
endif
@@ -42,3 +67,5 @@ CFLAGS += -DIPSEC_DEBUG -fstack-protector-all -O0
endif
include $(RTE_SDK)/mk/rte.extapp.mk
+
+endif