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