From b792c1f27d58040f3a815da18183d329bd6bd84b Mon Sep 17 00:00:00 2001 From: Konstantin Ananyev Date: Thu, 30 Sep 2021 10:05:39 +0000 Subject: tldk: swtich to use DPDK 20.11 LTS As in DPDK 20.11 'make' is not supported any more, switch to use pkg-conf approach. Note that RTE_SDK now should point to your DPDK package installation path. Signed-off-by: Konstantin Ananyev Change-Id: I4a3c394758e183a3ddcdb45a0562a81583daaab6 Signed-off-by: Konstantin Ananyev --- mk/tle.app.mk | 55 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 38 insertions(+), 17 deletions(-) (limited to 'mk/tle.app.mk') diff --git a/mk/tle.app.mk b/mk/tle.app.mk index 602b870..60031da 100644 --- a/mk/tle.app.mk +++ b/mk/tle.app.mk @@ -11,26 +11,47 @@ # See the License for the specific language governing permissions and # limitations under the License. -EXTLIB_BUILD := y +APP_SHARED = $(APP_NAME)-shared +APP_STATIC = $(APP_NAME)-static -# we must create the output dir first and recall the same Makefile -# from this directory -ifeq ($(NOT_FIRST_CALL),) +ifneq ($(LIB_DEPS),) + LDLIBS += -L$(RTE_OUTPUT)/lib + LDLIBS_SHARED += $(patsubst %,-l%,$(LIB_DEPS)) + LDLIBS_STATIC += $(patsubst %,-l:lib%.a,$(LIB_DEPS)) + LDFLAGS_SHARED += $(LDLIBS) $(LDLIBS_SHARED) + LDFLAGS_STATIC += $(LDLIBS) $(LDLIBS_STATIC) +endif + +.PHONY: all clean static shared +all: shared static +shared: $(RTE_OUTPUT)/app/$(APP_SHARED) +static: $(RTE_OUTPUT)/app/$(APP_STATIC) + +OBJS += $(patsubst %.c,$(BDIR)/%.o,$(SRCS-y)) -NOT_FIRST_CALL = 1 -export NOT_FIRST_CALL +$(BDIR)/%.o: %.c Makefile $(PC_FILE) + @mkdir -p $(BDIR) + $(Q)$(CC) $(CFLAGS) $(CFLAGS_$(<)) -c $< -o $@ -BDIR := $(RTE_OUTPUT)/build/$(CUR_SUBDIR) +SCRIPTS := $(patsubst %,$(RTE_OUTPUT)/app/%,$(SYMLINK-y-app)) -all: - $(Q)mkdir -p $(BDIR) - $(Q)$(MAKE) -C $(BDIR) -f $(RTE_EXTMK) \ - S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR) +$(RTE_OUTPUT)/app/%.py: %.py Makefile + $(Q)ln -s -f $(RTE_SRCDIR)/$< $@ + +clean: + $(Q)rm -f $(RTE_OUTPUT)/app/$(APP_SHARED) + $(Q)rm -f $(RTE_OUTPUT)/app/$(APP_STATIC) + $(Q)rm -f $(RTE_OUTPUT)/app/$(APP_NAME) + $(Q)rm -f $(SCRIPTS) + $(Q)rm -rf $(BDIR) + +$(RTE_OUTPUT)/app/$(APP_SHARED): $(SCRIPTS) $(OBJS) Makefile $(PC_FILE) +ifneq ($(OBJS),) + $(Q)$(CC) $(OBJS) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) +endif -%:: - $(Q)mkdir -p $(BDIR) - $(Q)$(MAKE) -C $(BDIR) -f $(RTE_EXTMK) $@ \ - S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR) -else -include $(RTE_SDK)/mk/rte.app.mk +$(RTE_OUTPUT)/app/$(APP_STATIC): $(SCRIPTS) $(OBJS) Makefile $(PC_FILE) +ifneq ($(OBJS),) + $(Q)$(CC) $(OBJS) -o $@ $(LDFLAGS) $(LDFLAGS_STATIC) + $(Q)ln -s -f $@ $(RTE_OUTPUT)/app/$(APP_NAME) endif -- cgit 1.2.3-korg