1*2bb8e5e2SAndreas Jaekel# 2*2bb8e5e2SAndreas Jaekel# CDDL HEADER START 3*2bb8e5e2SAndreas Jaekel# 4*2bb8e5e2SAndreas Jaekel# The contents of this file are subject to the terms of the 5*2bb8e5e2SAndreas Jaekel# Common Development and Distribution License (the "License"). 6*2bb8e5e2SAndreas Jaekel# You may not use this file except in compliance with the License. 7*2bb8e5e2SAndreas Jaekel# 8*2bb8e5e2SAndreas Jaekel# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*2bb8e5e2SAndreas Jaekel# or http://www.opensolaris.org/os/licensing. 10*2bb8e5e2SAndreas Jaekel# See the License for the specific language governing permissions 11*2bb8e5e2SAndreas Jaekel# and limitations under the License. 12*2bb8e5e2SAndreas Jaekel# 13*2bb8e5e2SAndreas Jaekel# When distributing Covered Code, include this CDDL HEADER in each 14*2bb8e5e2SAndreas Jaekel# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*2bb8e5e2SAndreas Jaekel# If applicable, add the following below this CDDL HEADER, with the 16*2bb8e5e2SAndreas Jaekel# fields enclosed by brackets "[]" replaced with your own identifying 17*2bb8e5e2SAndreas Jaekel# information: Portions Copyright [yyyy] [name of copyright owner] 18*2bb8e5e2SAndreas Jaekel# 19*2bb8e5e2SAndreas Jaekel# CDDL HEADER END 20*2bb8e5e2SAndreas Jaekel# 21*2bb8e5e2SAndreas Jaekel# 22*2bb8e5e2SAndreas Jaekel# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. 23*2bb8e5e2SAndreas Jaekel# 24*2bb8e5e2SAndreas Jaekel# This makefile drives the production of the zut file system 25*2bb8e5e2SAndreas Jaekel# kernel module. 26*2bb8e5e2SAndreas Jaekel 27*2bb8e5e2SAndreas Jaekel# 28*2bb8e5e2SAndreas Jaekel# Path to the base of the uts directory tree (usually /usr/src/uts). 29*2bb8e5e2SAndreas Jaekel# 30*2bb8e5e2SAndreas JaekelUTSBASE = ../.. 31*2bb8e5e2SAndreas Jaekel 32*2bb8e5e2SAndreas JaekelARCHDIR:sh = cd ..; basename `pwd` 33*2bb8e5e2SAndreas Jaekel 34*2bb8e5e2SAndreas Jaekel# 35*2bb8e5e2SAndreas Jaekel# Define the module and object file sets. 36*2bb8e5e2SAndreas Jaekel# 37*2bb8e5e2SAndreas JaekelMODULE = zev 38*2bb8e5e2SAndreas JaekelOBJECTS = $(ZEV_OBJS:%=$(OBJS_DIR)/%) 39*2bb8e5e2SAndreas JaekelLINTS = $(ZEV_OBJS:%.o=$(LINTS_DIR)/%.ln) 40*2bb8e5e2SAndreas JaekelROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE) 41*2bb8e5e2SAndreas JaekelCONF_SRCDIR = $(UTSBASE)/common/fs/zev 42*2bb8e5e2SAndreas Jaekel 43*2bb8e5e2SAndreas Jaekel# 44*2bb8e5e2SAndreas Jaekel# Include common rules. 45*2bb8e5e2SAndreas Jaekel# 46*2bb8e5e2SAndreas Jaekelinclude ../Makefile.$(ARCHDIR) 47*2bb8e5e2SAndreas Jaekel 48*2bb8e5e2SAndreas Jaekel# 49*2bb8e5e2SAndreas Jaekel# Define targets 50*2bb8e5e2SAndreas Jaekel# 51*2bb8e5e2SAndreas JaekelALL_TARGET = $(BINARY) $(SRC_CONFILE) 52*2bb8e5e2SAndreas JaekelLINT_TARGET = $(MODULE).lint 53*2bb8e5e2SAndreas JaekelINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE) 54*2bb8e5e2SAndreas Jaekel 55*2bb8e5e2SAndreas Jaekel# 56*2bb8e5e2SAndreas Jaekel# Overrides and depends_on 57*2bb8e5e2SAndreas Jaekel# 58*2bb8e5e2SAndreas JaekelMODSTUBS_DIR = $(OBJS_DIR) 59*2bb8e5e2SAndreas JaekelLDFLAGS += -dy 60*2bb8e5e2SAndreas Jaekel 61*2bb8e5e2SAndreas JaekelINC_PATH += -I$(UTSBASE)/common/fs/zev 62*2bb8e5e2SAndreas JaekelINC_PATH += -I$(UTSBASE)/common/fs/zfs 63*2bb8e5e2SAndreas JaekelINC_PATH += -I$(SRC)/common 64*2bb8e5e2SAndreas JaekelINC_PATH += -I$(COMMONBASE)/zev 65*2bb8e5e2SAndreas JaekelINC_PATH += -I$(COMMONBASE)/zfs 66*2bb8e5e2SAndreas Jaekel 67*2bb8e5e2SAndreas Jaekel 68*2bb8e5e2SAndreas JaekelC99MODE= -xc99=%all 69*2bb8e5e2SAndreas JaekelC99LMODE= -Xc99=%all 70*2bb8e5e2SAndreas Jaekel 71*2bb8e5e2SAndreas Jaekel# 72*2bb8e5e2SAndreas Jaekel# For now, disable these lint checks; maintainers should endeavor 73*2bb8e5e2SAndreas Jaekel# to investigate and remove these for maximum lint coverage. 74*2bb8e5e2SAndreas Jaekel# Please do not carry these forward to new Makefiles. 75*2bb8e5e2SAndreas Jaekel# 76*2bb8e5e2SAndreas JaekelLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW 77*2bb8e5e2SAndreas Jaekel 78*2bb8e5e2SAndreas JaekelCERRWARN += -_gcc=-Wno-parentheses 79*2bb8e5e2SAndreas JaekelCERRWARN += -_gcc=-Wno-uninitialized 80*2bb8e5e2SAndreas Jaekel 81*2bb8e5e2SAndreas Jaekel# 82*2bb8e5e2SAndreas Jaekel# Default build targets. 83*2bb8e5e2SAndreas Jaekel# 84*2bb8e5e2SAndreas Jaekel.KEEP_STATE: 85*2bb8e5e2SAndreas Jaekel 86*2bb8e5e2SAndreas Jaekeldef: $(DEF_DEPS) 87*2bb8e5e2SAndreas Jaekel 88*2bb8e5e2SAndreas Jaekelall: $(ALL_DEPS) 89*2bb8e5e2SAndreas Jaekel 90*2bb8e5e2SAndreas Jaekelclean: $(CLEAN_DEPS) 91*2bb8e5e2SAndreas Jaekel 92*2bb8e5e2SAndreas Jaekelclobber: $(CLOBBER_DEPS) 93*2bb8e5e2SAndreas Jaekel 94*2bb8e5e2SAndreas Jaekellint: $(LINT_DEPS) 95*2bb8e5e2SAndreas Jaekel 96*2bb8e5e2SAndreas Jaekelmodlintlib: $(MODLINTLIB_DEPS) 97*2bb8e5e2SAndreas Jaekel 98*2bb8e5e2SAndreas Jaekelclean.lint: $(CLEAN_LINT_DEPS) 99*2bb8e5e2SAndreas Jaekel 100*2bb8e5e2SAndreas Jaekelinstall: $(INSTALL_DEPS) 101*2bb8e5e2SAndreas Jaekel 102*2bb8e5e2SAndreas Jaekel# 103*2bb8e5e2SAndreas Jaekel# Include common targets. 104*2bb8e5e2SAndreas Jaekel# 105*2bb8e5e2SAndreas Jaekelinclude ../Makefile.targ 106