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