Makefile revision a4aa671e336d5c717aff15808ab91a6bee5e6e41
280a8a0544b4aeb52414d20e8c6e6c5b1108562eTinderbox User#
6c2a76b3e2ccd32c35814b6e0f54da00190749d7Evan Hunt# CDDL HEADER START
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater#
c7fd128f8ea8a527fe27c1b95ab46df7155bc8e4Tinderbox User# The contents of this file are subject to the terms of the
c7fd128f8ea8a527fe27c1b95ab46df7155bc8e4Tinderbox User# Common Development and Distribution License (the "License").
ba9e87b35e561bc7354ce3f4b9685b747b7be507Tinderbox User# You may not use this file except in compliance with the License.
1f9754245cbd5eec2d2a667bb292f62f72386d4bMark Andrews#
59663800d2ec04777dae2791dd92aa563faf94c8Evan Hunt# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# or http://www.opensolaris.org/os/licensing.
1f9754245cbd5eec2d2a667bb292f62f72386d4bMark Andrews# See the License for the specific language governing permissions
59663800d2ec04777dae2791dd92aa563faf94c8Evan Hunt# and limitations under the License.
1ca2cf024391992fe14b2df7d3ae0f575d074452Evan Hunt#
0726d872f6f36901ea09321df57084614e5bb6faTinderbox User# When distributing Covered Code, include this CDDL HEADER in each
1ca2cf024391992fe14b2df7d3ae0f575d074452Evan Hunt# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
a2c370ca12bb0360ff7e969474ead3f788c65fffTinderbox User# If applicable, add the following below this CDDL HEADER, with the
8de3f14f1c300c3e1ed99084cc03485b42c92bf1Tinderbox User# fields enclosed by brackets "[]" replaced with your own identifying
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# information: Portions Copyright [yyyy] [name of copyright owner]
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews#
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User# CDDL HEADER END
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews#
2b7254075b883d70852a2757210793603085a0f1Tinderbox User#
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews#ident "%Z%%M% %I% %E% SMI"
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
b91d11bfcc30b96f2c80f3a76d12e3dcc8597a68Mark Andrews# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# Use is subject to license terms.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# uts/sparc/dad/Makefile
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews#
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# This makefile drives the production of the dad driver kernel module.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
415d630b6309922caee8469384a6fab75cf05032Mark Andrews# SPARC architecture dependent
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews#
415d630b6309922caee8469384a6fab75cf05032Mark Andrews
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews#
9218b940febade3085fd6d95a15e67d5f94833f0Tinderbox User# Path to the base of the uts directory tree (usually /usr/src/uts).
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews#
415d630b6309922caee8469384a6fab75cf05032Mark AndrewsUTSBASE = ../..
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews#
9218b940febade3085fd6d95a15e67d5f94833f0Tinderbox User# Define the module and object file sets.
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews#
415d630b6309922caee8469384a6fab75cf05032Mark AndrewsMODULE = dad
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsOBJECTS = $(DAD_OBJS:%=$(OBJS_DIR)/%)
415d630b6309922caee8469384a6fab75cf05032Mark AndrewsLINTS = $(DAD_OBJS:%.o=$(LINTS_DIR)/%.ln)
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark AndrewsROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
9218b940febade3085fd6d95a15e67d5f94833f0Tinderbox UserCONF_SRCDIR = $(UTSBASE)/sun/io/dada/targets
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsWARLOCK_OUT = $(DAD_OBJS:%.o=%.ll)
015055b6e23f5c08f6a5b34726f90b62597e9e45Tinderbox UserWARLOCK_OK = $(MODULE).ok
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark AndrewsWLCMD_DIR = $(UTSBASE)/common/io/warlock
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews#
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# Include common rules.
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt#
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrewsinclude $(UTSBASE)/sparc/Makefile.sparc
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt#
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# Define targets
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews#
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan HuntALL_TARGET = $(BINARY)
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark AndrewsLINT_TARGET = $(MODULE).lint
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark AndrewsINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews#
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# Overrides.
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater#
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark AndrewsCFLAGS += $(CCVERBOSE)
9218b940febade3085fd6d95a15e67d5f94833f0Tinderbox UserLDFLAGS += -dy -Nmisc/dada -Nmisc/cmlb
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews#
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# For now, disable these lint checks; maintainers should endeavor
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# to investigate and remove these for maximum lint coverage.
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews# Please do not carry these forward to new Makefiles.
9218b940febade3085fd6d95a15e67d5f94833f0Tinderbox User#
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark AndrewsLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsLINTTAGS += -erroff=E_STATIC_UNUSED
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark AndrewsLINTTAGS += -erroff=E_SUSPICIOUS_COMPARISON
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews#
9218b940febade3085fd6d95a15e67d5f94833f0Tinderbox User# Default build targets.
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews#
015055b6e23f5c08f6a5b34726f90b62597e9e45Tinderbox User.KEEP_STATE:
3ccf87473f7cf6d9faac156df38a935a238f96fdTinderbox User
fec6e13f2d1e69fe1c2b8fac36f732f124cf5398Mark Andrewsall: $(ALL_DEPS)
b378314925e78f21853a98cec924788ce1822c6cTinderbox User
ebe53509ca55a141131c104b6d722236b606e0efTinderbox Userdef: $(DEF_DEPS)
fec6e13f2d1e69fe1c2b8fac36f732f124cf5398Mark Andrews
415d630b6309922caee8469384a6fab75cf05032Mark Andrewsclean: $(CLEAN_DEPS)
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
415d630b6309922caee8469384a6fab75cf05032Mark Andrews
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrewsclobber: $(CLOBBER_DEPS)
9218b940febade3085fd6d95a15e67d5f94833f0Tinderbox User $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt
7cc0a5d21ef046bfd630c4769943d896a7d7472cTinderbox Userlint: $(LINT_DEPS)
3ccf87473f7cf6d9faac156df38a935a238f96fdTinderbox User
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsmodlintlib: $(MODLINTLIB_DEPS) lint64
9218b940febade3085fd6d95a15e67d5f94833f0Tinderbox User
551e6d2414c4f47d58a9bb0b37f206f915a4f5acTinderbox Userclean.lint: $(CLEAN_LINT_DEPS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
9218b940febade3085fd6d95a15e67d5f94833f0Tinderbox Userinstall: $(INSTALL_DEPS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
9218b940febade3085fd6d95a15e67d5f94833f0Tinderbox User#
9218b940febade3085fd6d95a15e67d5f94833f0Tinderbox User# Include common targets.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
51aeb0ae19596e99b029cfa933e73b76ebec480aTinderbox Userinclude $(UTSBASE)/sparc/Makefile.targ
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
9218b940febade3085fd6d95a15e67d5f94833f0Tinderbox User
9218b940febade3085fd6d95a15e67d5f94833f0Tinderbox User#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Defines for local commands.
415d630b6309922caee8469384a6fab75cf05032Mark Andrews#
91216cff91b34c9ff6e846dc23f248219cafe660Andreas GustafssonWARLOCK = warlock
415d630b6309922caee8469384a6fab75cf05032Mark AndrewsWLCC = wlcc
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark AndrewsTOUCH = touch
9218b940febade3085fd6d95a15e67d5f94833f0Tinderbox UserSCCS = sccs
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsTEST = test
415d630b6309922caee8469384a6fab75cf05032Mark Andrews
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews#
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews# Warlock targets
9218b940febade3085fd6d95a15e67d5f94833f0Tinderbox User#
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# Note that in warlock_with_{esp,isp} it is important to load sd.ll
415d630b6309922caee8469384a6fab75cf05032Mark Andrews# before {isp,esp}.ll; the reason is that both have _init/_info/_fini
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson# and warlock can only handle one extern function by a given name;
415d630b6309922caee8469384a6fab75cf05032Mark Andrews# any loaded after the first are ignored.
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews
9218b940febade3085fd6d95a15e67d5f94833f0Tinderbox UserDADA_FILES = $(DADA_OBJS:%.o=-l $(UTSBASE)/sparc/dada/%.ll)
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsCMLB_FILES = $(CMLB_OBJS:%.o=-l $(UTSBASE)/sparc/cmlb/%.ll)
415d630b6309922caee8469384a6fab75cf05032Mark Andrews
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafssonwarlock: warlock_alone
415d630b6309922caee8469384a6fab75cf05032Mark Andrews
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrewswarlock_alone: $(WARLOCK_OK)
9218b940febade3085fd6d95a15e67d5f94833f0Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews%.wlcmd:
28a5dd720187fddb16055a0f64b63a7b66f29f64Mark Andrews cd $(WLCMD_DIR); $(TEST) -f $@ || $(SCCS) get $@
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrewsdada_files:
ebe53509ca55a141131c104b6d722236b606e0efTinderbox User @cd $(UTSBASE)/sparc/dada; pwd; $(MAKE) warlock
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrewscmlb_files:
fec6e13f2d1e69fe1c2b8fac36f732f124cf5398Mark Andrews @cd $(UTSBASE)/sparc/cmlb; pwd; $(MAKE) warlock
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews$(WARLOCK_OK): dad.wlcmd $(WARLOCK_OUT) dada_files warlock_ddi.files cmlb_files dad.wlcmd
fec6e13f2d1e69fe1c2b8fac36f732f124cf5398Mark Andrews $(WARLOCK) -c $(WLCMD_DIR)/dad.wlcmd $(WARLOCK_OUT) -l $(DADA_FILES) \
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont -l $(CMLB_FILES) \
51aeb0ae19596e99b029cfa933e73b76ebec480aTinderbox User -l $(UTSBASE)/sparc/warlock/ddi_dki_impl.ll
baeaed18341c015e9ad54ffa21973184c1bc432bMark Andrews $(TOUCH) $@
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews%.ll: $(UTSBASE)/sun/io/dada/targets/%.c
51aeb0ae19596e99b029cfa933e73b76ebec480aTinderbox User $(WLCC) $(CPPFLAGS) -o $@ $<
baeaed18341c015e9ad54ffa21973184c1bc432bMark Andrews
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewswarlock_ddi.files:
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews @cd $(UTSBASE)/sparc/warlock; pwd; $(MAKE) warlock
33b0d10552ea5f7716385b2cedff64daa1486c50Tinderbox User