aboutsummaryrefslogtreecommitdiffstats
path: root/mk/tle.app.mk
diff options
context:
space:
mode:
authorKonstantin Ananyev <konstantin.ananyev@intel.com>2021-09-30 10:05:39 +0000
committerKonstantin Ananyev <konstantin.ananyev@intel.com>2021-11-10 11:55:12 +0000
commitb792c1f27d58040f3a815da18183d329bd6bd84b (patch)
treedef302a01c2136211651fb90994806ae1ff0a32a /mk/tle.app.mk
parentf71107b4dd6a4b8b1cd28d7339c924f1b013cfa4 (diff)
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 <konstantin.ananyev@intel.com> Change-Id: I4a3c394758e183a3ddcdb45a0562a81583daaab6 Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Diffstat (limited to 'mk/tle.app.mk')
-rw-r--r--mk/tle.app.mk55
1 files changed, 38 insertions, 17 deletions
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