• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2STATIC_LIB ?= y
3
4DEBUG ?= y
5HOST_PLATFORM ?= wipp
6WILINK_ROOT = ../..
7CUDK_ROOT = $(WILINK_ROOT)/CUDK
8TI_OS_LIB_DIR=$(CUDK_ROOT)/output
9ifeq ($(STATIC_LIB),y)
10        TI_OS_LIB = tiOsLib.a
11else
12        TI_OS_LIB = tiOsLib.so
13endif
14
15ifeq ($(DEBUG),y)
16  DEBUGFLAGS = -O2 -g -DDEBUG -DTI_DBG -fno-builtin   # "-O" is needed to expand inlines
17#  DEBUGFLAGS+= -DDEBUG_MESSAGES
18else
19  DEBUGFLAGS = -O2
20endif
21
22COMMON  = $(WILINK_ROOT)/stad
23
24#ARMFLAGS  = -fno-common -pipe -msoft-float -mabi=apcs-gnu
25ARMFLAGS  = -fno-common -pipe -g -fno-builtin -Wall
26
27INCLUDES = \
28        -I $(CUDK_ROOT)/os/common/inc \
29	-I $(WILINK_ROOT)/platforms/os/common/inc \
30	-I $(WILINK_ROOT)/platforms/os/linux/inc \
31	-I $(WILINK_ROOT)/stad/Export_Inc \
32	-I $(WILINK_ROOT)/stad/src/Sta_Management \
33	-I $(WILINK_ROOT)/stad/src/Connection_Managment \
34	-I $(WILINK_ROOT)/stad/src/Application \
35	-I $(WILINK_ROOT)/utils \
36	-I $(WILINK_ROOT)/Txn \
37	-I $(WILINK_ROOT)/TWD/TWDriver \
38	-I $(WILINK_ROOT)/TWD/FirmwareApi \
39	-I $(WILINK_ROOT)/TWD/FW_Transfer/Export_Inc \
40	-I $(WILINK_ROOT)/TWD/TwIf \
41	-I $(CUDK_ROOT)/os/linux/inc \
42	-I $(KERNEL_DIR)/include
43
44OUTPUT_DIR ?= $(CUDK_ROOT)/output
45
46TARGET = $(OUTPUT_DIR)/tiwlan_loader
47SRCS := \
48	tiwlan_loader.c
49
50OBJS = $(SRCS:.c=.o)
51
52DEPS = $(SRCS:%.c=%.d)
53
54CFLAGS = -Wall -Wstrict-prototypes $(DEBUGFLAGS) $(INCLUDES) -D__LINUX__ $(DK_DEFINES)
55CFLAGS += -D__BYTE_ORDER_LITTLE_ENDIAN
56CFLAGS += -DDRV_NAME='"tiwlan"'
57
58ifneq "$(CROSS_COMPILE)" ""		#compile for ARM
59	CFLAGS += $(ARMFLAGS)
60        # strip symbols
61ifneq "$(DEBUG)" "y"
62    LDFLAGS = -s
63endif
64
65endif    # CROSS_COMPILE != ""
66
67.PHONY: all
68
69all: $(TARGET)
70
71$(TARGET): $(OBJS)
72	$(CROSS_COMPILE)gcc --static $(OBJS) $(TI_OS_LIB_DIR)/$(TI_OS_LIB) -L $(CUDK_ROOT)/output $(LDFLAGS) -lpthread -lc -o $@
73	$(CROSS_COMPILE)strip -s $(TARGET)
74
75ifeq ("$(findstring $(MAKECMDGOALS), clean cleanall)", "")
76-include .depend
77endif
78
79%.o: %.cpp
80	echo $@
81	$(CROSS_COMPILE)gcc $(CFLAGS) -c $^ -o $@
82
83%.o: %.c
84	@echo $@
85	@$(CROSS_COMPILE)gcc $(CFLAGS) -c $< -o $@
86
87%.i: %.c
88	$(CROSS_COMPILE)gcc $(CFLAGS) -E -c $< > $@
89
90%.d: %.c
91	@echo $@
92	@$(CROSS_COMPILE)gcc $< -MT$(^:%.c=%.o) -M $(CFLAGS) > $@
93
94%.d: %.cpp
95	echo $@
96	$(CROSS_COMPILE)gcc $< -MT$(^:%.cpp=%.o) -M $(CFLAGS) > $@
97
98.depend: $(DEPS)
99	rm -f $@
100	for aa in $^; do cat $$aa >> $@; done
101
102.PHONY: clean
103clean:
104	-rm -f $(TARGET) .depend $(OBJS) $(DEPS) $(SRCS:.c=.i) *.ko .*.cmd .*.flags *.mod.c *~ *.~*
105
106