## ## Flags ## export FIRMWARE_DYNAMIC_LOAD ?= y ## ## ## File lists and locations ## ## # # DK_ROOT must be set prior to including common.inc # DK_ROOT := . ifeq ($(M),) M = drivers/net/wireless/tiwlan1251 endif DK_ROOT_INC = $(M) # # Includes common definitions and source file list # ifneq ($(KERNELRELEASE),) include $(M)/common.inc include $(M)/drv_sources.inc include $(M)/os_sources.inc else ifeq ($(KERNEL_DIR),) KERNEL_DIR = . endif include common.inc include drv_sources.inc include os_sources.inc endif # # OS include paths required for compilation. # OS_INCS = $(DK_ROOT)/pform/linux/inc $(DK_ROOT)/pform/common/inc OS_INCS += $(DK_ROOT)/common/src/core/EvHandler # # Location and filename of the driver .lib file created by this makefile. # OUTPUT_DIR = $(DK_ROOT) OUTPUT_FILE = $(OUTPUT_DIR)/libestadrv.a OS_SRCS = \ $(DK_ROOT)/pform/common/src/osCmd.c \ $(DK_ROOT)/pform/common/src/osUtil.c \ $(DK_ROOT)/pform/common/src/osClsfr.c \ $(DK_ROOT)/pform/common/src/osRgstry.c \ $(DK_ROOT)/pform/linux/src/esta_drv.c \ $(DK_ROOT)/pform/linux/src/chip_stat.c \ $(DK_ROOT)/pform/linux/src/mmc_tnetw1150_api.c \ $(DK_ROOT)/pform/linux/src/tnetw_sdio.c \ $(DK_ROOT)/pform/linux/src/osapi.c \ $(DK_ROOT)/pform/linux/src/osmemapi.c \ $(DK_ROOT)/pform/linux/src/env_tst.c \ $(DK_ROOT)/pform/linux/src/ioctl_list.c \ $(DK_ROOT)/pform/linux/src/ioctl_utils.c \ $(DK_ROOT)/pform/linux/src/osRgstry_parser.c \ $(DK_ROOT)/pform/linux/src/ipc_k.c \ $(DK_ROOT)/pform/linux/src/proc_stat.c ifeq ($(DRIVER_PROFILING),y) OS_SRCS += $(DK_ROOT)/pform/linux/src/tiwlan_profile.c endif ifeq ($(STACK_PROFILING_ON),y) OS_SRCS += $(DK_ROOT)/pform/linux/src/stack_profile.c EXTRA_CFLAGS += -D STACK_PROFILE endif ifeq ($(NO_ARCH_STRCMP),y) OS_SRCS += $(DK_ROOT)/pform/linux/src/string.c endif OS_OBJS = $(patsubst %.c, %.o, $(OS_SRCS)) # # Remove debug info # EXTRA_LDFLAGS += --strip-debug ## ## ## Build process ## ## ifneq ($(KERNELRELEASE),) ## ## ## This is the kernel build phase - set the appropriate arguments ## ## # # Adds the current directory as a prefix to all include directories. # EXTRA_CFLAGS += $(addprefix -I$(DK_ROOT_INC)/, $(DK_INCS) $(OS_INCS)) # # Intermediate object name - this should be converted to the appropriate library file # after the kernel makefile finishes its work. # obj-m += wlan.o # # List of object files the kernel makefile needs to compile. # wlan-objs := $(DK_OBJS) $(OS_OBJS) else # ifneq ($(KERNELRELEASE),) # # Adds the current directory as a prefix to all include directories. # EXTRA_CFLAGS += $(addprefix -I$(M)/, $(DK_INCS) $(OS_INCS)) ## ## ## This is the regular build phase - act according to the make actions ## ## # # The location of the kernel makefile # KERNEL_DIR ?= /vobs/wlan_linux2.6/kernel-2.6/ # # Build the driver lib file # .PHONY: all all: .depend $(OUTPUT_FILE) # # Prints variables # .PHONY: help help: @echo Default Compilation: BOARD=$(WIFI_BOARD) PLATFORM=$(PLATFORM) DEBUG=$(DEBUG) INTR=$(INTR) WSPI=$(WSPI) EXC=$(EXC) EXTRA CFLAGS: $(EXTRA_CFLAGS) # # Recursively cleans the driver files. # .PHONY: clean clean: $(MAKE) -C $(KERNEL_DIR) M=`pwd` ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) clean @rm -f *.o *.a *~ *.~* core .depend dep $(DK_OBJS) $(OS_OBJS) $(DEPS) # # Causes the library file to get rebuilt. # .depend: rm -f $(OUTPUT_FILE) # # Recursively builds the library file. # $(OUTPUT_FILE): $(MAKE) -C $(KERNEL_DIR) M=`pwd` ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) modules @$(CROSS_COMPILE)$(AR) rcs $@ $(DK_OBJS) $(OS_OBJS) $(CROSS_COMPILE)strip --strip-unneeded wlan.ko endif # ifneq ($(KERNELRELEASE),)