Makefile revision bb25c06cca41ca78e5fb87fbb8e81d55beb18c95
c32570b3191fdfb38a65567b8bb729fdb42ff847Tinderbox User#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# CDDL HEADER START
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User#
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User# The contents of this file are subject to the terms of the
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User# Common Development and Distribution License (the "License").
83217b5fdc70ea66fedf2ab3e9b9169c2b8a200aRob Austein# You may not use this file except in compliance with the License.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User# or http://www.opensolaris.org/os/licensing.
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews# See the License for the specific language governing permissions
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews# and limitations under the License.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User#
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User# When distributing Covered Code, include this CDDL HEADER in each
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User# If applicable, add the following below this CDDL HEADER, with the
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User# fields enclosed by brackets "[]" replaced with your own identifying
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews# information: Portions Copyright [yyyy] [name of copyright owner]
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User# CDDL HEADER END
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User# Use is subject to license terms.
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#ident "%Z%%M% %I% %E% SMI"
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User# This makefile drives the production of the zfs file system
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User# kernel module.
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark Andrews# Path to the base of the uts directory tree (usually /usr/src/uts).
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark Andrews#
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark AndrewsUTSBASE = ../..
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark Andrews
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox UserARCHDIR:sh = cd ..; basename `pwd`
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User#
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark Andrews# Define the module and object file sets.
51eba00c8f281eda4daac725c0c7d1373a93a5aaAndreas Gustafsson#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE = zfs
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserOBJECTS = $(ZFS_OBJS:%=$(OBJS_DIR)/%)
9700e6d72c3ba0d0c567969ab97d9eff202656d4Tinderbox UserLINTS = $(ZFS_OBJS:%.o=$(LINTS_DIR)/%.ln)
51eba00c8f281eda4daac725c0c7d1373a93a5aaAndreas GustafssonROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
51eba00c8f281eda4daac725c0c7d1373a93a5aaAndreas GustafssonROOTLINK = $(ROOT_FS_DIR)/$(MODULE)
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark AndrewsCONF_SRCDIR = $(UTSBASE)/common/fs/zfs
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark Andrews#
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User# Include common rules.
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark Andrews#
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark Andrewsinclude ../Makefile.$(ARCHDIR)
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark Andrews#
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User# Define targets
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark Andrews#
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark AndrewsALL_TARGET = $(BINARY) $(SRC_CONFILE)
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark AndrewsLINT_TARGET = $(MODULE).lint
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark AndrewsINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOTLINK) $(ROOT_CONFFILE)
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User#
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark Andrews# Overrides and depends_on
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User#
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox UserMODSTUBS_DIR = $(OBJS_DIR)
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox UserLDFLAGS += -dy -Nfs/specfs -Ndrv/random
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox UserINC_PATH += -I$(UTSBASE)/common/fs/zfs
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox UserINC_PATH += -I$(SRC)/common
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox UserINC_PATH += -I$(COMMONBASE)/zfs
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox UserC99MODE= -xc99=%all
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox UserC99LMODE= -Xc99=%all
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User#
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User# For now, disable these lint checks; maintainers should endeavor
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User# to investigate and remove these for maximum lint coverage.
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User# Please do not carry these forward to new Makefiles.
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User#
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox UserLINTTAGS += -erroff=E_SUSPICIOUS_COMPARISON
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark AndrewsLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox UserLINTTAGS += -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
260e8e04b0dc24cb884c789b5d9eb046457f264eTinderbox UserLINTTAGS += -erroff=E_STATIC_UNUSED
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox UserLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox UserLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark Andrews#
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User# Default build targets.
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User#
260e8e04b0dc24cb884c789b5d9eb046457f264eTinderbox User.KEEP_STATE:
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox Userdef: $(DEF_DEPS)
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox Userall: $(ALL_DEPS)
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark Andrewsclean: $(CLEAN_DEPS)
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark Andrewsclobber: $(CLOBBER_DEPS)
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox Userlint: $(LINT_DEPS)
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark Andrews
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox Usermodlintlib: $(MODLINTLIB_DEPS)
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox Userclean.lint: $(CLEAN_LINT_DEPS)
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark Andrews
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox Userinstall: $(INSTALL_DEPS)
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark Andrews$(ROOTLINK): $(ROOT_FS_DIR) $(ROOTMODULE)
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User -$(RM) $@; ln $(ROOTMODULE) $@
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User#
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User# Include common targets.
cedb0bd0c1e3c461b7e479a16d3adfd5b150f1f4Mark Andrews#
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox Userinclude ../Makefile.targ
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User