e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley#
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# CDDL HEADER START
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley#
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# The contents of this file are subject to the terms of the
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# Common Development and Distribution License (the "License").
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# You may not use this file except in compliance with the License.
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley#
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# or http://www.opensolaris.org/os/licensing.
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# See the License for the specific language governing permissions
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# and limitations under the License.
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley#
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# When distributing Covered Code, include this CDDL HEADER in each
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# If applicable, add the following below this CDDL HEADER, with the
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# fields enclosed by brackets "[]" replaced with your own identifying
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# information: Portions Copyright [yyyy] [name of copyright owner]
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley#
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# CDDL HEADER END
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley#
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley#
5203bc321053fb87d7073c7640548fab73634793Tim Haley# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley#
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# This makefile drives the production of the zut file system
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# kernel module.
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley#
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# Path to the base of the uts directory tree (usually /usr/src/uts).
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley#
e802abbda8c322f24d47835734f4a793ef15ddc8Tim HaleyUTSBASE = ../..
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley
e802abbda8c322f24d47835734f4a793ef15ddc8Tim HaleyARCHDIR:sh = cd ..; basename `pwd`
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley#
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# Define the module and object file sets.
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley#
e802abbda8c322f24d47835734f4a793ef15ddc8Tim HaleyMODULE = zut
e802abbda8c322f24d47835734f4a793ef15ddc8Tim HaleyOBJECTS = $(ZUT_OBJS:%=$(OBJS_DIR)/%)
e802abbda8c322f24d47835734f4a793ef15ddc8Tim HaleyLINTS = $(ZUT_OBJS:%.o=$(LINTS_DIR)/%.ln)
e802abbda8c322f24d47835734f4a793ef15ddc8Tim HaleyROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
e802abbda8c322f24d47835734f4a793ef15ddc8Tim HaleyCONF_SRCDIR = $(UTSBASE)/common/fs/zut
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley#
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# Include common rules.
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley#
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haleyinclude ../Makefile.$(ARCHDIR)
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley#
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# Define targets
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley#
e802abbda8c322f24d47835734f4a793ef15ddc8Tim HaleyALL_TARGET = $(BINARY) $(SRC_CONFILE)
e802abbda8c322f24d47835734f4a793ef15ddc8Tim HaleyLINT_TARGET = $(MODULE).lint
e802abbda8c322f24d47835734f4a793ef15ddc8Tim HaleyINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley#
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# Overrides and depends_on
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley#
e802abbda8c322f24d47835734f4a793ef15ddc8Tim HaleyMODSTUBS_DIR = $(OBJS_DIR)
5203bc321053fb87d7073c7640548fab73634793Tim HaleyLDFLAGS += -dy
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley
e802abbda8c322f24d47835734f4a793ef15ddc8Tim HaleyINC_PATH += -I$(UTSBASE)/common/fs/zut
e802abbda8c322f24d47835734f4a793ef15ddc8Tim HaleyINC_PATH += -I$(SRC)/common
e802abbda8c322f24d47835734f4a793ef15ddc8Tim HaleyINC_PATH += -I$(COMMONBASE)/zut
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley
e802abbda8c322f24d47835734f4a793ef15ddc8Tim HaleyC99MODE= -xc99=%all
e802abbda8c322f24d47835734f4a793ef15ddc8Tim HaleyC99LMODE= -Xc99=%all
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley#
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# For now, disable these lint checks; maintainers should endeavor
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# to investigate and remove these for maximum lint coverage.
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# Please do not carry these forward to new Makefiles.
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley#
e802abbda8c322f24d47835734f4a793ef15ddc8Tim HaleyLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley
7014882c6a3672fd0e5d60200af8643ae53c5928Richard LoweCERRWARN += -_gcc=-Wno-parentheses
7014882c6a3672fd0e5d60200af8643ae53c5928Richard LoweCERRWARN += -_gcc=-Wno-uninitialized
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Lowe
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley#
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# Default build targets.
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley#
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley.KEEP_STATE:
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haleydef: $(DEF_DEPS)
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haleyall: $(ALL_DEPS)
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haleyclean: $(CLEAN_DEPS)
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haleyclobber: $(CLOBBER_DEPS)
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haleylint: $(LINT_DEPS)
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haleymodlintlib: $(MODLINTLIB_DEPS)
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haleyclean.lint: $(CLEAN_LINT_DEPS)
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haleyinstall: $(INSTALL_DEPS)
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley#
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley# Include common targets.
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haley#
e802abbda8c322f24d47835734f4a793ef15ddc8Tim Haleyinclude ../Makefile.targ