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 # DEVICE
18 export DEVICE ?= k2l
20 # LLD NAME
21 ifeq ($(findstring $(DEVICE),k2h k2k),)
22 export LLD_NAME=pa2
23 else
24 export LLD_NAME=pa
25 endif
27 # Output for prebuilt generated libraries
28 export ARMV7LIBDIR ?= ./lib
29 export ARMV7OBJDIR ?= ./obj/$(DEVICE)
30 export ARMV7BINDIR ?= ./bin/$(DEVICE)
32 # ROOT Directory
33 export ROOTDIR := ../../..
35 # INCLUDE Directory
36 export INCDIR := ../../..;$(PDK_INSTALL_PATH);$(ROOTDIR)
38 # Common Macros used in make
39 ifndef RM
40 export RM = rm -f
41 endif
43 ifndef CP
44 export CP = cp -p
45 endif
47 export MKDIR = mkdir -p
49 ifndef RMDIR
50 export RMDIR = rm -rf
51 endif
53 ifndef SED
54 export SED = sed
55 endif
57 ifndef MAKE
58 export MAKE = make
59 endif
61 # PHONY Targets
62 .PHONY: all clean lib tests examples install installbin
64 # all rule
65 all: .executables
66 .executables: lib tests examples
68 # Libraries
69 lib: .libraries
71 # tests Stub to add tests
72 tests:
73 @$(MAKE) -f ./test/PAUnitTest/$(DEVICE)/armv7/linux/build/makefile all
75 # examples Stub to add Examples
76 examples:
77 @$(MAKE) -f ./example/emacExample/$(DEVICE)/armv7/linux/build/makefile all
78 @$(MAKE) -f ./example/multicoreExample/$(DEVICE)/armv7/linux/build/makefile all
80 # Make rule to create $(ARMV7LIBDIR)/libpa.a library
81 .libraries: $(ARMV7LIBDIR)/lib$(LLD_NAME).a lib$(LLD_NAME).so
83 $(ARMV7LIBDIR)/lib$(LLD_NAME).a:
84 @$(MAKE) -f ./build/armv7/libpa_aearmv7.mk $@
86 lib$(LLD_NAME).so:
87 @$(MAKE) -f ./build/armv7/libpa_aearmv7.mk $@
89 # Rule to clean $(ARMV7LIBDIR)/lib$(LLD_NMAE).a library
90 clean:
91 @$(MAKE) -f ./build/armv7/libpa_aearmv7.mk $@
92 @$(RM) $(ARMV7LIBDIR)/lib$(LLD_NMAE).a
93 @$(MAKE) -f ./example/emacExample/$(DEVICE)/armv7/linux/build/makefile $@
94 @$(MAKE) -f ./example/multicoreExample/$(DEVICE)/armv7/linux/build/makefile $@
95 @$(MAKE) -f ./test/PAUnitTest/$(DEVICE)/armv7/linux/build/makefile $@
96 @$(RMDIR) $(ARMV7OBJDIR)/$(LLD_NMAE)
97 @$(RMDIR) $(ARMV7BINDIR)/$(LLD_NMAE)
98 @$(RMDIR) $(ARMV7OBJDIR_SO)/$(LLD_NAME)
99 @$(RM) $(ARMV7LIBDIR)/lib$(LLD_NAME).a
100 @$(RM) $(ARMV7LIBDIR)/lib$(LLD_NAME).so
101 @$(RM) $(ARMV7LIBDIR)/lib$(LLD_NAME).so.*
103 installbin:
104 install -d $(INSTALL_BIN_BASE_DIR)
105 install -c -m 755 $(ARMV7BINDIR)/pa/example/paEmacExample.out $(INSTALL_BIN_BASE_DIR)/paEmacExample_$(DEVICE).out
106 install -c -m 755 $(ARMV7BINDIR)/pa/test/paUnitTest.out $(INSTALL_BIN_BASE_DIR)/paUnitTest_$(DEVICE).out
107 install -c -m 755 $(ARMV7BINDIR)/pa/example/paMCExample.out $(INSTALL_BIN_BASE_DIR)/paMCExample_$(DEVICE).out
108 install -c -m 755 $(ARMV7BINDIR)/pa/example/paEmacExample_so.out $(INSTALL_BIN_BASE_DIR)/paEmacExample_so_$(DEVICE).out
109 install -c -m 755 $(ARMV7BINDIR)/pa/test/paUnitTest_so.out $(INSTALL_BIN_BASE_DIR)/paUnitTest_so_$(DEVICE).out
110 install -c -m 755 $(ARMV7BINDIR)/pa/example/paMCExample_so.out $(INSTALL_BIN_BASE_DIR)/paMCExample_so_$(DEVICE).out
112 install:
113 install -d $(INSTALL_INC_BASE_DIR)/ti/drv/pa/fw/v0
114 install -d $(INSTALL_INC_BASE_DIR)/ti/drv/pa/fw/v1
115 install -d $(INSTALL_LIB_BASE_DIR)
116 $(CP) ./*.h $(INSTALL_INC_BASE_DIR)/ti/drv/pa
117 $(CP) -r ./device $(INSTALL_INC_BASE_DIR)/ti/drv/pa/
118 $(CP) ./fw/pafw.h $(INSTALL_INC_BASE_DIR)/ti/drv/pa/fw
119 $(CP) ./fw/v0/pafw.h $(INSTALL_INC_BASE_DIR)/ti/drv/pa/fw/v0
120 $(CP) ./fw/v1/pafw.h $(INSTALL_INC_BASE_DIR)/ti/drv/pa/fw/v1
121 $(CP) ./fw/v0/*_bin.c $(INSTALL_INC_BASE_DIR)/ti/drv/pa/fw/v0
122 $(CP) ./fw/v1/*_bin.c $(INSTALL_INC_BASE_DIR)/ti/drv/pa/fw/v1
123 @$(CP) -r $(ARMV7LIBDIR)/*.a $(INSTALL_LIB_BASE_DIR)
124 @$(CP) -r $(ARMV7LIBDIR)/*.so $(INSTALL_LIB_BASE_DIR)
125 @$(CP) -r $(ARMV7LIBDIR)/*.so.* $(INSTALL_LIB_BASE_DIR)