1981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtSTATIC_LIB ?= y
2981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtDEBUG ?= y
3981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtBUILD_SUPPL ?= y
4981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtWPA_ENTERPRISE ?= y
5981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtXCC ?= n
6981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#enable/disable wireless simple config (WPS) support
7981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtCONFIG_EAP_WSC ?= n
8981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
9981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtWILINK_ROOT = ../..
10981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtCUDK_ROOT ?= $(WILINK_ROOT)/CUDK
11981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtCU_ROOT = $(CUDK_ROOT)/configurationutility
12981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtOUTPUT_DIR ?= $(CUDK_ROOT)/output
13981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTI_OS_LIB_DIR=$(CUDK_ROOT)/output
14981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtifeq ($(STATIC_LIB),y)
15981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        TI_OS_LIB = tiOsLib.a
16981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtelse
17981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        TI_OS_LIB = tiOsLib.so
18981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtendif
19981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
20981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtifeq ($(DEBUG),y)
21981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt  DEBUGFLAGS = -O2 -g -DDEBUG -DTI_DBG -fno-builtin   
22981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtelse
23981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt  DEBUGFLAGS = -O2
24981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtendif
25981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
26981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtDEBUGFLAGS+= -DHOST_COMPILE -DANDROID
27981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
28981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtifeq ($(XCC), y)
29981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	DK_DEFINES = -D XCC_MODULE_INCLUDED 
30981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtendif    
31981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtifeq ($(WPA_ENTERPRISE), y)
32981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	DK_DEFINES += -D WPA_ENTERPRISE
33981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtendif
34981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
35981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtTARGET := $(OUTPUT_DIR)/wlan_cu
36981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtSRCS  := \
37981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	src/console.c \
38981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	src/cu_common.c \
39981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	src/cu_cmd.c \
40981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	src/ticon.c \
41981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	src/wpa_core.c
42981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        
43981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtifeq ($(XCC), y)
44981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtSRCS  +=  \
45981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	XCC/cu_XCC.c
46981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtendif    
47981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
48981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
49981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtOBJS = $(SRCS:.c=.o)
50981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
51981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtDEPS = $(SRCS:%.c=%.d)
52981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
53981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtARMFLAGS  = -fno-common -pipe
54981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
55981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#Supplicant image building
56981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtifeq ($(BUILD_SUPPL), y)
57981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtDK_DEFINES += -D WPA_SUPPLICANT -D CONFIG_CTRL_IFACE -D CONFIG_CTRL_IFACE_UNIX
58981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt  -include $(CU_ROOT)/$(TI_SUPP_LIB_DIR)/.config
59981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtifeq ($(CONFIG_EAP_WSC), y)
60981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtDK_DEFINES += -DCONFIG_EAP_WSC
61981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtendif
62981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtendif
63981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
64981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtINCLUDES = \
65981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	-I inc \
66981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	-I $(CUDK_ROOT)/os/linux/inc \
67981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	-I $(CUDK_ROOT)/os/common/inc \
68981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	-I $(WILINK_ROOT)/stad/Export_Inc \
69981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	-I $(WILINK_ROOT)/stad/src/Sta_Management \
70981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	-I $(WILINK_ROOT)/stad/src/Application \
71981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	-I $(WILINK_ROOT)/utils \
72981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	-I $(WILINK_ROOT)/Txn \
73981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	-I $(WILINK_ROOT)/TWD/TWDriver \
74981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	-I $(WILINK_ROOT)/TWD/FirmwareApi \
75981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	-I $(WILINK_ROOT)/TWD/TwIf \
76981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	-I $(WILINK_ROOT)/platforms/os/linux/inc \
77981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	-I $(WILINK_ROOT)/platforms/os/common/inc \
78981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	-I $(KERNEL_DIR)/include \
79981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	-I $(WILINK_ROOT)/TWD/FW_Transfer/Export_Inc \
80981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	-I $(CUDK_ROOT)/$(TI_SUPP_LIB_DIR)
81981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
82981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtifeq ($(XCC), y)
83981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtINCLUDES += \
84981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	-I XCC \
85981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	-I $(WILINK_ROOT)/stad/Export_Inc/XCC \
86981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	-I $(WILINK_ROOT)/utils/XCC \
87981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	-I $(CUDK_ROOT)/devicescape-dsa-XCC-wps-2.0.1-008 \
88981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	-I $(CUDK_ROOT)/devicescape-dsa-XCC-wps-2.0.1-008/openssl-0.9.8e/include
89981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtendif
90981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
91981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtCFLAGS = $(OPT) -Wall -Wstrict-prototypes $(DEBUGFLAGS) $(INCLUDES) -D__LINUX__ $(DK_DEFINES) -D__BYTE_ORDER_LITTLE_ENDIAN
92981801b95b81e6d1c7a2085967406e86af0f08fcDmitry ShmidtCFLAGS += -DDRV_NAME='"tiwlan"'
93981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
94981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtifneq "$(CROSS_COMPILE)" ""		#compile for ARM
95981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	CFLAGS += $(ARMFLAGS)
96981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        # strip symbols
97981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtifneq "$(DEBUG)" "y"
98981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    LDFLAGS = -s
99981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtendif
100981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
101981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtendif    # CROSS_COMPILE != ""
102981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
103981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt.PHONY: all
104981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
105981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtall: $(TARGET)
106981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
107981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt$(TARGET): $(OBJS)
108981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	$(CROSS_COMPILE)gcc --static $(OBJS) $(TI_OS_LIB_DIR)/$(TI_OS_LIB)  -L $(CU_ROOT)/Output $(LDFLAGS) -lpthread -lc -o $@
109981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtifeq ($(DEBUG), y)
110981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	cp -a $(TARGET) $(TARGET)_debug
111981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	$(CROSS_COMPILE)strip -s $(TARGET)
112981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtendif    #DEBUG
113981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
114981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtifeq ("$(findstring $(MAKECMDGOALS), clean cleanall)", "")
115981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt-include .depend
116981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtendif
117981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
118981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt%.o: %.cpp
119981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	@echo $@
120981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	@$(CROSS_COMPILE)gcc $(CFLAGS) -c $^ -o $@
121981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
122981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt%.o: %.c
123981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	@echo $@
124981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	@$(CROSS_COMPILE)gcc -s $(CFLAGS) -c $< -o $@
125981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
126981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt%.i: %.c
127981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	@$(CROSS_COMPILE)gcc $(CFLAGS) -E -c $< > $@
128981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
129981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt%.d: %.c
130981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	@echo $@
131981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	@$(CROSS_COMPILE)gcc $< -MT$(^:%.c=%.o) -M $(CFLAGS) > $@
132981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
133981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt%.d: %.cpp
134981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	@echo $@
135981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	@$(CROSS_COMPILE)gcc $< -MT$(^:%.cpp=%.o) -M $(CFLAGS) > $@
136981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
137981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt.depend: $(DEPS)
138981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	rm -f $@
139981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	for aa in $^; do cat $$aa >> $@; done
140981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
141981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt.PHONY: clean
142981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtclean:
143981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	@echo cleaning configuration utility...
144981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt	rm -f .depend $(OBJS) $(DEPS) $(SRCS:.c=.i) *.ko .*.cmd .*.flags *.mod.c *~ *.~* $(OUTPUT_DIR)/wlan_cu $(OUTPUT_DIR)/wlan_cu_debug
145981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
146981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtcleanall: clean	
147981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
148981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
149