18f7d1b1aSAndreas Jaekel# 28f7d1b1aSAndreas Jaekel# CDDL HEADER START 38f7d1b1aSAndreas Jaekel# 48f7d1b1aSAndreas Jaekel# The contents of this file are subject to the terms of the 58f7d1b1aSAndreas Jaekel# Common Development and Distribution License (the "License"). 68f7d1b1aSAndreas Jaekel# You may not use this file except in compliance with the License. 78f7d1b1aSAndreas Jaekel# 88f7d1b1aSAndreas Jaekel# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 98f7d1b1aSAndreas Jaekel# or http://www.opensolaris.org/os/licensing. 108f7d1b1aSAndreas Jaekel# See the License for the specific language governing permissions 118f7d1b1aSAndreas Jaekel# and limitations under the License. 128f7d1b1aSAndreas Jaekel# 138f7d1b1aSAndreas Jaekel# When distributing Covered Code, include this CDDL HEADER in each 148f7d1b1aSAndreas Jaekel# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 158f7d1b1aSAndreas Jaekel# If applicable, add the following below this CDDL HEADER, with the 168f7d1b1aSAndreas Jaekel# fields enclosed by brackets "[]" replaced with your own identifying 178f7d1b1aSAndreas Jaekel# information: Portions Copyright [yyyy] [name of copyright owner] 188f7d1b1aSAndreas Jaekel# 198f7d1b1aSAndreas Jaekel# CDDL HEADER END 208f7d1b1aSAndreas Jaekel# 218f7d1b1aSAndreas Jaekel# 228f7d1b1aSAndreas Jaekel# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. 238f7d1b1aSAndreas Jaekel# 248f7d1b1aSAndreas Jaekel# This makefile drives the production of the zut file system 258f7d1b1aSAndreas Jaekel# kernel module. 268f7d1b1aSAndreas Jaekel 278f7d1b1aSAndreas Jaekel# 288f7d1b1aSAndreas Jaekel# Path to the base of the uts directory tree (usually /usr/src/uts). 298f7d1b1aSAndreas Jaekel# 308f7d1b1aSAndreas JaekelUTSBASE = ../.. 318f7d1b1aSAndreas Jaekel 328f7d1b1aSAndreas JaekelARCHDIR:sh = cd ..; basename `pwd` 338f7d1b1aSAndreas Jaekel 348f7d1b1aSAndreas Jaekel# 358f7d1b1aSAndreas Jaekel# Define the module and object file sets. 368f7d1b1aSAndreas Jaekel# 378f7d1b1aSAndreas JaekelMODULE = zev 388f7d1b1aSAndreas JaekelOBJECTS = $(ZEV_OBJS:%=$(OBJS_DIR)/%) 398f7d1b1aSAndreas JaekelLINTS = $(ZEV_OBJS:%.o=$(LINTS_DIR)/%.ln) 408f7d1b1aSAndreas JaekelROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE) 418f7d1b1aSAndreas JaekelCONF_SRCDIR = $(UTSBASE)/common/fs/zev 428f7d1b1aSAndreas Jaekel 438f7d1b1aSAndreas Jaekel# 448f7d1b1aSAndreas Jaekel# Include common rules. 458f7d1b1aSAndreas Jaekel# 468f7d1b1aSAndreas Jaekelinclude ../Makefile.$(ARCHDIR) 478f7d1b1aSAndreas Jaekel 488f7d1b1aSAndreas Jaekel# 498f7d1b1aSAndreas Jaekel# Define targets 508f7d1b1aSAndreas Jaekel# 518f7d1b1aSAndreas JaekelALL_TARGET = $(BINARY) $(SRC_CONFILE) 528f7d1b1aSAndreas JaekelLINT_TARGET = $(MODULE).lint 538f7d1b1aSAndreas JaekelINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE) 548f7d1b1aSAndreas Jaekel 558f7d1b1aSAndreas Jaekel# 568f7d1b1aSAndreas Jaekel# Overrides and depends_on 578f7d1b1aSAndreas Jaekel# 588f7d1b1aSAndreas JaekelMODSTUBS_DIR = $(OBJS_DIR) 59*144f824aSAndreas JaekelLDFLAGS += -dy -Nzfs 608f7d1b1aSAndreas Jaekel 618f7d1b1aSAndreas JaekelINC_PATH += -I$(UTSBASE)/common/fs/zev 628f7d1b1aSAndreas JaekelINC_PATH += -I$(UTSBASE)/common/fs/zfs 638f7d1b1aSAndreas JaekelINC_PATH += -I$(SRC)/common 648f7d1b1aSAndreas JaekelINC_PATH += -I$(COMMONBASE)/zev 658f7d1b1aSAndreas JaekelINC_PATH += -I$(COMMONBASE)/zfs 668f7d1b1aSAndreas Jaekel 678f7d1b1aSAndreas Jaekel 688f7d1b1aSAndreas JaekelC99MODE= -xc99=%all 698f7d1b1aSAndreas JaekelC99LMODE= -Xc99=%all 708f7d1b1aSAndreas Jaekel 718f7d1b1aSAndreas Jaekel# 728f7d1b1aSAndreas Jaekel# For now, disable these lint checks; maintainers should endeavor 738f7d1b1aSAndreas Jaekel# to investigate and remove these for maximum lint coverage. 748f7d1b1aSAndreas Jaekel# Please do not carry these forward to new Makefiles. 758f7d1b1aSAndreas Jaekel# 768f7d1b1aSAndreas JaekelLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW 778f7d1b1aSAndreas Jaekel 788f7d1b1aSAndreas JaekelCERRWARN += -_gcc=-Wno-parentheses 798f7d1b1aSAndreas JaekelCERRWARN += -_gcc=-Wno-uninitialized 808f7d1b1aSAndreas Jaekel 818f7d1b1aSAndreas Jaekel# 828f7d1b1aSAndreas Jaekel# Default build targets. 838f7d1b1aSAndreas Jaekel# 848f7d1b1aSAndreas Jaekel.KEEP_STATE: 858f7d1b1aSAndreas Jaekel 868f7d1b1aSAndreas Jaekeldef: $(DEF_DEPS) 878f7d1b1aSAndreas Jaekel 888f7d1b1aSAndreas Jaekelall: $(ALL_DEPS) 898f7d1b1aSAndreas Jaekel 908f7d1b1aSAndreas Jaekelclean: $(CLEAN_DEPS) 918f7d1b1aSAndreas Jaekel 928f7d1b1aSAndreas Jaekelclobber: $(CLOBBER_DEPS) 938f7d1b1aSAndreas Jaekel 948f7d1b1aSAndreas Jaekellint: $(LINT_DEPS) 958f7d1b1aSAndreas Jaekel 968f7d1b1aSAndreas Jaekelmodlintlib: $(MODLINTLIB_DEPS) 978f7d1b1aSAndreas Jaekel 988f7d1b1aSAndreas Jaekelclean.lint: $(CLEAN_LINT_DEPS) 998f7d1b1aSAndreas Jaekel 1008f7d1b1aSAndreas Jaekelinstall: $(INSTALL_DEPS) 1018f7d1b1aSAndreas Jaekel 1028f7d1b1aSAndreas Jaekel# 1038f7d1b1aSAndreas Jaekel# Include common targets. 1048f7d1b1aSAndreas Jaekel# 1058f7d1b1aSAndreas Jaekelinclude ../Makefile.targ 106