Makefile revision b6805bf78d2bbbeeaea8909a05623587b42d58b3
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering#
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering# CDDL HEADER START
12b42c76672a66c2d4ea7212c14f8f1b5a62b78dTom Gundersen#
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering# The contents of this file are subject to the terms of the
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering# Common Development and Distribution License (the "License").
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering# You may not use this file except in compliance with the License.
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering#
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering# or http://www.opensolaris.org/os/licensing.
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering# See the License for the specific language governing permissions
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering# and limitations under the License.
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering#
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering# When distributing Covered Code, include this CDDL HEADER in each
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering# If applicable, add the following below this CDDL HEADER, with the
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering# fields enclosed by brackets "[]" replaced with your own identifying
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering# information: Portions Copyright [yyyy] [name of copyright owner]
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering#
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering# CDDL HEADER END
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering#
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering#
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering# Use is subject to license terms.
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering#
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering#
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek# This makefile drives the production of the mwlfw kernel module.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek#
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek#
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering# Path to the base of the uts directory tree (usually /usr/src/uts).
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek#
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekUTSBASE = ../..
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek#
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek# Define the module and object file sets.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek#
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekMODULE = mwlfw
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekOBJECTS = $(MWLFW_OBJS:%=$(OBJS_DIR)/%)
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekLINTS = $(MWLFW_OBJS:%.o=$(LINTS_DIR)/%.ln)
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart PoetteringROOTMODULE = $(ROOT_MISC_DIR)/$(MODULE)
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekFWOBJ = $(OBJS_DIR)/$(MODULE).o
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekOBJECTS += $(FWOBJ)
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek#
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek# Include common rules.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek#
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmekinclude $(UTSBASE)/intel/Makefile.intel
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekLDFLAGS =
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering#
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek# Define targets
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek#
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekALL_TARGET = $(BINARY)
12b42c76672a66c2d4ea7212c14f8f1b5a62b78dTom GundersenLINT_TARGET = $(MODULE).lint
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekINSTALL_TARGET = $(BINARY) $(ROOTMODULE)
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek#
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek# For now, disable these lint checks; maintainers should endeavor
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering# to investigate and remove these for maximum lint coverage.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek# Please do not carry these forward to new Makefiles.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek#
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekLINTTAGS += -erroff=E_STATIC_UNUSED
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering#
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek# Default build targets.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek#
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek.KEEP_STATE:
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmekdef: $(DEF_DEPS) $(FWOBJ)
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poetteringall: $(ALL_DEPS)
f59e0b64351adec735d06ccf0d0ff0eb31c902c0Lennart Poettering
clean: $(CLEAN_DEPS)
clobber: $(CLOBBER_DEPS)
lint: $(LINT_DEPS)
modlintlib: $(MODLINTLIB_DEPS)
clean.lint: $(CLEAN_LINT_DEPS)
install: $(INSTALL_DEPS)
# customized section for transforming firmware binary
ELFWRAP = elfwrap
BINSRC = $(UTSBASE)/common/io/mwl/mwl_fw
BINDEST = $(UTSBASE)/intel/mwlfw
FWBINCOPY = mw88W8363fw
BOOTBINCOPY = mwlboot
ORIGIN_FWBIN = mw88W8363
ORIGIN_BOOTBIN = mwlboot
#get build type, 32/64
WRAPTYPE = $(CLASS:%=-%)
#set elfwrap option
WRAPOPT = $(WRAPTYPE:-32=)
$(FWOBJ):
cp $(BINSRC)/$(ORIGIN_FWBIN) $(BINDEST)/$(FWBINCOPY)
cp $(BINSRC)/$(ORIGIN_BOOTBIN) $(BINDEST)/$(BOOTBINCOPY)
$(ELFWRAP) $(WRAPOPT) -o $@ $(BINDEST)/$(FWBINCOPY) $(BINDEST)/$(BOOTBINCOPY)
CLOBBERFILES += $(BINDEST)/$(FWBINCOPY)
CLOBBERFILES += $(BINDEST)/$(BOOTBINCOPY)
#
# Include common targets.
#
include $(UTSBASE)/intel/Makefile.targ