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 #Default Do not use the shared object libraries for the test/example applications
15 export USEDYNAMIC_LIB ?= "no"
17 # Output for prebuilt generated libraries
18 export DEVICE ?=k2h
19 export ARMV7LIBDIR ?=./lib
20 export ARMV7OBJDIR ?=./obj/$(DEVICE)
21 export ARMV7BINDIR ?=./bin/$(DEVICE)
23 # ROOT Directory
24 export ROOTDIR := ../../..
27 # INCLUDE Directory
28 export INCDIR := ../../..;$(PDK_INSTALL_PATH);$(ROOTDIR)
30 # Common Macros used in make
32 ifndef RM
33 export RM = rm -f
34 endif
36 ifndef CP
37 export CP = cp -p
38 endif
40 export MKDIR = mkdir -p
42 ifndef RMDIR
43 export RMDIR = rm -rf
44 endif
46 ifndef SED
47 export SED = sed
48 endif
50 ifndef MAKE
51 export MAKE = make
52 endif
54 # PHONY Targets
55 .PHONY: all clean lib distclean examples install installbin tests installsa3gppEnabler installlib installhdr utils
57 # all rule
58 all: .executables
59 .executables: lib examples utils
61 tests:
62 # dummy rule to get pass sa build error when top level makefile issues this rule
64 utils:
65 $(MAKE) -f ./util/coreDump/$(DEVICE)/armv7/linux/build/makefile all
67 # Libraries
68 lib: .libraries
70 # examples Stub to add Examples
71 examples:
72 $(MAKE) -f ./example/SaBasicExample/$(DEVICE)/armv7/linux/build/makefile all
73 $(MAKE) -f ./example/SaMultiCoreExample/$(DEVICE)/armv7/linux/build/makefile all
75 # Make rule to create $(ARMV7LIBDIR)/libsa.a libsa.so library
76 .libraries: $(ARMV7LIBDIR)/libsa.a libsa.so
78 $(ARMV7LIBDIR)/libsa.a:
79 @$(MAKE) -f ./build/armv7/libsa_aearmv7.mk $@
81 libsa.so:
82 @$(MAKE) -f ./build/armv7/libsa_aearmv7.mk $@
84 # Rule to clean $(ARMV7LIBDIR)/libsa.a library
85 clean:
86 @$(MAKE) -f ./build/armv7/libsa_aearmv7.mk $@
87 @$(MAKE) -f ./example/SaBasicExample/$(DEVICE)/armv7/linux/build/makefile $@
88 @$(MAKE) -f ./example/SaMultiCoreExample/$(DEVICE)/armv7/linux/build/makefile $@
89 @$(MAKE) -f ./util/coreDump/$(DEVICE)/armv7/linux/build/makefile $@
90 @$(RM) $(ARMV7LIBDIR)/libsa.a
91 @$(RM) $(ARMV7LIBDIR)/libsa.so
92 @$(RM) $(ARMV7LIBDIR)/libsa.so.*
93 @$(RM) $(ARMV7LIBDIR)/.created
94 @$(RMDIR) $(ARMV7OBJDIR)/sa
95 @$(RMDIR) $(ARMV7BINDIR)/sa
97 distclean: clean
99 installbin:
100 install -d $(INSTALL_BIN_BASE_DIR)
101 install -c -m 755 $(ARMV7BINDIR)/sa/example/saBasicExample.out $(INSTALL_BIN_BASE_DIR)/saBasicExample_$(DEVICE).out
102 install -c -m 755 $(ARMV7BINDIR)/sa/example/saMCExample.out $(INSTALL_BIN_BASE_DIR)/saMCExample_$(DEVICE).out
103 install -c -m 755 $(ARMV7BINDIR)/sa/util/saCoreDumpUtil_$(DEVICE).out $(INSTALL_BIN_BASE_DIR)/saCoreDumpUtil_$(DEVICE).out
104 install -c -m 755 $(ARMV7BINDIR)/sa/example/saBasicExample_so.out $(INSTALL_BIN_BASE_DIR)/saBasicExample_so_$(DEVICE).out
105 install -c -m 755 $(ARMV7BINDIR)/sa/example/saMCExample_so.out $(INSTALL_BIN_BASE_DIR)/saMCExample_so_$(DEVICE).out
107 install:
108 install -d $(INSTALL_INC_BASE_DIR)/ti/drv/sa/fw/v0
109 install -d $(INSTALL_INC_BASE_DIR)/ti/drv/sa/fw/v1
110 install -d $(INSTALL_LIB_BASE_DIR)
111 $(CP) ./*.h $(INSTALL_INC_BASE_DIR)/ti/drv/sa
112 $(CP) ./fw/safw.h $(INSTALL_INC_BASE_DIR)/ti/drv/sa/fw
113 $(CP) ./fw/v0/safw.h $(INSTALL_INC_BASE_DIR)/ti/drv/sa/fw/v0
114 $(CP) ./fw/v1/safw.h $(INSTALL_INC_BASE_DIR)/ti/drv/sa/fw/v1
115 $(CP) ./fw/v0/*_bin.c $(INSTALL_INC_BASE_DIR)/ti/drv/sa/fw/v0
116 $(CP) ./fw/v1/*_bin.c $(INSTALL_INC_BASE_DIR)/ti/drv/sa/fw/v1
117 @$(CP) -r $(ARMV7LIBDIR)/*.a $(INSTALL_LIB_BASE_DIR)
118 @$(CP) -r $(ARMV7LIBDIR)/*.so $(INSTALL_LIB_BASE_DIR)
119 @$(CP) -r $(ARMV7LIBDIR)/*.so.* $(INSTALL_LIB_BASE_DIR)
122 ifeq ($(SA3GPPENABLER_IFACE_FILES), yes)
123 installhdr:
124 @install -d $(SA3GPPENABLER_INSTALL_BASE_DIR)/usr/include/ti/drv/sa/sa3gppEnabler
125 @$(CP) ./sa3gppEnabler/sa3gpp.h $(SA3GPPENABLER_INSTALL_BASE_DIR)/usr/include/ti/drv/sa/sa3gppEnabler
126 @$(CP) ./sa3gppEnabler/sa3gppver.h $(SA3GPPENABLER_INSTALL_BASE_DIR)/usr/include/ti/drv/sa/sa3gppEnabler
127 @echo " "
128 @echo " installed Sa 3GPP enabler interface files under" $(SA3GPPENABLER_INSTALL_BASE_DIR)/usr/include
129 @echo " installed SA 3gpp Enabler Library files under" $(SA3GPPENABLER_INSTALL_BASE_DIR)/usr/lib
130 @echo " "
131 else
132 installhdr:
133 @echo " "
134 @echo " installed Sa 3GPP enabler library files under" $(SA3GPPENABLER_INSTALL_BASE_DIR)/usr/lib
135 @echo " "
136 endif
138 installlib:
139 @install -d $(SA3GPPENABLER_INSTALL_BASE_DIR)/usr/lib
140 @$(CP) -r ./sa3gppEnabler/lib/armv7/*.a $(SA3GPPENABLER_INSTALL_BASE_DIR)/usr/lib
141 @$(CP) -r ./sa3gppEnabler/lib/armv7/*.so $(SA3GPPENABLER_INSTALL_BASE_DIR)/usr/lib
142 @$(CP) -r ./sa3gppEnabler/lib/armv7/*.so* $(SA3GPPENABLER_INSTALL_BASE_DIR)/usr/lib
144 ifndef SA3GPPENABLER_INSTALL_BASE_DIR
145 installsa3gppenabler:
146 @echo " Error:"
147 @echo " SA3GPPENABLER_INSTALL_BASE_DIR is not defined"
148 @echo " "
149 @echo " Usage:"
150 @echo " make -f makefile_armv7 SA3GPPENABLER_INSTALL_BASE_DIR=<base_dir> SA3GPPENABLER_IFACE_FILES=yes <optional>"
151 @echo " "
152 @echo " Description: "
153 @echo " Installs the Sa 3gpp Enabler library files under <base_dir>/usr/lib and"
154 @echo " when SA3GPPENABLER_IFACE_FILES = yes,"
155 @echo " installs the 3gpp enabler interface files under <base_dir>/usr/include/ti/drv/sa/sa3gppEnabler"
156 @echo " "
157 else
158 installsa3gppenabler: installlib installhdr
159 endif