INCDIR := $(PDK_INSTALL_PATH); $(QMSS_INC_DIR); $(CPPI_INC_DIR)
-# Libraries
-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
-NWAL_LIB = $(PDK_INSTALL_PATH)/ti/drv/nwal/lib/ti.drv.nwal.aearmv7
+# Output for prebuilt generated libraries
+export ARMV7LIBDIR ?= ../lib
+export ARMV7OBJDIR ?= ../obj
+# Set NETAPI INSTALL PATH to Transport SDK for default
+export NETAPI_INSTALL_PATH ?= $(TRANS_SDK_INSTALL_PATH)
+
+NETAPI_DOCS_DIR := $(NETAPI_INSTALL_PATH)/ti/runtime/netapi/docs
+
#NETAPI dirs
-NETAPI_SRC_DIR = ../src
-NETAPI_INC_DIR = ../
-NETAPI_LIB_DIR = ../lib
+OBJEXT = o
+INTERNALLINKDEFS =
+NETAPI_INC_DIR = $(NETAPI_INSTALL_PATH)/ti/runtime/netapi
+SRCDIR = $(NETAPI_INC_DIR)/src
+
+VPATH=$(SRCDIR)
+
+
+#Cross tools
+CC = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)gcc -c
+AR = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)ar -r
+
+
+#List the COMMONSRC Files
+COMMONSRCC = \
+ netapi.c \
+ netapi_sec.c \
+ netapi_init.c \
+ netapi_sched.c \
+ netapi_timer.c \
+ netapi_vm.c \
+ netcp_cfg.c \
+ osal.c \
+ pktio.c \
+ tim64.c\
+ timlist.c
+
+CFLAGS= $(DEBUG_FLAG) -I$(NETAPI_INC_DIR) -I. -I $(SRCDIR) -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) -I$(SA_INSTALL_PATH) -D__ARMv7 -D_VIRTUAL_ADDR_SUPPORT -D__LINUX_USER_SPACE -D_LITTLE_ENDIAN=1 -DMAKEFILE_BUILD -pthread -D _GNU_SOURCE
+INCS = -I$(strip $(subst ;, -I,$(subst $(space),\$(space),$(INCDIR))))
+all: lib
-API_OBJS= $(NETAPI_SRC_DIR)/netapi.o $(NETAPI_SRC_DIR)/pktio.o $(NETAPI_SRC_DIR)/netcp_cfg.o $(NETAPI_SRC_DIR)/netapi_sched.o $(NETAPI_SRC_DIR)/netapi_vm.o $(NETAPI_SRC_DIR)/netapi_init.o $(NETAPI_SRC_DIR)/osal.o $(NETAPI_SRC_DIR)/tim64.o $(NETAPI_SRC_DIR)/timlist.o $(NETAPI_SRC_DIR)/netapi_timer.o
+lib: $(ARMV7LIBDIR)/libnetapi.a
-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$(NETAPI_INC_DIR) -I. -I $(NETAPI_SRC_DIR) -I$(PDK_INSTALL_PATH) -I$(NWAL_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
-all: api
+# Make Rule for the COMMONSRC Files
+COMMONSRCCOBJS = $(patsubst %.c, $(ARMV7OBJDIR)/netapi/lib/%.$(OBJEXT), $(COMMONSRCC))
-clean:
- rm -f $(NETAPI_SRC_DIR)/*.o
- rm -f $(NETAPI_LIB_DIR)/*.a
+$(COMMONSRCCOBJS): $(ARMV7OBJDIR)/netapi/lib/%.$(OBJEXT): %.c
+ -@echo compiling $< ...
+ @mkdir -p $(ARMV7OBJDIR)/netapi/lib/
+ $(CC) $(CFLAGS) $(INCS) $< -o $@
+$(ARMV7LIBDIR)/libnetapi.a: $(COMMONSRCCOBJS)
+ @mkdir -p $(ARMV7LIBDIR)
+ @echo archiving $? into $@ ...
+ @$(AR) $@ $?
-%.o: %.c
- $(CC) -c $(CFLAGS) $< -o $@
+clean:
+ rm -f $(ARMV7OBJDIR)/netapi/lib/*.o
+ rm -f $(ARMV7LIBDIR)/libnetapi.a
-api: $(NETAPI_LIB_DIR)/ti.runtime.netapi.aearmv7.a
+doxygen:
+ doxygen netapi_doxygen.cfg
-$(NETAPI_LIB_DIR)/ti.runtime.netapi.aearmv7.a: $(API_OBJS)
- rm -f $(NETAPI_LIB_DIR)/ti.runtime.netapi.aearmv7.a
- $(AR) rcv $(NETAPI_LIB_DIR)/ti.runtime.netapi.aearmv7.a $(API_OBJS)
+doxygen_clean:
+ rm -rf $(NETAPI_DOCS_DIR)/html
+ rm -rf $(NETAPI_DOCS_DIR)/latex
-