]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/netapi.git/blob - ti/runtime/netapi/applications/ipsec_offload/ipsecmgr/build/Makefile
7b952f4297f27b1ef255ac3b2b7c6415b16912fd
[keystone-rtos/netapi.git] / ti / runtime / netapi / applications / ipsec_offload / ipsecmgr / build / Makefile
1 # Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
3 space =$(empty) $(empty)
5 export ARMV7OBJDIR ?= ./obj
6 export ARMV7BINDIR ?= ./bin
7 export ARMV7LIBDIR ?= ./lib
8 export ARMV7SALIBDIR ?= ./lib
10 # INCLUDE Directories
11 SA_INSTALL_PATH ?= $(PDK_INSTALL_PATH)/ti/drv/sa
12 QMSS_INC_DIR ?= $(PDK_INSTALL_PATH)/ti/drv/qmss
13 CPPI_INC_DIR ?= $(PDK_INSTALL_PATH)/ti/drv/cppi
14 NWAL_INSTALL_PATH ?= $(PDK_INSTALL_PATH)/ti/drv/nwal
15 PKTLIB_INSTALL_PATH ?= $(PDK_INSTALL_PATH)/ti/runtime/pktlib
17 HPLIB_INC_DIR ?= $(TRANS_SDK_INSTALL_PATH)
18 NETAPI_INC_DIR ?=  $(TRANS_SDK_INSTALL_PATH)
19 NETAPI_SRC_DIR ?= $(TRANS_SDK_INSTALL_PATH)/ti/runtime/netapi
21 PDK_ARMV7LIBDIR ?= ARMV7LIBDIR
22 CSL_DEVICE ?= -DDEVICE_K2H
25 ifdef CROSS_TOOL_INSTALL_PATH
26 ## Support backwards compatibility with KeyStone1 approach
27  CC = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)gcc
28  AC = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)as
29  AR = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)ar
30  LD = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)gcc
31 endif
33 #QUIET_CMD=@
34 EXE_NAME_PRFX=ipsecmgr_daemon
36 ###############################################################################
37 # Set default options
38 ###############################################################################
39 CFLAGS+= $(DEBUG_FLAG) -I../ -I. $(CSL_DEVICE) -D__ARMv7 -D_VIRTUAL_ADDR_SUPPORT -D__LINUX_USER_SPACE -D_LITTLE_ENDIAN=1 -DNWAL_ENABLE_SA -DMAKEFILE_BUILD -D _GNU_SOURCE
41 OUTPUT_FILE_OPTION = -o
43 EXE_NAME = $(EXE_NAME_PRFX).out
45 ROOT_DIR = ..
46 #IPSECMGR_IFACE_DIR?= ../../../
47 IPSECMGR_UTIL_IFACE_DIR?= ../../../utils/iface
48 IPSECMGR_IFACE_DIR?= ../
51 QMSS_LIB=qmss
52 CPPI_LIB=cppi
53 PA_LIB=pa
54 HPLIB_LIB=hplib
55 SA_LIB=sa
56 PKTLIB_LIB=pktlib
57 NWAL_LIB=nwalsa
58 NETAPI_LIB=netapi
59 IPSECMGR_SNOOP_LIB=ipsecmgr_snoop
60 IPSECMGR_IPC_LIB=ipsecmgr_ipc
61 IPSECMGR_SYSLOG_LIB=ipsecmgr_syslog
63 LIBNL_LD_OPTS = -lnl-3 -lnl-xfrm -lnl-route-3
65 LD_OPTS += -pthread -lrt
67 LD_OPTS += -L $(ARMV7LIBDIR) -L $(PDK_ARMV7LIBDIR) -l$(IPSECMGR_SNOOP_LIB) -l$(IPSECMGR_IPC_LIB) -l$(IPSECMGR_SYSLOG_LIB) -l$(NETAPI_LIB) -l$(NWAL_LIB) -l$(PKTLIB_LIB) -l$(SA_LIB) -l$(QMSS_LIB) -l$(CPPI_LIB) -l$(PA_LIB) -l$(HPLIB_LIB) $(LIBNL_LD_OPTS)
68 ###############################################################################
69 # List of modules and their files
70 ###############################################################################
71 DAEMON_SRC_DIR ?= ../src/
72 DAEMON_FILES = \
73         netapi_ipsecmgr.c \
74         netapilib_interface.c
76 VPATH = $(DAEMON_SRC_DIR)
77 FILES = $(DAEMON_FILES)
79 INCL_DIRS= $(IPSECMGR_IFACE_DIR) $(IPSECMGR_UTIL_IFACE_DIR) $(NETAPI_INC_DIR) $(CPPI_INC_DIR) $(QMSS_INC_DIR) $(HPLIB_INC_DIR) $(SA_INSTALL_PATH) $(PDK_INSTALL_PATH) 
81 HEADERS = $(filter %.h, $(FILES))
82 INCL = -I. $(patsubst %,-I%,$(INCL_DIRS))
85 BIN_DIR = $(ARMV7BINDIR)/netapi/applications/ipsec_offload/ipsecmgr
86 OBJ_DIR = $(ARMV7OBJDIR)/netapi/applications/ipsec_offload/ipsecmgr
87 DAEMON_OBJS = $(patsubst %.c,$(OBJ_DIR)/%.o,$(filter %.c, $(FILES)))
90 all: app install
92 app: $(BIN_DIR)/.created $(BIN_DIR)/$(EXE_NAME)
93 ###############################################################################
94 # Normal make process                                                         
95 ###############################################################################
97 $(OBJ_DIR)/%.o: %.c $(OBJ_DIR)/.created
98         @echo compiling $<
99         $(CC) -c  $(CFLAGS) $(INCL)  $<  -o $@
101 $(OBJ_DIR)/.created:
102         $(QUIET_CMD)@echo "making $@" 
103         @mkdir -p $(OBJ_DIR)
105 $(BIN_DIR)/.created:
106         @mkdir -p $(BIN_DIR)
108 $(BIN_DIR)/$(EXE_NAME): $(DAEMON_OBJS) $(BIN_DIR)/.created
109         $(QUIET_CMD)@echo "linking $@" 
110         $(QUIET_CMD)@echo "$(LD_OPTS)" 
111         $(CC) $(DAEMON_OBJS) $(LD_OPTS) -o $(BIN_DIR)/$(EXE_NAME)
113 install:
114         install -d $(INSTALL_BIN_BASE_DIR)
115         install -c -m 755 $(BIN_DIR)/* $(INSTALL_BIN_BASE_DIR)
116 clean:
117         rm -rf $(OBJ_DIR)
118         rm -rf $(BIN_DIR)