| ## |
| ## 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),) |