59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen#
c0550b01024b910b8c1468811c0ea663b10b1372Trond Norbye# CDDL HEADER START
c0550b01024b910b8c1468811c0ea663b10b1372Trond Norbye#
c0550b01024b910b8c1468811c0ea663b10b1372Trond Norbye# The contents of this file are subject to the terms of the
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen# Common Development and Distribution License (the "License").
c0550b01024b910b8c1468811c0ea663b10b1372Trond Norbye# You may not use this file except in compliance with the License.
c0550b01024b910b8c1468811c0ea663b10b1372Trond Norbye#
c0550b01024b910b8c1468811c0ea663b10b1372Trond Norbye# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
c0550b01024b910b8c1468811c0ea663b10b1372Trond Norbye# or http://www.opensolaris.org/os/licensing.
c0550b01024b910b8c1468811c0ea663b10b1372Trond Norbye# See the License for the specific language governing permissions
c0550b01024b910b8c1468811c0ea663b10b1372Trond Norbye# and limitations under the License.
c0550b01024b910b8c1468811c0ea663b10b1372Trond Norbye#
c0550b01024b910b8c1468811c0ea663b10b1372Trond Norbye# When distributing Covered Code, include this CDDL HEADER in each
c0550b01024b910b8c1468811c0ea663b10b1372Trond Norbye# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
c0550b01024b910b8c1468811c0ea663b10b1372Trond Norbye# If applicable, add the following below this CDDL HEADER, with the
c0550b01024b910b8c1468811c0ea663b10b1372Trond Norbye# fields enclosed by brackets "[]" replaced with your own identifying
c0550b01024b910b8c1468811c0ea663b10b1372Trond Norbye# information: Portions Copyright [yyyy] [name of copyright owner]
c0550b01024b910b8c1468811c0ea663b10b1372Trond Norbye#
73189ea86c6fb0af01e16eaa5b0da3f2bb775c41Harry Pan# CDDL HEADER END
c0550b01024b910b8c1468811c0ea663b10b1372Trond Norbye#
c0550b01024b910b8c1468811c0ea663b10b1372Trond Norbye#
14a41f02433890d19b2f871156271e3388cd0845Jens Elkner# uts/sparc/cmlb/Makefile
14a41f02433890d19b2f871156271e3388cd0845Jens Elkner#
14a41f02433890d19b2f871156271e3388cd0845Jens Elkner# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
c11ca22dbe6cf6ad259e4848ece6fe5152f9505cLubos Kosco# Use is subject to license terms.
c11ca22dbe6cf6ad259e4848ece6fe5152f9505cLubos Kosco#
14a41f02433890d19b2f871156271e3388cd0845Jens Elkner# This makefile drives the production of the cmlb "misc"
14a41f02433890d19b2f871156271e3388cd0845Jens Elkner# kernel module.
14a41f02433890d19b2f871156271e3388cd0845Jens Elkner#
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen#
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen#
14a41f02433890d19b2f871156271e3388cd0845Jens Elkner# Path to the base of the uts directory tree (usually /usr/src/uts).
14a41f02433890d19b2f871156271e3388cd0845Jens Elkner#
14a41f02433890d19b2f871156271e3388cd0845Jens ElknerUTSBASE = ../..
14a41f02433890d19b2f871156271e3388cd0845Jens Elkner
14a41f02433890d19b2f871156271e3388cd0845Jens Elkner#
c0550b01024b910b8c1468811c0ea663b10b1372Trond Norbye# Define the module and object file sets.
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen#
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders HatlenMODULE = cmlb
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders HatlenOBJECTS = $(CMLB_OBJS:%=$(OBJS_DIR)/%)
14a41f02433890d19b2f871156271e3388cd0845Jens ElknerLINTS = $(CMLB_OBJS:%.o=$(LINTS_DIR)/%.ln)
14a41f02433890d19b2f871156271e3388cd0845Jens ElknerWARLOCK_OUT = $(CMLB_OBJS:%.o=%.ll)
14a41f02433890d19b2f871156271e3388cd0845Jens ElknerWARLOCK_OK = $(MODULE).ok
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders HatlenROOTMODULE = $(ROOT_MISC_DIR)/$(MODULE)
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen#
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen# Include common rules.
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen#
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatleninclude $(UTSBASE)/sparc/Makefile.sparc
14a41f02433890d19b2f871156271e3388cd0845Jens Elkner
14a41f02433890d19b2f871156271e3388cd0845Jens Elkner#
14a41f02433890d19b2f871156271e3388cd0845Jens Elkner# Define targets
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen#
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders HatlenALL_TARGET = $(BINARY)
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders HatlenLINT_TARGET = $(MODULE).lint
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos KoscoINSTALL_TARGET = $(BINARY) $(ROOTMODULE)
689c2c8d7d285f355a90f35469326d5e51777042Harry Pan
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos Kosco#
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos Kosco# Overrides.
73189ea86c6fb0af01e16eaa5b0da3f2bb775c41Harry Pan#
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos KoscoDEBUG_FLGS =
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos KoscoDEBUG_DEFS += $(DEBUG_FLGS)
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos Kosco
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos Kosco# Larger than 1TB VTOC
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos Kosco
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos KoscoCPPFLAGS += -D_EXTVTOC
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos Kosco
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos Kosco#
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos Kosco# For now, disable these lint checks; maintainers should endeavor
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos Kosco# to investigate and remove these for maximum lint coverage.
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos Kosco# Please do not carry these forward to new Makefiles.
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos Kosco#
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos KoscoLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos KoscoLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos KoscoLINTTAGS += -erroff=E_STATIC_UNUSED
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos KoscoLINTTAGS += -erroff=E_SUSPICIOUS_COMPARISON
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos Kosco
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos KoscoCERRWARN += -_gcc=-Wno-unused-label
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos KoscoCERRWARN += -_gcc=-Wno-type-limits
4fd421f78fa03a25d6771c9347f33699ae8ca20cLubos KoscoCERRWARN += -_gcc=-Wno-parentheses
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos KoscoCERRWARN += -_gcc=-Wno-unused-function
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos KoscoCERRWARN += -_gcc=-Wno-uninitialized
99b4056e2c5b0a51f7f480ebcefb1f917613ce2aLubos Kosco
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos Kosco#
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos Kosco# Default build targets.
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos Kosco#
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos Kosco.KEEP_STATE:
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos Kosco
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos Koscodef: $(DEF_DEPS)
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos Kosco
9a4361e23046cda58b9a5b8f4e11910dc433badaLubos Koscoall: $(ALL_DEPS)
ba7acbadb299581bd4e995c01d86200e3c04a5c7Harry Pan
689c2c8d7d285f355a90f35469326d5e51777042Harry Panclean: $(CLEAN_DEPS)
ba7acbadb299581bd4e995c01d86200e3c04a5c7Harry Pan $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
14a41f02433890d19b2f871156271e3388cd0845Jens Elkner
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlenclobber: $(CLOBBER_DEPS)
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlenlint: $(LINT_DEPS)
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen
14a41f02433890d19b2f871156271e3388cd0845Jens Elknermodlintlib: $(MODLINTLIB_DEPS)
689c2c8d7d285f355a90f35469326d5e51777042Harry Pan
14a41f02433890d19b2f871156271e3388cd0845Jens Elknerclean.lint: $(CLEAN_LINT_DEPS)
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatleninstall: $(INSTALL_DEPS)
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen#
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen# Include common targets.
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen#
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatleninclude $(UTSBASE)/sparc/Makefile.targ
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen#
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen# Defines for local commands.
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen#
14a41f02433890d19b2f871156271e3388cd0845Jens ElknerWLCC = wlcc
9c4ded641ae76132f262728f5d64e30fb004ae47Lubos KoscoTOUCH = touch
14a41f02433890d19b2f871156271e3388cd0845Jens ElknerWARLOCK = warlock
9c4ded641ae76132f262728f5d64e30fb004ae47Lubos Kosco
ba7acbadb299581bd4e995c01d86200e3c04a5c7Harry Pan#
73189ea86c6fb0af01e16eaa5b0da3f2bb775c41Harry Pan# Warlock targets
ba7acbadb299581bd4e995c01d86200e3c04a5c7Harry Pan#
ba7acbadb299581bd4e995c01d86200e3c04a5c7Harry Panwarlock: $(WARLOCK_OK)
9c4ded641ae76132f262728f5d64e30fb004ae47Lubos Kosco
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen$(WARLOCK_OK): $(WARLOCK_OUT)
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen $(TOUCH) $@
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen
59b6a8c0cc6ef741a7180504b3c371e67c2aa338Knut Anders Hatlen%.ll: $(UTSBASE)/common/io/%.c
9c4ded641ae76132f262728f5d64e30fb004ae47Lubos Kosco $(WLCC) $(CPPFLAGS) -DDEBUG -o $@ $<
9c4ded641ae76132f262728f5d64e30fb004ae47Lubos Kosco