]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/netapi.git/blobdiff - ti/runtime/netapi/build/Makefile
Update makefile for parallel build issue
[keystone-rtos/netapi.git] / ti / runtime / netapi / build / Makefile
index 2b8920951ab16d72bac5eccb5b1e212f358892d3..87c6868f7904f3a9b8de01ebd384e438e8512d1c 100755 (executable)
-# INCLUDE Directories\r
-QMSS_INC_DIR = $(PDK_INSTALL_PATH)/ti/drv/qmss\r
-CPPI_INC_DIR = $(PDK_INSTALL_PATH)/ti/drv/cppi\r
-\r
-INCDIR := $(PDK_INSTALL_PATH);  $(QMSS_INC_DIR); $(CPPI_INC_DIR)\r
-\r
-# Output for prebuilt generated libraries\r
-export ARMV7LIBDIR ?= ../lib\r
-export ARMV7OBJDIR ?= ../obj\r
-\r
-# Set NETAPI INSTALL PATH to Transport SDK for default\r
-export NETAPI_INSTALL_PATH ?= $(TRANS_SDK_INSTALL_PATH)\r
-\r
-#NETAPI dirs\r
-OBJEXT = o \r
-INTERNALLINKDEFS =\r
-NETAPI_INC_DIR = $(NETAPI_INSTALL_PATH)/ti/runtime/netapi\r
-SRCDIR = $(NETAPI_INC_DIR)/src\r
-\r
-VPATH=$(SRCDIR)\r
-\r
-\r
-#Cross tools\r
-CC = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)gcc -c\r
-AR = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)ar -r\r
-\r
-\r
-#List the COMMONSRC Files\r
-COMMONSRCC = \\r
-    netapi.c \\r
-    netapi_sec.c \\r
-    netapi_init.c \\r
-    netapi_sched.c \\r
-    netapi_timer.c \\r
-    netapi_vm.c \\r
-    netcp_cfg.c \\r
-    osal.c \\r
-    pktio.c \\r
-    tim64.c\\r
-    timlist.c\r
-\r
-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)  -D__ARMv7 -D_VIRTUAL_ADDR_SUPPORT -D__LINUX_USER_SPACE -D_LITTLE_ENDIAN=1 -DMAKEFILE_BUILD -pthread -D _GNU_SOURCE\r
-INCS = -I$(strip $(subst ;, -I,$(subst $(space),\$(space),$(INCDIR))))\r
-all: lib \r
-\r
-lib: $(ARMV7LIBDIR)/libnetapi.a\r
-\r
-\r
-# Make Rule for the COMMONSRC Files\r
-COMMONSRCCOBJS = $(patsubst %.c, $(ARMV7OBJDIR)/netapi/lib/%.$(OBJEXT), $(COMMONSRCC))\r
-\r
-$(COMMONSRCCOBJS): $(ARMV7OBJDIR)/netapi/lib/%.$(OBJEXT): %.c\r
-       -@echo compiling $< ...\r
-       @mkdir -p $(ARMV7OBJDIR)/netapi/lib/\r
-       $(CC) $(CFLAGS) $(INCS)  $< -o $@\r
-\r
-$(ARMV7LIBDIR)/libnetapi.a: $(COMMONSRCCOBJS)\r
-       @mkdir -p $(ARMV7LIBDIR)\r
-       @echo archiving $? into $@ ...\r
-       @$(AR) $@ $?\r
-\r
-clean: \r
-       rm -f $(ARMV7OBJDIR)/netapi/lib/*.o\r
-       rm -f $(ARMV7LIBDIR)/libnetapi.a\r
+# Macro definitions referenced below
+#
+empty =
+space =$(empty) $(empty)
+
+# INCLUDE Directories
+QMSS_INC_DIR ?= $(PDK_INSTALL_PATH)/ti/drv/qmss
+SA_INSTALL_PATH ?= $(PDK_INSTALL_PATH)/ti/drv/sa
+CPPI_INC_DIR ?= $(PDK_INSTALL_PATH)/ti/drv/cppi
+
+
+NETAPI_INC_DIR ?= $(TRANS_SDK_INSTALL_PATH)
+NETAPI_SRC_DIR ?= $(TRANS_SDK_INSTALL_PATH)/ti/runtime/netapi
+
+#HPLIB_INC_DIR = $(HPLIB_INSTALL_PATH)/ti/runtime/hplib
+
+HPLIB_INC_DIR ?= $(PDK_INSTALL_PATH)/ti/runtime/hplib
+INCDIR := $(PDK_INSTALL_PATH);$(QMSS_INC_DIR);$(CPPI_INC_DIR);$(HPLIB_INC_DIR);$(NETAPI_INC_DIR)
+
+export PDK_VER ?= v3
+NETAPI_NAVIG_INIT_SRC=$(NETAPI_SRC_DIR)/src/pdk$(PDK_VER)
+
+ifeq ($(CPU), cortex-a8)
+        CFLAGS += -DCORTEX_A8
+endif
+
+export DEVICE?= k2h
+ifeq ($(PDK_VER),v3)
+QMSS_DEV_DIR = $(PDK_INSTALL_PATH)/ti/drv/qmss/device/$(DEVICE)/src
+CPPI_DEV_DIR = $(PDK_INSTALL_PATH)/ti/drv/cppi/device/$(DEVICE)/src
+endif
+ifeq ($(PDK_VER),v2)
+QMSS_DEV_DIR = $(PDK_INSTALL_PATH)/ti/drv/qmss/device
+CPPI_DEV_DIR = $(PDK_INSTALL_PATH)/ti/drv/cppi/device
+endif
+
+# 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
+OBJEXT = o
+INTERNALLINKDEFS =
+SRCDIR = ./src
+#VPATH=$(SRCDIR):$(NETAPI_NAVIG_INIT_SRC)
+VPATH=$(SRCDIR):./src/pdk$(PDK_VER)
+
+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
+#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 \
+    netcp_cfg.c \
+    pktio.c \
+    netapi_navig.c\
+
+CFLAGS+= $(DEBUG_FLAG) -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$(HPLIB_INC_DIR) -I$(QMSS_DEV_DIR) -I$(CPPI_DEV_DIR) -I$(NETAPI_NAVIG_INIT_SRC) -I$(SA_INSTALL_PATH) $(CSL_DEVICE)  -D__ARMv7 -D_VIRTUAL_ADDR_SUPPORT -D__LINUX_USER_SPACE -D_LITTLE_ENDIAN=1 -DMAKEFILE_BUILD -DNWAL_ENABLE_SA -pthread -D _GNU_SOURCE
+
+
+
+INCS = -I$(strip $(subst ;, -I,$(subst $(space),\$(space),$(INCDIR))))
+all: lib
+
+lib: $(ARMV7LIBDIR)/libnetapi_$(DEVICE).a
+
+
+# Make Rule for the COMMONSRC Files
+COMMONSRCCOBJS = $(patsubst %.c, $(ARMV7OBJDIR)/%.$(OBJEXT), $(COMMONSRCC))
+COMMONSRCCOBJS_SO = $(patsubst %.c, $(ARMV7OBJDIR_SO)/%.$(OBJEXT), $(COMMONSRCC))
+
+$(COMMONSRCCOBJS): $(ARMV7OBJDIR)/%.$(OBJEXT): %.c
+       -@echo compiling $< ........
+       -@echo vpath = $(VPATH)
+       @mkdir -p $(ARMV7OBJDIR)
+       $(CC) -c $(CFLAGS) $(INCS)  $< -o $@
+
+$(COMMONSRCCOBJS_SO): $(ARMV7OBJDIR_SO)/%.$(OBJEXT): %.c
+       -@echo **** compiling this file $< ...
+       @mkdir -p $(ARMV7OBJDIR_SO)
+       $(CC) -c $(CFLAGS) -fPIC $(INCS)  $< -o $@
+
+$(ARMV7LIBDIR)/libnetapi_$(DEVICE).a: $(COMMONSRCCOBJS)
+       @mkdir -p $(ARMV7LIBDIR)
+       @echo archiving $? into $@ ...
+       @$(AR) -r $@ $?
+
+
+libnetapi_$(DEVICE).so: $(COMMONSRCCOBJS_SO)
+       -@echo archiving $? into $(ARMV7LIBDIR)/$@.1 ...
+       @$(CC) $(DEBUG_FLAG) -ggdb2 -Wl,-soname=$@.1 -shared -fPIC ${LDFLAGS} -o $@.1.0.0 $^
+       @ln -s $@.1.0.0 $@.1
+       @ln -s $@.1     $@
+       mkdir -p $(ARMV7LIBDIR)
+       @mv -f $@.1.0.0 $(ARMV7LIBDIR)/$@.1.0.0
+       @mv -f $@.1 $(ARMV7LIBDIR)/$@.1
+       @mv -f $@   $(ARMV7LIBDIR)/$@
+
+clean:
+       rm -f $(ARMV7OBJDIR)/*.o
+       rm -f $(ARMV7OBJDIR_SO)/*.o
+       rm -f $(ARMV7LIBDIR)/libnetapi_$(DEVICE).a
+       rm -f $(ARMV7LIBDIR)/libnetapi_$(DEVICE).so*
+
+doxygen:
+       rm -rf $(NETAPI_DOCS_DIR)/html
+       rm -rf $(NETAPI_DOCS_DIR)/latex
+       doxygen netapi_doxygen.cfg
+
+clean_doxygen:
+       rm -rf $(NETAPI_DOCS_DIR)/html
+       rm -rf $(NETAPI_DOCS_DIR)/latex
+