1*fa9e4066Sahrens# 2*fa9e4066Sahrens# CDDL HEADER START 3*fa9e4066Sahrens# 4*fa9e4066Sahrens# The contents of this file are subject to the terms of the 5*fa9e4066Sahrens# Common Development and Distribution License, Version 1.0 only 6*fa9e4066Sahrens# (the "License"). You may not use this file except in compliance 7*fa9e4066Sahrens# with the License. 8*fa9e4066Sahrens# 9*fa9e4066Sahrens# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10*fa9e4066Sahrens# or http://www.opensolaris.org/os/licensing. 11*fa9e4066Sahrens# See the License for the specific language governing permissions 12*fa9e4066Sahrens# and limitations under the License. 13*fa9e4066Sahrens# 14*fa9e4066Sahrens# When distributing Covered Code, include this CDDL HEADER in each 15*fa9e4066Sahrens# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16*fa9e4066Sahrens# If applicable, add the following below this CDDL HEADER, with the 17*fa9e4066Sahrens# fields enclosed by brackets "[]" replaced with your own identifying 18*fa9e4066Sahrens# information: Portions Copyright [yyyy] [name of copyright owner] 19*fa9e4066Sahrens# 20*fa9e4066Sahrens# CDDL HEADER END 21*fa9e4066Sahrens# 22*fa9e4066Sahrens# 23*fa9e4066Sahrens# Copyright 2005 Sun Microsystems, Inc. All rights reserved. 24*fa9e4066Sahrens# Use is subject to license terms. 25*fa9e4066Sahrens# 26*fa9e4066Sahrens#ident "%Z%%M% %I% %E% SMI" 27*fa9e4066Sahrens# 28*fa9e4066Sahrens# This makefile drives the production of the zfs file system 29*fa9e4066Sahrens# kernel module. 30*fa9e4066Sahrens 31*fa9e4066Sahrens# 32*fa9e4066Sahrens# Path to the base of the uts directory tree (usually /usr/src/uts). 33*fa9e4066Sahrens# 34*fa9e4066SahrensUTSBASE = ../.. 35*fa9e4066Sahrens 36*fa9e4066SahrensARCHDIR:sh = cd ..; basename `pwd` 37*fa9e4066Sahrens 38*fa9e4066Sahrens# 39*fa9e4066Sahrens# Define the module and object file sets. 40*fa9e4066Sahrens# 41*fa9e4066SahrensMODULE = zfs 42*fa9e4066SahrensOBJECTS = $(ZFS_OBJS:%=$(OBJS_DIR)/%) 43*fa9e4066SahrensLINTS = $(ZFS_OBJS:%.o=$(LINTS_DIR)/%.ln) 44*fa9e4066SahrensROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE) 45*fa9e4066SahrensROOTLINK = $(ROOT_FS_DIR)/$(MODULE) 46*fa9e4066SahrensCONF_SRCDIR = $(UTSBASE)/common/fs/zfs 47*fa9e4066Sahrens 48*fa9e4066Sahrens# 49*fa9e4066Sahrens# Include common rules. 50*fa9e4066Sahrens# 51*fa9e4066Sahrensinclude ../Makefile.$(ARCHDIR) 52*fa9e4066Sahrens 53*fa9e4066Sahrens# 54*fa9e4066Sahrens# Define targets 55*fa9e4066Sahrens# 56*fa9e4066SahrensALL_TARGET = $(BINARY) $(SRC_CONFILE) 57*fa9e4066SahrensLINT_TARGET = $(MODULE).lint 58*fa9e4066SahrensINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOTLINK) $(ROOT_CONFFILE) 59*fa9e4066Sahrens 60*fa9e4066Sahrens# 61*fa9e4066Sahrens# Overrides and depends_on 62*fa9e4066Sahrens# 63*fa9e4066SahrensMODSTUBS_DIR = $(OBJS_DIR) 64*fa9e4066SahrensLDFLAGS += -dy -Nfs/specfs -Ndrv/random 65*fa9e4066Sahrens 66*fa9e4066SahrensINC_PATH += -I$(UTSBASE)/common/fs/zfs 67*fa9e4066SahrensINC_PATH += -I$(SRC)/common 68*fa9e4066SahrensINC_PATH += -I$(COMMONBASE)/zfs 69*fa9e4066Sahrens 70*fa9e4066SahrensC99MODE= -xc99=%all 71*fa9e4066SahrensC99LMODE= -Xc99=%all 72*fa9e4066Sahrens 73*fa9e4066Sahrens# 74*fa9e4066Sahrens# Default build targets. 75*fa9e4066Sahrens# 76*fa9e4066Sahrens.KEEP_STATE: 77*fa9e4066Sahrens 78*fa9e4066Sahrensdef: $(DEF_DEPS) 79*fa9e4066Sahrens 80*fa9e4066Sahrensall: $(ALL_DEPS) 81*fa9e4066Sahrens 82*fa9e4066Sahrensclean: $(CLEAN_DEPS) 83*fa9e4066Sahrens 84*fa9e4066Sahrensclobber: $(CLOBBER_DEPS) 85*fa9e4066Sahrens 86*fa9e4066Sahrenslint: $(LINT_DEPS) 87*fa9e4066Sahrens 88*fa9e4066Sahrensmodlintlib: $(MODLINTLIB_DEPS) 89*fa9e4066Sahrens 90*fa9e4066Sahrensclean.lint: $(CLEAN_LINT_DEPS) 91*fa9e4066Sahrens 92*fa9e4066Sahrensinstall: $(INSTALL_DEPS) 93*fa9e4066Sahrens 94*fa9e4066Sahrens$(ROOTLINK): $(ROOT_FS_DIR) $(ROOTMODULE) 95*fa9e4066Sahrens -$(RM) $@; ln $(ROOTMODULE) $@ 96*fa9e4066Sahrens 97*fa9e4066Sahrens# 98*fa9e4066Sahrens# Include common targets. 99*fa9e4066Sahrens# 100*fa9e4066Sahrensinclude ../Makefile.targ 101