]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/netapi.git/blob - ti/runtime/hplib/build/Makefile
Updated the hplib build infrastructure to align for yocto
[keystone-rtos/netapi.git] / ti / runtime / hplib / build / Makefile
1 # Macro definitions referenced below
2 #
3 empty =
4 space =$(empty) $(empty)
6 export PDK_VER ?= v2
8 export CPU ?= cortex-a15 
10 ifeq ($(PDK_VER),v2)
11 PDK_VERSION = 2
12 else
13 PDK_VERSION = 3
14 endif
15 ifeq ($(CPU),  cortex-a8)
16         CFLAGS += -DCORTEX_A8
17 endif
18 ifeq ($(CPU),  cortex-a15)
19         CFLAGS += -DCORTEX_A15
20 endif
22 # INCLUDE Directories
23 CPPI_INC_DIR = $(PDK_INSTALL_PATH)/ti/drv/cppi
24 NETAPI_INC_DIR = $(NETAPI_INSTALL_PATH)/ti/runtime/netapi
27 ifeq ($(strip $(SA_INSTALL_PATH)),)
28 INCDIR := ../../..;$(PDK_INSTALL_PATH);$(ROOTDIR)
29 else
30 INCDIR := ../../..;$(PDK_INSTALL_PATH);$(ROOTDIR);$(SA_INSTALL_PATH)
31 endif
35 # Output for prebuilt generated libraries
36 #export ARMV7LIBDIR ?= ../lib
37 #export ARMV7OBJDIR ?= ../obj
38 ARMV7LIBDIR ?= ./lib
39 ARMV7OBJDIR ?= ./obj
40 ARMV7OBJDIR := $(ARMV7OBJDIR)/hplib/lib
41 ARMV7BINDIR ?= ./bin
43 # Set High Perf LiB INSTALL PATH to Transport SDK for default
44 export HPLIB_INSTALL_PATH ?= $(TRANS_SDK_INSTALL_PATH)
46 INCS = -I. -I$(strip $(subst ;, -I,$(subst $(space),\$(space),$(INCDIR))))
48 CFLAGS+= $(DEBUG_FLAG) -I$(HPLIB_INC_DIR) -I $(SRCDIR)  -I$(TRANS_SDK_INSTALL_PATH) -I$(CPPI_INC_DIR) -I$(NETAPI_INC_DIR) $(CSL_DEVICE) -D__LINUX_USER_SPACE  -DNWAL_ENABLE_SA -pthread -D _GNU_SOURCE -DPDK_VERSION=$(PDK_VERSION)
50 #INTERNALDEFS = -D__ARMv7 -D_LITTLE_ENDIAN=1 -D_VIRTUAL_ADDR_SUPPORT -DMAKEFILE_BUILD $(CFLAGS) $(LDFLAGS)
51 INTERNALDEFS = -D__ARMv7 -D_LITTLE_ENDIAN=1 -D_VIRTUAL_ADDR_SUPPORT -DMAKEFILE_BUILD 
53 #HPLIB dirs
54 OBJEXT = o 
55 INTERNALLINKDEFS =
56 #HPLIB_INC_DIR = $(HPLIB_INSTALL_PATH)/ti/runtime/hplib
57 HPLIB_INC_DIR = $(PDK_INSTALL_PATH)/ti/runtime/hplib
58 HPLIB_DOCS_DIR = $(HPLIB_INSTALL_PATH)/ti/runtime/hplib/docs
59 SRCDIR = ./src
61 VPATH=$(SRCDIR)
63 ifdef CROSS_TOOL_INSTALL_PATH
64 ## Support backwards compatibility with KeyStone1 approach
65  CC = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)gcc
66  AC = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)as
67  AR = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)ar
68  LD = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)gcc
69 endif
70 #Cross tools
72 #CC = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)gcc -c
73 #AR = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)ar -r
76 #List the COMMONSRC Files
77 COMMONSRCC = \
78     hplib_vm.c \
79     hplib_util.c \
80     osal.c \
81     tim64.c\
82     timlist.c
84 CSL_DEVICE ?= -DDEVICE_K2H
87 CFLAGS+= $(DEBUG_FLAG) -I$(HPLIB_INC_DIR) -I. -I $(SRCDIR) -I$(PDK_INSTALL_PATH) -I$(NWAL_INSTALL_PATH) -I$(PKTLIB_INSTALL_PATH) -I$(TRANS_SDK_INSTALL_PATH) -I$(CPPI_INC_DIR) -I$(NETAPI_INC_DIR) $(CSL_DEVICE) -D__LINUX_USER_SPACE  -DNWAL_ENABLE_SA -pthread -D _GNU_SOURCE -DPDK_VERSION=$(PDK_VERSION)
89 #all: lib
91 #lib: $(ARMV7LIBDIR)/libhplib.a
94 # Make Rule for the COMMONSRC Files
95 COMMONSRCCOBJS = $(patsubst %.c, $(ARMV7OBJDIR)/%.$(OBJEXT), $(COMMONSRCC))
97 $(COMMONSRCCOBJS): $(ARMV7OBJDIR)/%.$(OBJEXT): %.c $(ARMV7OBJDIR)/.created
98         -@echo compiling $< ... $(CC)
99         -@echo HPLIB_INC_DIR $(HPLIBINC_DIR)
100         $(CC) -c $(CFLAGS) $(INTERNALDEFS) $(INCS) $< -o $@
102 #$(ARMV7LIBDIR)/libhplib.a: $(COMMONSRCCOBJS)
103 $(ARMV7LIBDIR)/libhplib.a: $(COMMONSRCCOBJS) $(ARMV7LIBDIR)/.created
104         @mkdir -p $(ARMV7LIBDIR)
105         @echo archiving $? into $@ ...
106         @$(AR) -r $@ $?
108 clean:
109         rm -f $(ARMV7OBJDIR)/*.o
110         rm -f $(ARMV7LIBDIR)/libhplib.a
112 module:
113         -@echo compiling $< ...
114         make -f ../module/Makefile
116 doxygen:
117         doxygen hplib_doxygen.cfg
119 $(ARMV7OBJDIR)/.created:
120         @mkdir -p $(ARMV7OBJDIR)
121         @touch $(ARMV7OBJDIR)/.created
123 $(ARMV7LIBDIR)/.created:
124         @mkdir -p $(ARMV7LIBDIR)
125         @touch $(ARMV7LIBDIR)/.created
127 #clean_doxygen: 
128 #       rm -rf $(HPLIB_DOCS_DIR)/html
129 #       rm -rf $(HPLIB_DOCS_DIR)/latex
131 print:
132         @echo  'cflags is $(CFLAGS)'