# 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 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 ifeq ($(CPU), cortex-a8) CFLAGS += -DCORTEX_A8 endif TRIE_OBJS=$(ARMV7OBJDIR)/netapi/test/trie.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 # IFDMA_OBJS= $(ARMV7OBJDIR)/netapi/test/ifdma_test.o NTB_OBJS= $(ARMV7OBJDIR)/netapi/test/nt_bridge.o $(ARMV7OBJDIR)/netapi/test/stubs.o 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 PKTLIB_LIB = -lpktlib HP_LIB = -lhplib_$(DEVICE) NETAPI_LIB = -lnetapi_$(DEVICE) NWAL_LIB = -lnwalsa_$(DEVICE) SA_LIB = -lsa # #with security enabled.. ifeq ($(DEVICE), k2h) CSL_DEVICE = -DDEVICE_K2H PA_LIB = -lpa endif ifeq ($(DEVICE), k2k) CSL_DEVICE = -DDEVICE_K2K PA_LIB = -lpa endif ifeq ($(DEVICE), k2l) CSL_DEVICE = -DDEVICE_K2L -DNSS_GEN2 PA_LIB = -lpa2 endif ifeq ($(DEVICE), k2e) CSL_DEVICE = -DDEVICE_K2E -DNSS_GEN2 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) 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) -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$(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) $(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 = -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_loopback_$(DEVICE) $(ARMV7BINDIR)/netapi/test/net_test_router_$(DEVICE) $(ARMV7BINDIR)/netapi/test/net_test_bench_$(DEVICE) clean: rm -f $(ARMV7OBJDIR)/netapi/test/*.o rm -f $(ARMV7BINDIR)/netapi/test/* $(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/ $(ARMV7BINDIR)/netapi/test/net_test_loopback_$(DEVICE): $(NT_OBJS) $(TRIE_OBJS) $(CC) $(LDFLAGS) $(NT_OBJS) $(TRIE_OBJS) $(INTERNALLINKDEFS) -o $(ARMV7BINDIR)/netapi/test/net_test_loopback_$(DEVICE)$(EXE_EXTN) $(ARMV7BINDIR)/netapi/test/net_test_max_params: $(NT_MAX_PARAMS_OBJS) $(TRIE_OBJS) $(CC) $(LDFLAGS) $(NT_MAX_PARAMS_OBJS) $(TRIE_OBJS) $(INTERNALLINKDEFS) -o $(ARMV7BINDIR)/netapi/test/net_test_max_params$(EXE_EXTN) $(ARMV7BINDIR)/netapi/test/net_test_router_$(DEVICE): $(NT_ROUTER_OBJS) $(TRIE_OBJS) $(CC) $(LDFLAGS) $(NT_ROUTER_OBJS) $(TRIE_OBJS) $(INTERNALLINKDEFS) -o $(ARMV7BINDIR)/netapi/test/net_test_router_$(DEVICE)$(EXE_EXTN) $(ARMV7BINDIR)/netapi/test/nt_bridge_$(DEVICE): $(NTB_OBJS) $(TRIE_OBJS) $(CC) $(LDFLAGS) $(NTB_OBJS) $(TRIE_OBJS) $(INTERNALLINKDEFS) -o $(ARMV7BINDIR)/netapi/test/nt_bridge_$(DEVICE)$(EXE_EXTN) $(ARMV7BINDIR)/netapi/test/ifdma_test: $(IFDMA_OBJS) $(CC) $(LDFLAGS) $(IFDMA_OBJS) $(INTERNALLINKDEFS) -o $(ARMV7BINDIR)/netapi/test/ifdma_test$(EXE_EXTN) $(ARMV7BINDIR)/netapi/test/net_test_bench_$(DEVICE): $(NT_BENCH_OBJS) $(CC) $(LDFLAGS) $(NT_BENCH_OBJS) $(INTERNALLINKDEFS) -o $(ARMV7BINDIR)/netapi/test/net_test_bench_$(DEVICE)$(EXE_EXTN)