Home | History | Annotate | Download | only in sta_dk_4_0_4_32
      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