| # |
| # GNUmakefile for dhd/exe |
| # (Basically a copy of wl/exe linux portion.) |
| # |
| # Copyright (C) 1999-2010, Broadcom Corporation |
| # |
| # Unless you and Broadcom execute a separate written software license |
| # agreement governing use of this software, this software is licensed to you |
| # under the terms of the GNU General Public License version 2 (the "GPL"), |
| # available at http://www.broadcom.com/licenses/GPLv2.php, with the |
| # following added to such license: |
| # |
| # As a special exception, the copyright holders of this software give you |
| # permission to link this software with independent modules, and to copy and |
| # distribute the resulting executable under terms of your choice, provided that |
| # you also meet, for each linked independent module, the terms and conditions of |
| # the license of that module. An independent module is a module which is not |
| # derived from this software. The special exception does not apply to any |
| # modifications of the software. |
| # |
| # Notwithstanding the above, under no circumstances may you combine this |
| # software in any way with any other Broadcom software provided under a license |
| # other than the GPL, without Broadcom's express prior written consent. |
| # |
| # $Id: GNUmakefile,v 1.9.24.4.2.4 2009/03/04 03:53:29 Exp $ |
| |
| SRCBASE = ../.. |
| |
| UNAME = $(shell uname) |
| |
| #----------------------------------------------------------- |
| # Windows build |
| # 1) windows, don't include Makerules due to all: conflict |
| ifeq ($(findstring CYGWIN,$(UNAME)),CYGWIN) |
| |
| SRCFILE = |
| include ../../GNUmakefile.inc |
| |
| else # UNAME |
| |
| # 2) not windows, need to include first to pick up TARGETENV dependent vars |
| include $(SRCBASE)/Makerules |
| |
| |
| # Always include pktgen commands in the application |
| CFLAGS += -DSDTEST |
| CFLAGS += -DBCMSPI |
| |
| #----------------------------------------------------------- |
| # Linux build |
| # |
| ifneq ($(findstring $(TARGETENV), "linux linuxmips linuxmips_be linuxarm linuxarm_le linuxarm_omap android"),) |
| |
| # $(TARGETARCH) is set based on TARGETENV in src/Makerules.* files |
| DHD_OBJS := dhdu.o dhdu_linux.o bcmutils.o miniopt.o |
| DHD_EXE := dhd |
| |
| ifneq ($(findstring x86,$(TARGETARCH)),x86) |
| DHD_EXE := $(DHD_EXE)$(TARGETARCH) |
| DHD_OBJS := $(DHD_OBJS:%.o=$(TARGETARCH)/%.o) |
| endif |
| |
| # extra warnings |
| CFLAGS += -Wextra $(CUSTOM_FLAGS) |
| |
| ifeq ($(TARGETENV), linuxarm_omap) |
| CFLAGS += -DBGBRD |
| endif |
| |
| vpath %.c $(SRCBASE)/shared |
| |
| all: $(DHD_EXE) |
| |
| $(DHD_EXE): $(DHD_OBJS) |
| $(CC) $(LDFLAGS) -o $@ $^ |
| |
| $(TARGETARCH)/%.o: %.c |
| @mkdir -p $(TARGETARCH) |
| $(CC) -c $(CFLAGS) -o $@ $^ |
| |
| clean: |
| @rm -rf $(TARGETARCH) |
| rm -f $(DHD_EXE) *.o |
| rm -rf build |
| |
| endif # linux |
| |
| #----------------------------------------------------------- |
| # MacOS |
| # |
| ifeq ($(TARGETENV), macos) |
| DHD_EXE := dhd_macos |
| BUILD := xcodebuild |
| PROJECT := dhd.xcodeproj |
| PROJTGT := dhd |
| |
| all: $(DHD_EXE) |
| |
| # Executable is located in build/Debug/dhd |
| dhd_macos: |
| $(BUILD) -project $(PROJECT) -target $(PROJTGT) -configuration Debug build |
| |
| clean: |
| rm -f $(DHD_EXE) *.o |
| rm -rf build |
| |
| endif # macos |
| |
| |
| .PHONY: all clean |
| |
| endif # UNAME |