dd238de799aa12d0f33f3dc1511cbdf9287c62aa
1 # Macro definitions referenced below
2 #
3 empty =
4 space =$(empty) $(empty)
6 export PDK_VER ?= v2
8 ifeq ($(PDK_VER),v2)
9 PDK_VERSION = 2
10 else
11 PDK_VERSION = 3
12 endif
14 # INCLUDE Directories
15 CPPI_INC_DIR = $(PDK_INSTALL_PATH)/ti/drv/cppi
18 ifeq ($(strip $(SA_INSTALL_PATH)),)
19 INCDIR := ../../..;$(PDK_INSTALL_PATH);$(ROOTDIR)
20 else
21 INCDIR := ../../..;$(PDK_INSTALL_PATH);$(ROOTDIR);$(SA_INSTALL_PATH)
22 endif
26 # Output for prebuilt generated libraries
27 ARMV7LIBDIR ?= ./lib
28 ARMV7OBJDIR ?= ./obj
29 ARMV7OBJDIR_SO := $(ARMV7OBJDIR)/hplib/lib_so
30 ARMV7OBJDIR_NO_OSAL_SO := $(ARMV7OBJDIR)/hplib/lib_no_osal_so
31 ARMV7OBJDIR_NO_OSAL := $(ARMV7OBJDIR)/hplib/lib_no_osal
32 ARMV7OBJDIR := $(ARMV7OBJDIR)/hplib/lib
33 ARMV7BINDIR ?= ./bin
35 INCS = -I. -I$(strip $(subst ;, -I,$(subst $(space),\$(space),$(INCDIR))))
37 INTERNALDEFS = -D__ARMv7 -D_LITTLE_ENDIAN=1 -D_VIRTUAL_ADDR_SUPPORT -DMAKEFILE_BUILD
41 ifeq ($(CPU), cortex-a8)
42 INTERNALDEFS += -DCORTEX_A8
43 endif
45 OBJEXT = o
46 INTERNALLINKDEFS =
47 SRCDIR = ./src
49 VPATH=$(SRCDIR)
51 ifdef CROSS_TOOL_INSTALL_PATH
52 ## Support backwards compatibility with KeyStone1 approach
53 CC = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)gcc
54 AR = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)ar
55 LD = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)gcc
56 endif
57 #Cross tools
60 #List the COMMONSRC Files
61 COMMONSRCC = \
62 hplib_vm.c \
63 hplib_shm.c \
64 hplib_util.c \
65 osal.c \
66 tim64.c \
67 timlist.c \
68 bm_alloc.c
70 #ifneq ($(DISABLE_OSAL), yes)
71 #COMMONSRCC += osal.c
72 #endif
74 CFLAGS+= $(DEBUG_FLAG) -I. -I $(SRCDIR) -I$(PDK_INSTALL_PATH) -I$(TRANS_SDK_INSTALL_PATH) -I$(CPPI_INC_DIR) -D__LINUX_USER_SPACE -pthread -D _GNU_SOURCE -DPDK_VERSION=$(PDK_VERSION)
77 # Make Rule for the COMMONSRC Files
78 COMMONSRCCOBJS = $(patsubst %.c, $(ARMV7OBJDIR)/%.$(OBJEXT), $(COMMONSRCC))
79 COMMONSRCCOBJS_SO = $(patsubst %.c, $(ARMV7OBJDIR_SO)/%.$(OBJEXT), $(COMMONSRCC))
81 $(COMMONSRCCOBJS): $(ARMV7OBJDIR)/%.$(OBJEXT): %.c $(ARMV7OBJDIR)/.created
82 -@echo compiling $< ... $(CC)
83 $(CC) -c $(CFLAGS) $(INTERNALDEFS) $(INCS) $< -o $@
85 $(COMMONSRCCOBJS_SO): $(ARMV7OBJDIR_SO)/%.$(OBJEXT): %.c $(ARMV7OBJDIR_SO)/.created
86 -@echo compiling $< ...
87 $(CC) -c $(CFLAGS) $(INTERNALDEFS) -fPIC $(INCS) $< -o $@
89 $(ARMV7LIBDIR)/libhplib_$(DEVICE).a: $(COMMONSRCCOBJS) $(ARMV7LIBDIR)/.created
90 @mkdir -p $(ARMV7LIBDIR)
91 @echo archiving $? into $@ ...
92 @$(AR) -r $@ $?
94 libhplib_$(DEVICE).so: $(COMMONSRCCOBJS_SO)
95 @echo archiving $? into $(ARMV7LIBDIR)/$@.1 ...
96 @$(CC) $(DEBUG_FLAG) -ggdb2 -Wl,-soname=$@.1 -shared -fPIC ${LDFLAGS} -o $@.1.0.0 $^
97 @ln -s $@.1.0.0 $@.1
98 @ln -s $@.1 $@
99 @mv -f $@.1.0.0 $(ARMV7LIBDIR)/$@.1.0.0
100 @mv -f $@.1 $(ARMV7LIBDIR)/$@.1
101 @mv -f $@ $(ARMV7LIBDIR)/$@
103 $(ARMV7OBJDIR)/.created:
104 @mkdir -p $(ARMV7OBJDIR)
105 @touch $(ARMV7OBJDIR)/.created
107 $(ARMV7OBJDIR_SO)/.created:
108 @mkdir -p $(ARMV7OBJDIR_SO)
109 @touch $(ARMV7OBJDIR_SO)/.created
111 COMMONSRCC1 = \
112 hplib_vm.c \
113 hplib_shm.c \
114 hplib_util.c \
115 tim64.c \
116 timlist.c
118 COMMONSRCCOBJS1 = $(patsubst %.c, $(ARMV7OBJDIR_NO_OSAL)/%.$(OBJEXT), $(COMMONSRCC1))
119 COMMONSRCCOBJS1_SO = $(patsubst %.c, $(ARMV7OBJDIR_NO_OSAL_SO)/%.$(OBJEXT), $(COMMONSRCC1))
121 $(COMMONSRCCOBJS1): $(ARMV7OBJDIR_NO_OSAL)/%.$(OBJEXT): %.c $(ARMV7OBJDIR_NO_OSAL)/.created
122 @echo compiling $< ... $(CC)
123 $(CC) -c $(CFLAGS) $(INTERNALDEFS) $(INCS) $< -o $@
125 $(COMMONSRCCOBJS1_SO): $(ARMV7OBJDIR_NO_OSAL_SO)/%.$(OBJEXT): %.c $(ARMV7OBJDIR_NO_OSAL_SO)/.created
126 @echo compiling $< ...
127 $(CC) -c $(CFLAGS) $(INTERNALDEFS) -fPIC $(INCS) $< -o $@
131 $(ARMV7LIBDIR)/libhplib-no-osal_$(DEVICE).a: $(COMMONSRCCOBJS1) $(ARMV7LIBDIR)/.created
132 @mkdir -p $(ARMV7LIBDIR)
133 @echo archiving $? into $@ ...
134 @$(AR) -r $@ $?
136 libhplib-no-osal_$(DEVICE).so: $(COMMONSRCCOBJS1_SO)
137 @echo archiving $? into $(ARMV7LIBDIR)/$@.1 ...
138 @$(CC) $(DEBUG_FLAG) -ggdb2 -Wl,-soname=$@.1 -shared -fPIC ${LDFLAGS} -o $@.1.0.0 $^
139 @ln -s $@.1.0.0 $@.1
140 @ln -s $@.1 $@
141 @mv -f $@.1.0.0 $(ARMV7LIBDIR)/$@.1.0.0
142 @mv -f $@.1 $(ARMV7LIBDIR)/$@.1
143 @mv -f $@ $(ARMV7LIBDIR)/$@
145 $(ARMV7OBJDIR_NO_OSAL)/.created:
146 @mkdir -p $(ARMV7OBJDIR_NO_OSAL)
147 @touch $(ARMV7OBJDIR_NO_OSAL)/.created
149 $(ARMV7OBJDIR_NO_OSAL_SO)/.created:
150 @mkdir -p $(ARMV7OBJDIR_NO_OSAL_SO)
151 @touch $(ARMV7OBJDIR_NO_OSAL_SO)/.created
153 clean:
154 rm -rf $(ARMV7OBJDIR)
155 rm -rf $(ARMV7OBJDIR_SO)
156 rm -rf $(ARMV7OBJDIR_NO_OSAL)
157 rm -rf $(ARMV7OBJDIR_NO_OSAL_SO)
158 rm -f $(ARMV7LIBDIR)/libhplib_$(DEVICE).*
160 module:
161 -@echo compiling $< ...
162 make -f ../module/Makefile
164 doxygen:
165 doxygen hplib_doxygen.cfg
168 $(ARMV7LIBDIR)/.created:
169 @mkdir -p $(ARMV7LIBDIR)
170 @touch $(ARMV7LIBDIR)/.created