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 # Set the device to build the test bin files
15 export DEVICE ?= c6614
17 # Dependent package install location
18 export CUIA_INSTALL_DIR ?= $HOME/cuia_1_00_00_13
20 #Default Do not use the shared object libraries for the test/example applications
21 export USEDYNAMIC_LIB ?= "no"
23 # Output for installing generated library and binary files for install rule
24 export TARGET_ROOT_DIR ?= .
25 export USRBIN_DIR ?= $(TARGET_ROOT_DIR)/usr/bin
26 export USRLIB_DIR ?= $(TARGET_ROOT_DIR)/usr/lib
27 export USRINC_DIR ?= $(TARGET_ROOT_DIR)/usr/include
29 # Output for prebuilt generated libraries
30 export ARMV7LIBDIR ?= ./lib/armv7
31 export ARMV7BINDIR ?= ./bin
32 export ARMV7OBJDIR ?= ./obj
34 # ROOT Directory
35 export ROOTDIR := ../../..
37 # INCLUDE Directory
38 export INCDIR := ../../..;$(CUIA_INSTALL_DIR);$(CUIA_INSTALL_DIR)/packages;$(CUIA_INSTALL_DIR)/sources;$(ROOTDIR)
40 # Common Macros used in make
41 ifndef RM
42 export RM = rm -f
43 endif
45 ifndef CP
46 export CP = cp -p
47 endif
49 export MKDIR = mkdir -p
51 ifndef RMDIR
52 export RMDIR = rm -rf
53 endif
55 ifndef SED
56 export SED = sed
57 endif
59 ifndef MAKE
60 export MAKE = make
61 endif
63 # PHONY Targets
64 .PHONY: all clean lib tests install
66 # all rule
67 all: .executables
68 .executables: lib tests
70 # Libraries
71 lib: .libraries
73 # tests Stub to add tests
74 tests:
75 @$(MAKE) -f ./test/TFUnitTest/$(DEVICE)/armv7/linux/build/makefile all
77 # Make rule to create trace framework libraries
78 .libraries: $(ARMV7LIBDIR)/libtraceframework.a libtraceframework.so
80 $(ARMV7LIBDIR)/libtraceframework.a:
81 @echo Creating the static library
82 @$(MAKE) -f ./build/armv7/libtf_aearmv7.mk $@
84 libtraceframework.so:
85 @echo Creating the shared library
86 @$(MAKE) -f ./build/armv7/libtf_aearmv7.mk $@
88 # Rule to clean traceframework library
89 clean:
90 @$(MAKE) -f ./build/armv7/libtf_aearmv7.mk $@
91 @$(RM) $(ARMV7LIBDIR)/libtraceframework.a
92 @$(MAKE) -f ./test/TFUnitTest/$(DEVICE)/armv7/linux/build/makefile $@
93 @$(RMDIR) $(ARMV7OBJDIR)
94 @$(RMDIR) $(ARMV7BINDIR)
95 @$(RM) $(ARMV7LIBDIR)/libtraceframework.so
96 @$(RM) $(ARMV7LIBDIR)/libtraceframework.so.*
98 install:
99 install -d $(USRINC_DIR)/ti/instrumentation/traceframework
100 install -d $(USRLIB_DIR)
101 install -d $(USRBIN_DIR)
102 $(CP) ./*.h $(USRINC_DIR)/ti/instrumentation/traceframework
103 @$(CP) -r $(ARMV7LIBDIR)/*.a $(USRLIB_DIR)
104 @$(CP) -r $(ARMV7LIBDIR)/*.so $(USRLIB_DIR)
105 @$(CP) -r $(ARMV7LIBDIR)/*.so.* $(USRLIB_DIR)
106 @$(CP) -r $(ARMV7BINDIR)/* $(USRBIN_DIR)