index 691208e6e7ddc06cd17695dac327265ecda33b0a..5d4287e926d50c1a78630c0daa0201b3c2d360c8 100755 (executable)
+#
+empty =
+space =$(empty) $(empty)
+
export ARMV7OBJDIR ?= ./obj
export ARMV7BINDIR ?= ./bin
export ARMV7LIBDIR ?= ./lib
+export ARMV7SALIBDIR ?= ./lib
+export ARMV7LIBDIRLOCAL ?= ../../lib
+# INCLUDE Directories
+#WORKDIR ?= $(TRANS_SDK_INSTALL_PATH)
+SA_INSTALL_PATH ?= $(PDK_INSTALL_PATH)/ti/drv/sa
+QMSS_INC_DIR ?= $(PDK_INSTALL_PATH)/ti/drv/qmss
+CPPI_INC_DIR ?= $(PDK_INSTALL_PATH)/ti/drv/cppi
+RM_INC_DIR ?= $(PDK_INSTALL_PATH)/ti/drv/rm
+HPLIB_INC_DIR ?= $(TRANS_SDK_INSTALL_PATH)
+NETAPI_SRC_DIR ?= $(TRANS_SDK_INSTALL_PATH)/ti/runtime/netapi
+NETAPI_INC_DIR ?= $(TRANS_SDK_INSTALL_PATH)
+NWAL_INSTALL_PATH ?= $(PDK_INSTALL_PATH)/ti/drv/nwal
+PKTLIB_INSTALL_PATH ?= $(PDK_INSTALL_PATH)/ti/runtime/pktlib
# Set NETAPI INSTALL PATH to Transport SDK for default
-export NETAPI_INSTALL_PATH ?= $(TRANS_SDK_INSTALL_PATH)
+
+ifeq ($(CPU), cortex-a8)
+ CFLAGS += -DCORTEX_A8
+endif
+
+NT_RM_OBJS = $(ARMV7OBJDIR)/netapi/utils/sockutils.o $(ARMV7OBJDIR)/netapi/utils/netapi_util_rm.o
TRIE_OBJS=$(ARMV7OBJDIR)/netapi/test/trie.o
-NT_OBJS= $(ARMV7OBJDIR)/netapi/test/net_test.o $(ARMV7OBJDIR)/netapi/test/stubs.o
+NT_OBJS= $(ARMV7OBJDIR)/netapi/test/net_test_loopback.o $(ARMV7OBJDIR)/netapi/test/stubs.o $(ARMV7OBJDIR)/netapi/test/net_test_utils.o $(ARMV7OBJDIR)/netapi/test/net_test_sa_utils.o $(ARMV7OBJDIR)/netapi/test/net_test_thread_utils.o
+#
+NT_ROUTER_OBJS= $(ARMV7OBJDIR)/netapi/test/net_test_router.o $(ARMV7OBJDIR)/netapi/test/stubs.o $(ARMV7OBJDIR)/netapi/test/net_test_utils.o $(ARMV7OBJDIR)/netapi/test/net_test_sa_utils.o $(ARMV7OBJDIR)/netapi/test/net_test_thread_utils.o
+#
+NT_MAX_PARAMS_OBJS= $(ARMV7OBJDIR)/netapi/test/net_test_max_params.o $(ARMV7OBJDIR)/netapi/test/stubs.o $(ARMV7OBJDIR)/netapi/test/net_test_utils.o $(ARMV7OBJDIR)/netapi/test/net_test_sa_utils.o $(ARMV7OBJDIR)/netapi/test/net_test_thread_utils.o
+#
-# INCLUDE Directories
-QMSS_INC_DIR = $(PDK_INSTALL_PATH)/ti/drv/qmss
-CPPI_INC_DIR = $(PDK_INSTALL_PATH)/ti/drv/cppi
+IFDMA_OBJS= $(ARMV7OBJDIR)/netapi/test/ifdma_test.o
-NETAPI_INC_DIR = $(NETAPI_INSTALL_PATH)/ti/runtime/netapi
+NTB_OBJS= $(ARMV7OBJDIR)/netapi/test/nt_bridge.o $(ARMV7OBJDIR)/netapi/test/fdb.o $(ARMV7OBJDIR)/netapi/test/stubs.o
-#NETAPI LIB Build directory
-NETAPI_BUILD_DIR = $(NETAPI_INC_DIR)/build
+NT_BENCH_OBJS= $(ARMV7OBJDIR)/netapi/test/net_test_bench.o $(ARMV7OBJDIR)/netapi/test/stubs.o
# Support Libraries used by NETAPI
QMSS_LIB = -lqmss
CPPI_LIB = -lcppi
-PA_LIB = -lpa
-#without security enabled
-#NWAL_LIB = -lnwal
PKTLIB_LIB = -lpktlib
-NETAPI_LIB = -lnetapi
+HP_LIB = -lhplib_$(DEVICE)
+NETAPI_LIB = -lnetapi_$(DEVICE)
+NWAL_LIB = -lnwalsa_$(DEVICE)
+SA_LIB = -lsa
+RM_LIB = -lrm
#
#with security enabled..
-NWAL_LIB = -lnwalsa
-SA_LIB=$(SA_INSTALL_PATH)/ti/drv/sa/lib/salld_c.av7A
-AES_LIB=$(SA_INSTALL_PATH)/ti/mas/aes/gcarmv7a/aes_c.av7A
-SHA1_LIB=$(SA_INSTALL_PATH)/ti/mas/sha1/gcarmv7a/sha1_c.av7A
-PKTUTL_LIB=$(SA_INSTALL_PATH)/ti/mas/pktutl/gcarmv7a/pktutl_c.av7A
-#Cross tools
-CC = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)gcc
-AR = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)ar -r
-
-CFLAGS= $(DEBUG_FLAG) -I../ -I. -I$(NETAPI_INC_DIR) -I$(NETAPI_INC_DIR)/src -I$(PDK_INSTALL_PATH) -I$(NWAL_INSTALL_PATH) -I$(PKTLIB_INSTALL_PATH) -I$(TRANS_SDK_INSTALL_PATH) -I$(QMSS_INC_DIR) -I$(CPPI_INC_DIR) -D__ARMv7 -D_VIRTUAL_ADDR_SUPPORT -D__LINUX_USER_SPACE -D_LITTLE_ENDIAN=1 -DMAKEFILE_BUILD -pthread -D _GNU_SOURCE
+ifeq ($(DEVICE), k2h)
+PA_LIB = -lpa
+endif
+ifeq ($(DEVICE), k2k)
+PA_LIB = -lpa
+endif
+ifeq ($(DEVICE), k2l)
+PA_LIB = -lpa2
+endif
+ifeq ($(DEVICE), k2e)
+PA_LIB = -lpa2
+endif
+
+#default if DEVICE not provided
+CSL_DEVICE ?= -DDEVICE_K2L -DNSS_GEN2
+PA_LIB ?= -lpa2
+NETAPI_LIB?=-lnetapi_k2l
+NWAL_LIB ?= -lnwalsa_k2l
+HP_LIB ?= -lhplib_k2l
+
+ifeq ($(USEDYNAMIC_LIB), yes)
+#presuming ARM executable would depend on dynamic library dependency
+EXE_EXTN = _so
+LIBS = $(QMSS_LIB) $(CPPI_LIB) $(PA_LIB) $(PKTLIB_LIB) $(NETAPI_LIB) $(HP_LIB) $(SA_LIB) $(NWAL_LIB) $(RM_LIB)
+else
+#forcing ARM executable to depend on static LLD libraries
+LIBS = -static $(QMSS_LIB) $(CPPI_LIB) $(PA_LIB) $(PKTLIB_LIB) $(NETAPI_LIB) $(HP_LIB) $(SA_LIB) $(NWAL_LIB) $(RM_LIB) -Wl,-Bdynamic
+EXE_EXTN =
+endif
+
+
+ifdef CROSS_TOOL_INSTALL_PATH
+## Support backwards compatibility with KeyStone1 approach
+ CC = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)gcc
+ AC = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)as
+ AR = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)ar
+ LD = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)gcc
+endif
+
+CFLAGS+= $(DEBUG_FLAG) -I../ -I. -I$(NETAPI_SRC_DIR) -I$(NETAPI_SRC_DIR)/src -I$(NETAPI_SRC_DIR)/util -I$(HPLIB_INC_DIR) -I$(NETAPI_INC_DIR)-I$(PDK_INSTALL_PATH) -I$(NWAL_INSTALL_PATH) -I$(PKTLIB_INSTALL_PATH) -I$(SA_INSTALL_PATH) -I$(QMSS_INC_DIR) -I$(CPPI_INC_DIR) -I$(RM_INC_DIR) $(CSL_DEVICE) -D__ARMv7 -D_VIRTUAL_ADDR_SUPPORT -D__LINUX_USER_SPACE -D_LITTLE_ENDIAN=1 -DNWAL_ENABLE_SA -DMAKEFILE_BUILD -D _GNU_SOURCE
# Linker options
-INTERNALLINKDEFS = --start-group -L$(ARMV7LIBDIR) -L$(PDK_ARMV7LIBDIR) $(NETAPI_LIB) $(PKTLIB_LIB) $(QMSS_LIB) $(CPPI_LIB) $(NWAL_LIB) $(PA_LIB) $(SA_LIB) $(AES_LIB) $(SHA1_LIB) $(PKTUTL_LIB) -lrt --end-group
+INTERNALLINKDEFS = -Wl,--start-group $(LIBS) -Wl,--end-group -lrt -pthread -L$(ARMV7LIBDIR) -L$(ARMV7LIBDIRLOCAL) -L$(ARMV7SALIBDIR)
all: tests
-tests: $(ARMV7BINDIR)/netapi/test/.created $(ARMV7BINDIR)/netapi/test/net_test $(ARMV7BINDIR)/netapi/test/synchtest $(ARMV7BINDIR)/netapi/test/synchtest2
-
-api_clean:
- rm -f $(ARMV7LIBDIR)/libnetapi.a
- rm -rf $(ARMV7OBJDIR)/netapi/lib/*.o
+tests: $(ARMV7BINDIR)/netapi/test/.created $(ARMV7BINDIR)/netapi/test/net_test_loopback_$(DEVICE) $(ARMV7BINDIR)/netapi/test/net_test_router_$(DEVICE) $(ARMV7BINDIR)/netapi/test/net_test_bench_$(DEVICE) $(ARMV7BINDIR)/netapi/test/nt_bridge_$(DEVICE)
clean:
rm -f $(ARMV7OBJDIR)/netapi/test/*.o
- rm -f $(ARMV7LIBDIR)/libnetapi.a
- rm -f $(ARMV7BINDIR)/netapi/test/net_test $(ARMV7BINDIR)/netapi/test/synchtest $(ARMV7BINDIR)/netapi/test/synchtest2
+ rm -f $(ARMV7BINDIR)/netapi/test/*
+$(ARMV7OBJDIR)/netapi/utils/%.o: $(NETAPI_SRC_DIR)/utils/%.c $(ARMV7OBJDIR)/netapi/utils/.created
+ @echo compiling $<
+ $(CC) -c $(CFLAGS) $< -o $@
-$(ARMV7OBJDIR)/netapi/test/%.o:$(NETAPI_INC_DIR)/test/%.c $(ARMV7OBJDIR)/netapi/test/.created
- @echo compiling $< ...
- $(CC) -c $(CFLAGS) $< -o $@
+$(ARMV7OBJDIR)/netapi/test/%.o: $(NETAPI_SRC_DIR)/test/%.c $(ARMV7OBJDIR)/netapi/test/.created
+ @echo compiling $<
+ $(CC) -c $(CFLAGS) $< -o $@
$(ARMV7OBJDIR)/netapi/test/.created:
@mkdir -p $(ARMV7OBJDIR)/netapi/test/
$(ARMV7BINDIR)/netapi/test/.created:
@mkdir -p $(ARMV7BINDIR)/netapi/test/
-$(ARMV7LIBDIR)/libnetapi.a:
- make -C $(NETAPI_BUILD_DIR)
+$(ARMV7OBJDIR)/netapi/utils/.created:
+ @mkdir -p $(ARMV7OBJDIR)/netapi/utils/
+
+$(ARMV7BINDIR)/netapi/test/net_test_loopback_$(DEVICE): $(NT_OBJS) $(TRIE_OBJS) $(NT_RM_OBJS)
+ $(CC) $(LDFLAGS) $(NT_OBJS) $(TRIE_OBJS) $(NT_RM_OBJS) $(INTERNALLINKDEFS) -o $(ARMV7BINDIR)/netapi/test/net_test_loopback_$(DEVICE)$(EXE_EXTN)
-$(ARMV7BINDIR)/netapi/test/net_test: $(NT_OBJS) $(TRIE_OBJS) $(ARMV7LIBDIR)/libnetapi.a
- $(CC) $(LDFLAGS) $(NT_OBJS) $(TRIE_OBJS) $(INTERNALLINKDEFS) -o $(ARMV7BINDIR)/netapi/test/net_test
+$(ARMV7BINDIR)/netapi/test/net_test_router_$(DEVICE): $(NT_ROUTER_OBJS) $(TRIE_OBJS) $(NT_RM_OBJS)
+ $(CC) $(LDFLAGS) $(NT_ROUTER_OBJS) $(TRIE_OBJS) $(NT_RM_OBJS) $(INTERNALLINKDEFS) -o $(ARMV7BINDIR)/netapi/test/net_test_router_$(DEVICE)$(EXE_EXTN)
+$(ARMV7BINDIR)/netapi/test/nt_bridge_$(DEVICE): $(NTB_OBJS) $(TRIE_OBJS) $(NT_RM_OBJS)
+ $(CC) $(LDFLAGS) $(NTB_OBJS) $(TRIE_OBJS) $(NT_RM_OBJS) $(INTERNALLINKDEFS) -o $(ARMV7BINDIR)/netapi/test/nt_bridge_$(DEVICE)$(EXE_EXTN)
-$(ARMV7BINDIR)/netapi/test/synchtest: $(ARMV7OBJDIR)/netapi/test/synchtest.o
- $(CC) $(LDFLAGS) $(ARMV7OBJDIR)/netapi/test/synchtest.o -o $(ARMV7BINDIR)/netapi/test/synchtest
+$(ARMV7BINDIR)/netapi/test/ifdma_test: $(IFDMA_OBJS)
+ $(CC) $(LDFLAGS) $(IFDMA_OBJS) $(INTERNALLINKDEFS) -o $(ARMV7BINDIR)/netapi/test/ifdma_test$(EXE_EXTN)
-$(ARMV7BINDIR)/netapi/test/synchtest2: $(ARMV7OBJDIR)/netapi/test/synchtest2.o
- $(CC) $(LDFLAGS) $(ARMV7OBJDIR)/netapi/test/synchtest2.o -o $(ARMV7BINDIR)/netapi/test/synchtest2 -lpthread
-
+$(ARMV7BINDIR)/netapi/test/net_test_bench_$(DEVICE): $(NT_BENCH_OBJS) $(NT_RM_OBJS)
+ $(CC) $(LDFLAGS) $(NT_BENCH_OBJS) $(NT_RM_OBJS) $(INTERNALLINKDEFS) -o $(ARMV7BINDIR)/netapi/test/net_test_bench_$(DEVICE)$(EXE_EXTN)