1 ## 2 ## Flags 3 ## 4 export FIRMWARE_DYNAMIC_LOAD ?= y 5 6 ## 7 ## 8 ## File lists and locations 9 ## 10 ## 11 12 # 13 # DK_ROOT must be set prior to including common.inc 14 # 15 DK_ROOT := . 16 ifeq ($(M),) 17 M = drivers/net/wireless/tiwlan1251 18 endif 19 DK_ROOT_INC = $(M) 20 21 # 22 # Includes common definitions and source file list 23 # 24 ifneq ($(KERNELRELEASE),) 25 include $(M)/common.inc 26 include $(M)/drv_sources.inc 27 include $(M)/os_sources.inc 28 else 29 ifeq ($(KERNEL_DIR),) 30 KERNEL_DIR = . 31 endif 32 include common.inc 33 include drv_sources.inc 34 include os_sources.inc 35 endif 36 37 # 38 # OS include paths required for compilation. 39 # 40 OS_INCS = $(DK_ROOT)/pform/linux/inc $(DK_ROOT)/pform/common/inc 41 OS_INCS += $(DK_ROOT)/common/src/core/EvHandler 42 43 # 44 # Location and filename of the driver .lib file created by this makefile. 45 # 46 OUTPUT_DIR = $(DK_ROOT) 47 OUTPUT_FILE = $(OUTPUT_DIR)/libestadrv.a 48 49 OS_SRCS = \ 50 $(DK_ROOT)/pform/common/src/osCmd.c \ 51 $(DK_ROOT)/pform/common/src/osUtil.c \ 52 $(DK_ROOT)/pform/common/src/osClsfr.c \ 53 $(DK_ROOT)/pform/common/src/osRgstry.c \ 54 $(DK_ROOT)/pform/linux/src/esta_drv.c \ 55 $(DK_ROOT)/pform/linux/src/chip_stat.c \ 56 $(DK_ROOT)/pform/linux/src/mmc_tnetw1150_api.c \ 57 $(DK_ROOT)/pform/linux/src/tnetw_sdio.c \ 58 $(DK_ROOT)/pform/linux/src/osapi.c \ 59 $(DK_ROOT)/pform/linux/src/osmemapi.c \ 60 $(DK_ROOT)/pform/linux/src/env_tst.c \ 61 $(DK_ROOT)/pform/linux/src/ioctl_list.c \ 62 $(DK_ROOT)/pform/linux/src/ioctl_utils.c \ 63 $(DK_ROOT)/pform/linux/src/osRgstry_parser.c \ 64 $(DK_ROOT)/pform/linux/src/ipc_k.c \ 65 $(DK_ROOT)/pform/linux/src/proc_stat.c 66 67 ifeq ($(DRIVER_PROFILING),y) 68 OS_SRCS += $(DK_ROOT)/pform/linux/src/tiwlan_profile.c 69 endif 70 71 ifeq ($(STACK_PROFILING_ON),y) 72 OS_SRCS += $(DK_ROOT)/pform/linux/src/stack_profile.c 73 EXTRA_CFLAGS += -D STACK_PROFILE 74 endif 75 76 ifeq ($(NO_ARCH_STRCMP),y) 77 OS_SRCS += $(DK_ROOT)/pform/linux/src/string.c 78 endif 79 80 OS_OBJS = $(patsubst %.c, %.o, $(OS_SRCS)) 81 82 # 83 # Remove debug info 84 # 85 EXTRA_LDFLAGS += --strip-debug 86 87 ## 88 ## 89 ## Build process 90 ## 91 ## 92 93 ifneq ($(KERNELRELEASE),) 94 95 96 ## 97 ## 98 ## This is the kernel build phase - set the appropriate arguments 99 ## 100 ## 101 102 # 103 # Adds the current directory as a prefix to all include directories. 104 # 105 EXTRA_CFLAGS += $(addprefix -I$(DK_ROOT_INC)/, $(DK_INCS) $(OS_INCS)) 106 107 # 108 # Intermediate object name - this should be converted to the appropriate library file 109 # after the kernel makefile finishes its work. 110 # 111 obj-m += wlan.o 112 113 # 114 # List of object files the kernel makefile needs to compile. 115 # 116 wlan-objs := $(DK_OBJS) $(OS_OBJS) 117 118 119 else # ifneq ($(KERNELRELEASE),) 120 121 # 122 # Adds the current directory as a prefix to all include directories. 123 # 124 EXTRA_CFLAGS += $(addprefix -I$(M)/, $(DK_INCS) $(OS_INCS)) 125 126 127 ## 128 ## 129 ## This is the regular build phase - act according to the make actions 130 ## 131 ## 132 133 # 134 # The location of the kernel makefile 135 # 136 KERNEL_DIR ?= /vobs/wlan_linux2.6/kernel-2.6/ 137 138 139 # 140 # Build the driver lib file 141 # 142 .PHONY: all 143 all: .depend $(OUTPUT_FILE) 144 145 146 # 147 # Prints variables 148 # 149 .PHONY: help 150 help: 151 @echo Default Compilation: BOARD=$(WIFI_BOARD) PLATFORM=$(PLATFORM) DEBUG=$(DEBUG) INTR=$(INTR) WSPI=$(WSPI) EXC=$(EXC) EXTRA CFLAGS: $(EXTRA_CFLAGS) 152 153 154 # 155 # Recursively cleans the driver files. 156 # 157 .PHONY: clean 158 clean: 159 $(MAKE) -C $(KERNEL_DIR) M=`pwd` ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) clean 160 @rm -f *.o *.a *~ *.~* core .depend dep $(DK_OBJS) $(OS_OBJS) $(DEPS) 161 162 163 # 164 # Causes the library file to get rebuilt. 165 # 166 .depend: 167 rm -f $(OUTPUT_FILE) 168 169 170 # 171 # Recursively builds the library file. 172 # 173 $(OUTPUT_FILE): 174 $(MAKE) -C $(KERNEL_DIR) M=`pwd` ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) modules 175 @$(CROSS_COMPILE)$(AR) rcs $@ $(DK_OBJS) $(OS_OBJS) 176 $(CROSS_COMPILE)strip --strip-unneeded wlan.ko 177 178 endif # ifneq ($(KERNELRELEASE),) 179