-TRIE_OBJS=../trie.o
-NT_OBJS= ../net_test.o ../stubs.o
+export ARMV7OBJDIR ?= ./obj
+export ARMV7BINDIR ?= ./bin
+export ARMV7LIBDIR ?= ./lib
+
+# Set NETAPI INSTALL PATH to Transport SDK for default
+export NETAPI_INSTALL_PATH ?= $(TRANS_SDK_INSTALL_PATH)
+
+TRIE_OBJS=$(ARMV7OBJDIR)/netapi/test/trie.o
+NT_OBJS= $(ARMV7OBJDIR)/netapi/test/net_test.o $(ARMV7OBJDIR)/netapi/test/stubs.o
+
# INCLUDE Directories
QMSS_INC_DIR = $(PDK_INSTALL_PATH)/ti/drv/qmss
CPPI_INC_DIR = $(PDK_INSTALL_PATH)/ti/drv/cppi
-NETAPI_INC_DIR = ../../
+
+NETAPI_INC_DIR = $(NETAPI_INSTALL_PATH)/ti/runtime/netapi
+HPLIB_INC_DIR = $(NETAPI_INSTALL_PATH)/ti/runtime/highperf-lib
+SA_INC_DIR = $(SA_INSTALL_PATH)
#NETAPI LIB Build directory
-NETAPI_BUILD_DIR = ../../build
+NETAPI_BUILD_DIR = $(NETAPI_INC_DIR)/build
# Support Libraries used by NETAPI
-QMSS_LIB = $(PDK_INSTALL_PATH)/ti/drv/qmss/lib/ti.drv.qmss.aearmv7
-CPPI_LIB = $(PDK_INSTALL_PATH)/ti/drv/cppi/lib/ti.drv.cppi.aearmv7
-PA_LIB = $(PDK_INSTALL_PATH)/ti/drv/pa/lib/ti.drv.pa.aearmv7
-PKTLIB_LIB = $(PDK_INSTALL_PATH)/ti/runtime/pktlib/lib/ti.runtime.pktlib.aearmv7
-NWAL_LIB = $(PDK_INSTALL_PATH)/ti/drv/nwal/lib/ti.drv.nwal.aearmv7
+QMSS_LIB = -lqmss
+CPPI_LIB = -lcppi
+PA_LIB = -lpa
+#without security enabled
+#NWAL_LIB = -lnwal
+PKTLIB_LIB = -lpktlib
+NETAPI_LIB = -lnetapi
+HP_LIB = -lhplib
+#
+#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
+
-#where netapi lib resides after being built
-NETAPI_LIB_DIR= ../../lib
+#Cross tools
+CC = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)gcc
+AR = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)ar -r
-CROSS=arm-none-linux-gnueabi-gcc
-CROSS_PATH=/opt/CodeSourcery/Sourcery_G++_Lite/bin
-CC=$(CROSS_PATH)/$(CROSS)
-AR=$(CROSS_PATH)/arm-none-linux-gnueabi-ar
-CFLAGS= -g -I../ -I. -I$(NETAPI_INC_DIR) -I$(NETAPI_INC_DIR)/src -I$(PDK_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
+CFLAGS= $(DEBUG_FLAG) -I../ -I. -I$(NETAPI_INC_DIR) -I$(NETAPI_INC_DIR)/src -I$(HPLIB_INC_DIR) -I$(PDK_INSTALL_PATH) -I$(NWAL_INSTALL_PATH) -I$(PKTLIB_INSTALL_PATH) -I$(HPLIB_INSTALL_PATH) -I$(TRANS_SDK_INSTALL_PATH) -I$(QMSS_INC_DIR) -I$(CPPI_INC_DIR) -I$(SA_INC_DIR) -D__ARMv7 -D_VIRTUAL_ADDR_SUPPORT -D__LINUX_USER_SPACE -D_LITTLE_ENDIAN=1 -DMAKEFILE_BUILD -pthread -D _GNU_SOURCE
+# Linker options
+INTERNALLINKDEFS = --start-group -L$(ARMV7LIBDIR) -L$(PDK_ARMV7LIBDIR) $(NETAPI_LIB) $(PKTLIB_LIB) $(HP_LIB) $(QMSS_LIB) $(CPPI_LIB) $(NWAL_LIB) $(PA_LIB) $(SA_LIB) $(AES_LIB) $(SHA1_LIB) $(PKTUTL_LIB) -lrt --end-group
-all: net_test synchtest synchtest2
+all: tests
+
+tests: $(ARMV7BINDIR)/netapi/test/.created $(ARMV7BINDIR)/netapi/test/net_test
api_clean:
- rm -rf $(NETAPI_LIB_DIR)/*.a
- rm -rf ../../src/*.o
+ rm -f $(ARMV7LIBDIR)/libnetapi.a
+ rm -rf $(ARMV7OBJDIR)/netapi/lib/*.o
clean:
- rm -f ../*.o
- rm -f ../*.a
- rm -f net_test synchtest synchtest2
+ 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
-%.o: %.c
+$(ARMV7OBJDIR)/netapi/test/%.o:$(NETAPI_INC_DIR)/test/%.c $(ARMV7OBJDIR)/netapi/test/.created
+ @echo compiling $< ...
$(CC) -c $(CFLAGS) $< -o $@
-$(NETAPI_LIB_DIR)/ti.runtime.netapi.aearmv7.a:
+$(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)
-net_test: $(NT_OBJS) $(TRIE_OBJS) $(NETAPI_LIB_DIR)/ti.runtime.netapi.aearmv7.a
- $(CC) $(LDFLAGS) $(NT_OBJS) $(TRIE_OBJS) $(NETAPI_LIB_DIR)/ti.runtime.netapi.aearmv7.a $(PKTLIB_LIB) $(QMSS_LIB) $(CPPI_LIB) $(NWAL_LIB) $(PA_LIB) -o net_test
+$(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/synchtest: $(ARMV7OBJDIR)/netapi/test/synchtest.o
+ $(CC) $(LDFLAGS) $(ARMV7OBJDIR)/netapi/test/synchtest.o -o $(ARMV7BINDIR)/netapi/test/synchtest
-
-synchtest: ../synchtest.o
- $(CC) $(LDFLAGS) ../synchtest.o -o synchtest
+$(ARMV7BINDIR)/netapi/test/synchtest2: $(ARMV7OBJDIR)/netapi/test/synchtest2.o
+ $(CC) $(LDFLAGS) $(ARMV7OBJDIR)/netapi/test/synchtest2.o -o $(ARMV7BINDIR)/netapi/test/synchtest2 -lpthread
-synchtest2: ../synchtest2.o
- $(CC) $(LDFLAGS) ../synchtest2.o -o synchtest2 -lpthread
-