Makefile revision b6805bf78d2bbbeeaea8909a05623587b42d58b3
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder# CDDL HEADER START
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder#
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder# The contents of this file are subject to the terms of the
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# Common Development and Distribution License (the "License").
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# You may not use this file except in compliance with the License.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# or http://www.opensolaris.org/os/licensing.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# See the License for the specific language governing permissions
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# and limitations under the License.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# When distributing Covered Code, include this CDDL HEADER in each
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
0898ff703a21cf78e18cc03e8fe5a3c6d1fc25c3Christian Maeder# If applicable, add the following below this CDDL HEADER, with the
8e494181dee5cfc59ae494e4082c71edfde24f58Christian Maeder# fields enclosed by brackets "[]" replaced with your own identifying
b7839add0728fef3cbb28244373661db382f6588Christian Maeder# information: Portions Copyright [yyyy] [name of copyright owner]
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till Mossakowski#
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder# CDDL HEADER END
760ae19a92dde8249679a674f93f58d26a7c5f6bChristian Maeder#
760ae19a92dde8249679a674f93f58d26a7c5f6bChristian Maeder#
88c800932dd7053322501ea2039d9f234be6866cKlaus Luettich# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder# Use is subject to license terms.
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder#
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder#
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder# This makefile drives the production of the hwa1480_fw kernel module.
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder#
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder#
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder# Path to the base of the uts directory tree (usually /usr/src/uts).
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich#
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus LuettichUTSBASE = ../..
824125ad97b34671bd7ea72655967f46caeb0004Christian Maeder
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich#
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# Define the module and object file sets.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#
d67a33b40578beef2e255a274f89bb9c34aaf056Christian MaederMODULE = uathfw
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian MaederOBJECTS = $(UATHFW_OBJS:%=$(OBJS_DIR)/%)
e593b89bfd4952698dc37feced21cefe869d87a2Christian MaederLINTS = $(UATHFW_OBJS:%.o=$(LINTS_DIR)/%.ln)
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian MaederROOTMODULE = $(ROOT_MISC_DIR)/$(MODULE)
6e049108aa87dc46bcff96fae50a4625df1d9648Klaus Luettich
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederFWOBJ = $(OBJS_DIR)/$(MODULE).o
5ae37a27aea7c5f3b8e66ed437794c7ef47a8680Christian Maeder
c6fcd42c6d6d9dae8c7835c24fcb7ce8531a9050Christian MaederOBJECTS += $(FWOBJ)
c6fcd42c6d6d9dae8c7835c24fcb7ce8531a9050Christian Maeder
31c49f2fa23d4ac089f35145d80a224deb6ea7e4Till Mossakowski#
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus Luettich# Include common rules.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#
9e748851c150e1022fb952bab3315e869aaf0214Christian Maederinclude $(UTSBASE)/intel/Makefile.intel
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder
d3ae0072823e2ef0d41d4431fcc768e66489c20eChristian MaederLDFLAGS =
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder#
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich# Define targets
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#
9e748851c150e1022fb952bab3315e869aaf0214Christian MaederALL_TARGET = $(BINARY)
9e748851c150e1022fb952bab3315e869aaf0214Christian MaederLINT_TARGET = $(MODULE).lint
9e748851c150e1022fb952bab3315e869aaf0214Christian MaederINSTALL_TARGET = $(BINARY) $(ROOTMODULE)
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder#
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder# For now, disable these lint checks; maintainers should endeavor
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder# to investigate and remove these for maximum lint coverage.
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder# Please do not carry these forward to new Makefiles.
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder#
9e748851c150e1022fb952bab3315e869aaf0214Christian MaederLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
9e748851c150e1022fb952bab3315e869aaf0214Christian MaederLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
9e748851c150e1022fb952bab3315e869aaf0214Christian MaederLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
9e748851c150e1022fb952bab3315e869aaf0214Christian MaederLINTTAGS += -erroff=E_STATIC_UNUSED
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder#
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder# Default build targets.
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder#
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder.KEEP_STATE:
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder
c0c2380bced8159ff0297ece14eba948bd236471Christian Maederdef: $(DEF_DEPS) $(FWOBJ)
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder
9e748851c150e1022fb952bab3315e869aaf0214Christian Maederall: $(ALL_DEPS)
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder
9e748851c150e1022fb952bab3315e869aaf0214Christian Maederclean: $(CLEAN_DEPS)
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder
9e748851c150e1022fb952bab3315e869aaf0214Christian Maederclobber: $(CLOBBER_DEPS)
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder
c0c2380bced8159ff0297ece14eba948bd236471Christian Maederlint: $(LINT_DEPS)
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maedermodlintlib: $(MODLINTLIB_DEPS)
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettichclean.lint: $(CLEAN_LINT_DEPS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederinstall: $(INSTALL_DEPS)
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich# customized section for transforming firmware binary
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus LuettichELFWRAP = elfwrap
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederBINSRC = $(UTSBASE)/common/io/uath/uath_fw
c0c2380bced8159ff0297ece14eba948bd236471Christian MaederBINDEST = $(UTSBASE)/intel/uathfw
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederBINCOPY = uathbin
77a65251ee036c6aaf09c2775315a4ee24259fbdJorina Freya GerkenORIGIN_SRC = uathfw.bin
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#get build type, 32/64
61fa0ac06ede811c7aad54ec4c4202346727368eChristian MaederWRAPTYPE = $(CLASS:%=-%)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
97812b7ce9860bf514a8822a63503451795dbc65Klaus Luettich#set elfwrap option
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederWRAPOPT = $(WRAPTYPE:-32=)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder$(FWOBJ):
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder cp $(BINSRC)/$(ORIGIN_SRC) $(BINDEST)/$(BINCOPY)
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder $(ELFWRAP) $(WRAPOPT) -o $@ $(BINDEST)/$(BINCOPY)
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederCLOBBERFILES += $(BINDEST)/$(BINCOPY)
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder#
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder# Include common targets.
08e5741dd8b6bf9b7419e89298e384e18bc57f64Christian Maeder#
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederinclude $(UTSBASE)/intel/Makefile.targ
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder