12bb8e5e2SAndreas Jaekel# 22bb8e5e2SAndreas Jaekel# CDDL HEADER START 32bb8e5e2SAndreas Jaekel# 42bb8e5e2SAndreas Jaekel# The contents of this file are subject to the terms of the 52bb8e5e2SAndreas Jaekel# Common Development and Distribution License (the "License"). 62bb8e5e2SAndreas Jaekel# You may not use this file except in compliance with the License. 72bb8e5e2SAndreas Jaekel# 82bb8e5e2SAndreas Jaekel# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 92bb8e5e2SAndreas Jaekel# or http://www.opensolaris.org/os/licensing. 102bb8e5e2SAndreas Jaekel# See the License for the specific language governing permissions 112bb8e5e2SAndreas Jaekel# and limitations under the License. 122bb8e5e2SAndreas Jaekel# 132bb8e5e2SAndreas Jaekel# When distributing Covered Code, include this CDDL HEADER in each 142bb8e5e2SAndreas Jaekel# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 152bb8e5e2SAndreas Jaekel# If applicable, add the following below this CDDL HEADER, with the 162bb8e5e2SAndreas Jaekel# fields enclosed by brackets "[]" replaced with your own identifying 172bb8e5e2SAndreas Jaekel# information: Portions Copyright [yyyy] [name of copyright owner] 182bb8e5e2SAndreas Jaekel# 192bb8e5e2SAndreas Jaekel# CDDL HEADER END 202bb8e5e2SAndreas Jaekel# 212bb8e5e2SAndreas Jaekel# 222bb8e5e2SAndreas Jaekel# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. 232bb8e5e2SAndreas Jaekel# 242bb8e5e2SAndreas Jaekel# This makefile drives the production of the zut file system 252bb8e5e2SAndreas Jaekel# kernel module. 262bb8e5e2SAndreas Jaekel 272bb8e5e2SAndreas Jaekel# 282bb8e5e2SAndreas Jaekel# Path to the base of the uts directory tree (usually /usr/src/uts). 292bb8e5e2SAndreas Jaekel# 302bb8e5e2SAndreas JaekelUTSBASE = ../.. 312bb8e5e2SAndreas Jaekel 322bb8e5e2SAndreas JaekelARCHDIR:sh = cd ..; basename `pwd` 332bb8e5e2SAndreas Jaekel 342bb8e5e2SAndreas Jaekel# 352bb8e5e2SAndreas Jaekel# Define the module and object file sets. 362bb8e5e2SAndreas Jaekel# 372bb8e5e2SAndreas JaekelMODULE = zev 382bb8e5e2SAndreas JaekelOBJECTS = $(ZEV_OBJS:%=$(OBJS_DIR)/%) 392bb8e5e2SAndreas JaekelLINTS = $(ZEV_OBJS:%.o=$(LINTS_DIR)/%.ln) 402bb8e5e2SAndreas JaekelROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE) 412bb8e5e2SAndreas JaekelCONF_SRCDIR = $(UTSBASE)/common/fs/zev 422bb8e5e2SAndreas Jaekel 432bb8e5e2SAndreas Jaekel# 442bb8e5e2SAndreas Jaekel# Include common rules. 452bb8e5e2SAndreas Jaekel# 462bb8e5e2SAndreas Jaekelinclude ../Makefile.$(ARCHDIR) 472bb8e5e2SAndreas Jaekel 482bb8e5e2SAndreas Jaekel# 492bb8e5e2SAndreas Jaekel# Define targets 502bb8e5e2SAndreas Jaekel# 512bb8e5e2SAndreas JaekelALL_TARGET = $(BINARY) $(SRC_CONFILE) 522bb8e5e2SAndreas JaekelLINT_TARGET = $(MODULE).lint 532bb8e5e2SAndreas JaekelINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE) 542bb8e5e2SAndreas Jaekel 552bb8e5e2SAndreas Jaekel# 562bb8e5e2SAndreas Jaekel# Overrides and depends_on 572bb8e5e2SAndreas Jaekel# 582bb8e5e2SAndreas JaekelMODSTUBS_DIR = $(OBJS_DIR) 59*ba7df1e9SMarcel TelkaLDFLAGS += -dy -Ndrv/zfs 602bb8e5e2SAndreas Jaekel 612bb8e5e2SAndreas JaekelINC_PATH += -I$(UTSBASE)/common/fs/zev 622bb8e5e2SAndreas JaekelINC_PATH += -I$(UTSBASE)/common/fs/zfs 632bb8e5e2SAndreas JaekelINC_PATH += -I$(SRC)/common 642bb8e5e2SAndreas JaekelINC_PATH += -I$(COMMONBASE)/zev 652bb8e5e2SAndreas JaekelINC_PATH += -I$(COMMONBASE)/zfs 662bb8e5e2SAndreas Jaekel 672bb8e5e2SAndreas Jaekel 682bb8e5e2SAndreas JaekelC99MODE= -xc99=%all 692bb8e5e2SAndreas JaekelC99LMODE= -Xc99=%all 702bb8e5e2SAndreas Jaekel 712bb8e5e2SAndreas Jaekel# 722bb8e5e2SAndreas Jaekel# For now, disable these lint checks; maintainers should endeavor 732bb8e5e2SAndreas Jaekel# to investigate and remove these for maximum lint coverage. 742bb8e5e2SAndreas Jaekel# Please do not carry these forward to new Makefiles. 752bb8e5e2SAndreas Jaekel# 762bb8e5e2SAndreas JaekelLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW 772bb8e5e2SAndreas Jaekel 782bb8e5e2SAndreas JaekelCERRWARN += -_gcc=-Wno-parentheses 792bb8e5e2SAndreas JaekelCERRWARN += -_gcc=-Wno-uninitialized 802bb8e5e2SAndreas Jaekel 812bb8e5e2SAndreas Jaekel# 822bb8e5e2SAndreas Jaekel# Default build targets. 832bb8e5e2SAndreas Jaekel# 842bb8e5e2SAndreas Jaekel.KEEP_STATE: 852bb8e5e2SAndreas Jaekel 862bb8e5e2SAndreas Jaekeldef: $(DEF_DEPS) 872bb8e5e2SAndreas Jaekel 882bb8e5e2SAndreas Jaekelall: $(ALL_DEPS) 892bb8e5e2SAndreas Jaekel 902bb8e5e2SAndreas Jaekelclean: $(CLEAN_DEPS) 912bb8e5e2SAndreas Jaekel 922bb8e5e2SAndreas Jaekelclobber: $(CLOBBER_DEPS) 932bb8e5e2SAndreas Jaekel 942bb8e5e2SAndreas Jaekellint: $(LINT_DEPS) 952bb8e5e2SAndreas Jaekel 962bb8e5e2SAndreas Jaekelmodlintlib: $(MODLINTLIB_DEPS) 972bb8e5e2SAndreas Jaekel 982bb8e5e2SAndreas Jaekelclean.lint: $(CLEAN_LINT_DEPS) 992bb8e5e2SAndreas Jaekel 1002bb8e5e2SAndreas Jaekelinstall: $(INSTALL_DEPS) 1012bb8e5e2SAndreas Jaekel 1022bb8e5e2SAndreas Jaekel# 1032bb8e5e2SAndreas Jaekel# Include common targets. 1042bb8e5e2SAndreas Jaekel# 1052bb8e5e2SAndreas Jaekelinclude ../Makefile.targ 106