summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 7bab755)
raw | patch | inline | side by side (parent: 7bab755)
author | Raghu Nambiath <rnambiath@ti.com> | |
Wed, 1 Feb 2012 01:05:30 +0000 (20:05 -0500) | ||
committer | Raghu Nambiath <rnambiath@ti.com> | |
Wed, 1 Feb 2012 01:05:30 +0000 (20:05 -0500) |
ti/runtime/netapi/build/Makefile | patch | blob | history | |
ti/runtime/netapi/makefile_armv7 | [new file with mode: 0644] | patch | blob |
ti/runtime/netapi/test/build/Makefile | patch | blob | history |
index 0c45131deef0ed2def9cce3cdd3db98ffeec7c65..d93ce43b737d38254b63cb46f49fe012ca81869e 100644 (file)
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 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
-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
+VPATH=$(SRCDIR)
-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
+#Cross tools
+CC = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)gcc -c
+AR = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)ar -r
-clean:
- rm -f $(NETAPI_SRC_DIR)/*.o
- rm -f $(NETAPI_LIB_DIR)/*.a
+#List the COMMONSRC Files
+COMMONSRCC = \
+ netapi.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$(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
+INCS = -I$(strip $(subst ;, -I,$(subst $(space),\$(space),$(INCDIR))))
+all: lib
-%.o: %.c
- $(CC) -c $(CFLAGS) $< -o $@
+lib: $(ARMV7LIBDIR)/libnetapi.a
-api: $(NETAPI_LIB_DIR)/ti.runtime.netapi.aearmv7.a
-$(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)
+# Make Rule for the COMMONSRC Files
+COMMONSRCCOBJS = $(patsubst %.c, $(ARMV7OBJDIR)/netapi/lib/%.$(OBJEXT), $(COMMONSRCC))
-
+$(COMMONSRCCOBJS): $(ARMV7OBJDIR)/netapi/lib/%.$(OBJEXT): %.c
+ -@echo compiling $< ...
+ @mkdir -p $(ARMV7OBJDIR)/netapi/lib/
+ $(CC) $(CFLAGS) $(INCS) $< -o $@
+
+$(ARMV7LIBDIR)/libnetapi.a: $(COMMONSRCCOBJS)
+ @echo archiving $? into $@ ...
+ @$(AR) $@ $?
+
+clean:
+ rm -f $(ARMV7OBJDIR)/netapi/lib/*.o
+ rm -f $(ARMV7LIBDIR)/libnetapi.a
diff --git a/ti/runtime/netapi/makefile_armv7 b/ti/runtime/netapi/makefile_armv7
--- /dev/null
@@ -0,0 +1,75 @@
+#*******************************************************************************
+#* FILE PURPOSE: Top level makefile for Creating Component Libraries for ARM
+#* architectures
+#*******************************************************************************
+#* FILE NAME: makefile
+#*
+#* DESCRIPTION: Defines Compiler tools paths, libraries , Build Options
+#*
+#*
+#*******************************************************************************
+#*
+# (Mandatory) Specify where various tools are installed.
+
+# Output for prebuilt generated libraries
+export ARMV7LIBDIR ?= ./lib
+export ARMV7OBJDIR ?= ./obj
+
+# ROOT Directory
+export ROOTDIR := ../../..
+
+
+# INCLUDE Directory
+export INCDIR := ../;$(PDK_INSTALL_PATH);$(ROOTDIR)
+
+# Common Macros used in make
+
+ifndef RM
+export RM = rm -f
+endif
+
+ifndef CP
+export CP = cp -p
+endif
+
+export MKDIR = mkdir -p
+
+ifndef RMDIR
+export RMDIR = rm -rf
+endif
+
+ifndef SED
+export SED = sed
+endif
+
+ifndef MAKE
+export MAKE = make
+endif
+
+# PHONY Targets
+.PHONY: lib tests examples all clean
+
+# all rule
+all: .executables
+.executables: lib tests examples
+lib:
+
+# Make rule to create $(ARMV7LIBDIR)/libnetapi.a library
+lib: $(ARMV7LIBDIR)/libnetapi.a
+
+$(ARMV7LIBDIR)/libnetapi.a:
+ -@echo Building library...
+ @$(MAKE) -f ./build/Makefile $@
+
+# Rule to clean $(ARMV7LIBDIR)/libnetapi.a library
+clean:
+ -@echo Cleaning netapi package...
+ @$(MAKE) -f ./build/Makefile $@
+ @$(MAKE) -f ./test/build/Makefile $@
+
+# Make rule to create tests
+tests:
+ -@echo compiling tests ...
+ @$(MAKE) -f ./test/build/Makefile $@
+
+examples:
index 21c2edefe257c062db8d16074d2ff1cb31479f4e..ac533924d0d24a152fc6339ad3874e05b43c20ff 100644 (file)
-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
#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
+NWAL_LIB = -lnwal
+PKTLIB_LIB = -lpktlib
+NETAPI_LIB = -lnetapi
-#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$(PDK_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
+# Linker options
+INTERNALLINKDEFS = --start-group -L$(ARMV7LIBDIR) $(NETAPI_LIB) $(PKTLIB_LIB) $(QMSS_LIB) $(CPPI_LIB) $(NWAL_LIB) $(PA_LIB) -lrt --end-group
-all: net_test synchtest synchtest2
+all: tests
+
+tests: $(ARMV7BINDIR)/netapi/test/.created $(ARMV7BINDIR)/netapi/test/net_test $(ARMV7BINDIR)/netapi/test/synchtest $(ARMV7BINDIR)/netapi/test/synchtest2
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/
+ @touch $(ARMV7OBJDIR)/netapi/test/.created
+
+$(ARMV7BINDIR)/netapi/test/.created:
+ @mkdir -p $(ARMV7BINDIR)/netapi/test/
+ @touch $(ARMV7BINDIR)/netapi/test/.created
+
+$(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
+
-
-synchtest: ../synchtest.o
- $(CC) $(LDFLAGS) ../synchtest.o -o synchtest
+$(ARMV7BINDIR)/netapi/test/synchtest: $(ARMV7OBJDIR)/netapi/test/synchtest.o
+ $(CC) $(LDFLAGS) $(ARMV7OBJDIR)/netapi/test/synchtest.o -o $(ARMV7BINDIR)/netapi/test/synchtest
-synchtest2: ../synchtest2.o
- $(CC) $(LDFLAGS) ../synchtest2.o -o synchtest2 -lpthread
+$(ARMV7BINDIR)/netapi/test/synchtest2: $(ARMV7OBJDIR)/netapi/test/synchtest2.o
+ $(CC) $(LDFLAGS) $(ARMV7OBJDIR)/netapi/test/synchtest2.o -o $(ARMV7BINDIR)/netapi/test/synchtest2 -lpthread