1 #*******************************************************************************
2 #* FILE PURPOSE: Top level makefile for Creating Component Libraries for ARM
3 #* architectures
4 #*******************************************************************************
5 #* FILE NAME: makefile
6 #*
7 #* DESCRIPTION: Defines Compiler tools paths, libraries , Build Options
8 #*
9 #*
10 #*******************************************************************************
11 #*
12 # (Mandatory) Specify where various tools are installed.
14 # Output for prebuilt generated libraries
15 export ARMV7LIBDIR ?= ./lib
16 export ARMV7OBJDIR ?= ./obj
17 export ARMV7OBJDIR_SO := $(ARMV7OBJDIR)/netapi/lib_so
18 export ARMV7OBJDIR := $(ARMV7OBJDIR)/netapi/lib
20 export ARMV7BINDIR ?= ./bin
22 export DEVICE ?=k2l
24 #Enable the following to build for tci6614
25 #export CPU ?=cortex-a8
28 # ROOT Directory
29 export ROOTDIR := ../../..
32 # INCLUDE Directory
33 export INCDIR := ../;$(PDK_INSTALL_PATH);$(ROOTDIR)
35 # Common Macros used in make
37 ifndef RM
38 export RM = rm -f
39 endif
41 ifndef CP
42 export CP = cp -p
43 endif
45 export MKDIR = mkdir -p
47 ifndef RMDIR
48 export RMDIR = rm -rf
49 endif
51 ifndef SED
52 export SED = sed
53 endif
55 ifndef MAKE
56 export MAKE = make
57 endif
59 ifeq ($(DEVICE), k2h)
60 export CSL_DEVICE = -DDEVICE_K2H
61 endif
62 ifeq ($(DEVICE), k2k)
63 export CSL_DEVICE = -DDEVICE_K2K
64 endif
65 ifeq ($(DEVICE), k2l)
66 export CSL_DEVICE = -DDEVICE_K2L -DNSS_GEN2
67 endif
68 ifeq ($(DEVICE), k2e)
69 export CSL_DEVICE = -DDEVICE_K2E -DNSS_GEN2
70 endif
72 # PHONY Targets
73 .PHONY: all clean lib tests examples install installbin demo installdemo
75 # all rule
76 all: .executables install installbin installdemo
77 .executables: lib tests examples
79 # Make rule to create $(ARMV7LIBDIR)/libnetapi.a library
80 lib: $(ARMV7LIBDIR)/libnetapi_$(DEVICE).a libnetapi_$(DEVICE).so
82 $(ARMV7LIBDIR)/libnetapi_$(DEVICE).a:
83 -@echo Building library...
84 -@echo ARMV7OBJDIR = $(ARMV7OBJDIR)
85 @$(MAKE) -f ./build/Makefile $@
88 libnetapi_$(DEVICE).so:
89 -@echo Building library...
90 -@echo ARMV7OBJDIR = $(ARMV7OBJDIR_SO)
91 @$(MAKE) -f ./build/Makefile $@
94 # Rule to clean $(ARMV7LIBDIR)/libnetapi.a library
95 clean:
96 -@echo Cleaning netapi package... $@
97 @$(MAKE) -f ./build/Makefile $@
98 @$(MAKE) -f ./test/build/Makefile $@
100 install:
101 install -d $(INSTALL_INC_BASE_DIR)/ti/runtime/netapi
102 install -d $(INSTALL_INC_BASE_DIR)/ti/runtime/netapi/src
103 install -d $(INSTALL_LIB_BASE_DIR)
104 $(CP) ./*.h $(INSTALL_INC_BASE_DIR)/ti/runtime/netapi
105 $(CP) -r ./device $(INSTALL_INC_BASE_DIR)/ti/runtime/netapi/
106 @$(CP) -r $(ARMV7LIBDIR)/libnetapi_$(DEVICE).a $(INSTALL_LIB_BASE_DIR)
107 @$(CP) -rp $(ARMV7LIBDIR)/libnetapi_$(DEVICE).so* $(INSTALL_LIB_BASE_DIR)
108 $(CP) src/*.h $(INSTALL_INC_BASE_DIR)/ti/runtime/netapi/src
110 installbin:
111 install -d $(INSTALL_BIN_BASE_DIR)
112 install -c -m 755 $(ARMV7BINDIR)/netapi/test/net_test_loopback_$(DEVICE) $(INSTALL_BIN_BASE_DIR)/net_test_loopback_$(DEVICE)
113 install -c -m 755 $(ARMV7BINDIR)/netapi/test/net_test_router_$(DEVICE) $(INSTALL_BIN_BASE_DIR)/net_test_router_$(DEVICE)
114 install -c -m 755 $(ARMV7BINDIR)/netapi/test/net_test_bench_$(DEVICE) $(INSTALL_BIN_BASE_DIR)/net_test_bench_$(DEVICE)
115 install -d $(SYSCONFDIR)/transportnetlib/test
116 $(CP) test/net_test_config.txt $(SYSCONFDIR)/transportnetlib/test
117 install -c -m 755 tools/net_test_loopback_setup.sh $(SYSCONFDIR)/transportnetlib/test
118 install -c -m 755 tools/net_test_router_setup.sh $(SYSCONFDIR)/transportnetlib/test
119 install -c -m 755 tools/irqset.sh $(SYSCONFDIR)/transportnetlib/test
120 install -c -m 755 tools/dsp_core_setup.sh $(SYSCONFDIR)/transportnetlib/test
122 installdemo:
123 install -d $(INSTALL_BIN_BASE_DIR)
124 install -c -m 755 $(ARMV7BINDIR)/netapi/demo/transport_dpi_demo $(INSTALL_BIN_BASE_DIR)/
125 install -d $(SYSCONFDIR)/transportnetlib/dpi_demo
126 install -c -m 755 demo/demo_setup_files/transport_dpi_demo_setup.sh $(SYSCONFDIR)/transportnetlib/dpi_demo
127 install -c -m 755 demo/demo_setup_files/index.html $(SYSCONFDIR)/transportnetlib/dpi_demo
128 install -c -m 755 demo/demo_setup_files/dpicgi1.sh $(SYSCONFDIR)/transportnetlib/dpi_demo
129 install -c -m 755 demo/demo_setup_files/dpicgi2.sh $(SYSCONFDIR)/transportnetlib/dpi_demo
130 install -c -m 755 demo/demo_setup_files/dpicgi3.sh $(SYSCONFDIR)/transportnetlib/dpi_demo
131 install -c demo/demo_setup_files/stats1.awk $(SYSCONFDIR)/transportnetlib/dpi_demo
132 install -c demo/demo_setup_files/stats2.awk $(SYSCONFDIR)/transportnetlib/dpi_demo
133 install -c demo/demo_setup_files/stats3.awk $(SYSCONFDIR)/transportnetlib/dpi_demo
135 # Make rule to create tests
136 tests:
137 -@echo compiling tests
138 @$(MAKE) -f ./test/build/Makefile $@
140 # Make rule to create net_test_dpi_demo
141 demo:
142 -@echo compiling tests
143 @$(MAKE) -f ./demo/build/Makefile $@
144 examples: