Makefile revision b6805bf78d2bbbeeaea8909a05623587b42d58b3
436aad11e01e916f75e68a2e9cb89ac217a990d3Tinderbox User#
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater# CDDL HEADER START
c7ef13f6c9ef4436bc804b150e0a93307b11fa27Tinderbox User#
c7ef13f6c9ef4436bc804b150e0a93307b11fa27Tinderbox User# The contents of this file are subject to the terms of the
a5636b773fa05a272b6876afd99309c0b3090e2fMark Andrews# Common Development and Distribution License (the "License").
e9e4257668ff6c4e583b0c0db2508650b0b677b8Tinderbox User# You may not use this file except in compliance with the License.
e9e4257668ff6c4e583b0c0db2508650b0b677b8Tinderbox User#
c57668a2fbbe558c1bd21652813616f2f517c469Tinderbox User# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5e047890ac9b745db060d95f7d1b4f876511240dTinderbox User# or http://www.opensolaris.org/os/licensing.
137fdbc214e99c4cbe57551e9e14f2015c2e42aeTinderbox User# See the License for the specific language governing permissions
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox User# and limitations under the License.
bed0874e1a09e810575328c4bfc346a47514b69fMark Andrews#
02b47c5d62e1e827743684c28a08e871da454a2dMark Andrews# When distributing Covered Code, include this CDDL HEADER in each
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User# If applicable, add the following below this CDDL HEADER, with the
e20309353e6246485c521278131d3fced73d7957Tinderbox User# fields enclosed by brackets "[]" replaced with your own identifying
e20309353e6246485c521278131d3fced73d7957Tinderbox User# information: Portions Copyright [yyyy] [name of copyright owner]
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
9a5217f827ac0e006016745e5305b31dc0c7767fTinderbox User# CDDL HEADER END
3cc98b8ecedcbc8465f1cf2740b966b315662430Automatic Updater#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# uts/intel/hwa1480_fw/Makefile
e20309353e6246485c521278131d3fced73d7957Tinderbox User# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
e20309353e6246485c521278131d3fced73d7957Tinderbox User# Use is subject to license terms.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
df4ebd8217d02dafc12145b55c4d93d0255d1ec7Tinderbox User#
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews# This makefile drives the production of the hwa1480_fw kernel module.
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater#
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson#
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater# Path to the base of the uts directory tree (usually /usr/src/uts).
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater#
91216cff91b34c9ff6e846dc23f248219cafe660Andreas GustafssonUTSBASE = ../..
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User#
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User# Define the module and object file sets.
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt#
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic UpdaterMODULE = hwa1480_fw
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterOBJECTS = $(WUSB_FWMOD_OBJS:%=$(OBJS_DIR)/%)
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan HuntLINTS = $(WUSB_FWMOD_OBJS:%.o=$(LINTS_DIR)/%.ln)
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterROOTMODULE = $(ROOT_MISC_DIR)/$(MODULE)
24934f08b9ff81c2be711e566e8002d145573031Tinderbox UserWARLOCK_OUT = $(WUSB_FWMOD_OBJS:%.o=%.ll)
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterWARLOCK_OK = $(MODULE).ok
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt
24934f08b9ff81c2be711e566e8002d145573031Tinderbox UserFWOBJ = $(OBJS_DIR)/$(MODULE).o
e9e4257668ff6c4e583b0c0db2508650b0b677b8Tinderbox User
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan HuntOBJECTS += $(FWOBJ)
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater#
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# Include common rules.
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater#
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updaterinclude $(UTSBASE)/intel/Makefile.intel
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterLDFLAGS =
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater#
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# Define targets
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater#
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark AndrewsALL_TARGET = $(BINARY)
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark AndrewsLINT_TARGET = $(MODULE).lint
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark AndrewsINSTALL_TARGET = $(BINARY) $(ROOTMODULE)
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User
e20309353e6246485c521278131d3fced73d7957Tinderbox User#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# For now, disable these lint checks; maintainers should endeavor
24934f08b9ff81c2be711e566e8002d145573031Tinderbox User# to investigate and remove these for maximum lint coverage.
e20309353e6246485c521278131d3fced73d7957Tinderbox User# Please do not carry these forward to new Makefiles.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
7feccf248d2a20a2ae48b290f58ded5abc853e9aTinderbox UserLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
c59750de3ea3c7d5890000fb4606e8f5835a52aaTinderbox UserLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
80faf1588895fd26490f82f95a7a1b771df1c324Automatic UpdaterLINTTAGS += -erroff=E_STATIC_UNUSED
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
ec7751119a08c6a7250f3187beed69a8b836d349Tinderbox UserCLEANFILES += $(WARLOCK_OUT) $(WARLOCK_OK)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsCLOBBERFILES += $(BINSRC)/$(MODULE)
28a5dd720187fddb16055a0f64b63a7b66f29f64Mark Andrews
28a5dd720187fddb16055a0f64b63a7b66f29f64Mark Andrews#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Default build targets.
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater#
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson.KEEP_STATE:
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updaterdef: $(DEF_DEPS) $(FWOBJ)
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updaterall: $(ALL_DEPS)
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updaterclean: $(CLEAN_DEPS)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafssonclobber: $(CLOBBER_DEPS)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
28a5dd720187fddb16055a0f64b63a7b66f29f64Mark Andrewslint: $(LINT_DEPS)
28a5dd720187fddb16055a0f64b63a7b66f29f64Mark Andrews
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrewsmodlintlib: $(MODLINTLIB_DEPS)
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox User
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox Userclean.lint: $(CLEAN_LINT_DEPS)
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews
28a5dd720187fddb16055a0f64b63a7b66f29f64Mark Andrewsinstall: $(INSTALL_DEPS)
28a5dd720187fddb16055a0f64b63a7b66f29f64Mark Andrews
28a5dd720187fddb16055a0f64b63a7b66f29f64Mark Andrews
28a5dd720187fddb16055a0f64b63a7b66f29f64Mark Andrews# customized section for transforming firmware binary
2a31bd531072824ef252c18303859d6af7451b00Francis DupontELFWRAP = elfwrap
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox UserBINSRC = $(UTSBASE)/common/io/usb/clients/hwa1480_fw/i1480
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox UserORIGIN_SRC = i1480-usb-0.0.bin
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#get build type, 32/64
2ba8f584b97cbab864570e38fd26b8cb90961428Tinderbox UserWRAPTYPE = $(CLASS:%=-%)
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox User
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#set elfwrap option
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark AndrewsWRAPOPT = $(WRAPTYPE:-32=)
bed0874e1a09e810575328c4bfc346a47514b69fMark Andrews
24bf1e02f03577db0feb50b80238c4150c96d05dAutomatic Updater$(FWOBJ):
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews cp $(BINSRC)/$(ORIGIN_SRC) $(BINSRC)/$(MODULE)
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews $(ELFWRAP) $(WRAPOPT) -o $@ $(BINSRC)/$(MODULE)
2ba8f584b97cbab864570e38fd26b8cb90961428Tinderbox User
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater#
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews# Include common targets.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
551271d8198ae06e37edf5da519d8ee153eeac0fTinderbox Userinclude $(UTSBASE)/intel/Makefile.targ
27c3c21f41520e8d6336d80a8094389e321cb6d2Mark Andrews
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
b871c7156eb037d41f53828c6fcb9cc876128962Mark Andrews# Defines for local commands.
b871c7156eb037d41f53828c6fcb9cc876128962Mark Andrews#
b871c7156eb037d41f53828c6fcb9cc876128962Mark AndrewsWLCC = wlcc
01a5c5503482fb3ba52088bf0178a7213273bf96Mark AndrewsTOUCH = touch
551271d8198ae06e37edf5da519d8ee153eeac0fTinderbox UserWARLOCK = warlock
b871c7156eb037d41f53828c6fcb9cc876128962Mark Andrews
df4ebd8217d02dafc12145b55c4d93d0255d1ec7Tinderbox User#
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater# Warlock targets
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater#
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updaterwarlock: $(WARLOCK_OK)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
fa0326cc2cf428f67575b6ba3b97b528a31b0010Tinderbox User$(WARLOCK_OK): $(WARLOCK_OUT)
fa0326cc2cf428f67575b6ba3b97b528a31b0010Tinderbox User $(TOUCH) $@
fa0326cc2cf428f67575b6ba3b97b528a31b0010Tinderbox User
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater%.ll: $(UTSBASE)/common/io/usb/clients/hwa1480_fw/%.c
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater $(WLCC) $(CPPFLAGS) -DDEBUG -o $@ $<
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater