1372a60c3SAndreas Jaekel# 2372a60c3SAndreas Jaekel# CDDL HEADER START 3372a60c3SAndreas Jaekel# 4372a60c3SAndreas Jaekel# The contents of this file are subject to the terms of the 5372a60c3SAndreas Jaekel# Common Development and Distribution License (the "License"). 6372a60c3SAndreas Jaekel# You may not use this file except in compliance with the License. 7372a60c3SAndreas Jaekel# 8372a60c3SAndreas Jaekel# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9372a60c3SAndreas Jaekel# or http://www.opensolaris.org/os/licensing. 10372a60c3SAndreas Jaekel# See the License for the specific language governing permissions 11372a60c3SAndreas Jaekel# and limitations under the License. 12372a60c3SAndreas Jaekel# 13372a60c3SAndreas Jaekel# When distributing Covered Code, include this CDDL HEADER in each 14372a60c3SAndreas Jaekel# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15372a60c3SAndreas Jaekel# If applicable, add the following below this CDDL HEADER, with the 16372a60c3SAndreas Jaekel# fields enclosed by brackets "[]" replaced with your own identifying 17372a60c3SAndreas Jaekel# information: Portions Copyright [yyyy] [name of copyright owner] 18372a60c3SAndreas Jaekel# 19372a60c3SAndreas Jaekel# CDDL HEADER END 20372a60c3SAndreas Jaekel# 21372a60c3SAndreas Jaekel# 22372a60c3SAndreas Jaekel# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. 23372a60c3SAndreas Jaekel# 24372a60c3SAndreas Jaekel# This makefile drives the production of the zut file system 25372a60c3SAndreas Jaekel# kernel module. 26372a60c3SAndreas Jaekel 27372a60c3SAndreas Jaekel# 28372a60c3SAndreas Jaekel# Path to the base of the uts directory tree (usually /usr/src/uts). 29372a60c3SAndreas Jaekel# 30372a60c3SAndreas JaekelUTSBASE = ../.. 31372a60c3SAndreas Jaekel 32372a60c3SAndreas JaekelARCHDIR:sh = cd ..; basename `pwd` 33372a60c3SAndreas Jaekel 34372a60c3SAndreas Jaekel# 35372a60c3SAndreas Jaekel# Define the module and object file sets. 36372a60c3SAndreas Jaekel# 37372a60c3SAndreas JaekelMODULE = getgen 38372a60c3SAndreas JaekelOBJECTS = $(GETGEN_OBJS:%=$(OBJS_DIR)/%) 39372a60c3SAndreas JaekelLINTS = $(GETGEN_OBJS:%.o=$(LINTS_DIR)/%.ln) 40372a60c3SAndreas JaekelROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE) 41372a60c3SAndreas JaekelCONF_SRCDIR = $(UTSBASE)/common/fs/getgen 42372a60c3SAndreas Jaekel 43372a60c3SAndreas Jaekel# 44372a60c3SAndreas Jaekel# Include common rules. 45372a60c3SAndreas Jaekel# 46372a60c3SAndreas Jaekelinclude ../Makefile.$(ARCHDIR) 47372a60c3SAndreas Jaekel 48372a60c3SAndreas Jaekel# 49372a60c3SAndreas Jaekel# Define targets 50372a60c3SAndreas Jaekel# 51372a60c3SAndreas JaekelALL_TARGET = $(BINARY) $(SRC_CONFILE) 52372a60c3SAndreas JaekelLINT_TARGET = $(MODULE).lint 53372a60c3SAndreas JaekelINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE) 54372a60c3SAndreas Jaekel 55372a60c3SAndreas Jaekel# 56372a60c3SAndreas Jaekel# Overrides and depends_on 57372a60c3SAndreas Jaekel# 58372a60c3SAndreas JaekelMODSTUBS_DIR = $(OBJS_DIR) 59*ba7df1e9SMarcel TelkaLDFLAGS += -dy -Ndrv/zfs 60372a60c3SAndreas Jaekel 61372a60c3SAndreas JaekelINC_PATH += -I$(UTSBASE)/common/fs/getgen 62372a60c3SAndreas JaekelINC_PATH += -I$(UTSBASE)/common/fs/zfs 63372a60c3SAndreas JaekelINC_PATH += -I$(SRC)/common 64372a60c3SAndreas JaekelINC_PATH += -I$(COMMONBASE)/getgen 65372a60c3SAndreas JaekelINC_PATH += -I$(COMMONBASE)/zfs 66372a60c3SAndreas Jaekel 67372a60c3SAndreas Jaekel 68372a60c3SAndreas JaekelC99MODE= -xc99=%all 69372a60c3SAndreas JaekelC99LMODE= -Xc99=%all 70372a60c3SAndreas Jaekel 71372a60c3SAndreas Jaekel# 72372a60c3SAndreas Jaekel# For now, disable these lint checks; maintainers should endeavor 73372a60c3SAndreas Jaekel# to investigate and remove these for maximum lint coverage. 74372a60c3SAndreas Jaekel# Please do not carry these forward to new Makefiles. 75372a60c3SAndreas Jaekel# 76372a60c3SAndreas JaekelLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW 77372a60c3SAndreas Jaekel 78372a60c3SAndreas JaekelCERRWARN += -_gcc=-Wno-parentheses 79372a60c3SAndreas JaekelCERRWARN += -_gcc=-Wno-uninitialized 80372a60c3SAndreas Jaekel 81372a60c3SAndreas Jaekel# 82372a60c3SAndreas Jaekel# Default build targets. 83372a60c3SAndreas Jaekel# 84372a60c3SAndreas Jaekel.KEEP_STATE: 85372a60c3SAndreas Jaekel 86372a60c3SAndreas Jaekeldef: $(DEF_DEPS) 87372a60c3SAndreas Jaekel 88372a60c3SAndreas Jaekelall: $(ALL_DEPS) 89372a60c3SAndreas Jaekel 90372a60c3SAndreas Jaekelclean: $(CLEAN_DEPS) 91372a60c3SAndreas Jaekel 92372a60c3SAndreas Jaekelclobber: $(CLOBBER_DEPS) 93372a60c3SAndreas Jaekel 94372a60c3SAndreas Jaekellint: $(LINT_DEPS) 95372a60c3SAndreas Jaekel 96372a60c3SAndreas Jaekelmodlintlib: $(MODLINTLIB_DEPS) 97372a60c3SAndreas Jaekel 98372a60c3SAndreas Jaekelclean.lint: $(CLEAN_LINT_DEPS) 99372a60c3SAndreas Jaekel 100372a60c3SAndreas Jaekelinstall: $(INSTALL_DEPS) 101372a60c3SAndreas Jaekel 102372a60c3SAndreas Jaekel# 103372a60c3SAndreas Jaekel# Include common targets. 104372a60c3SAndreas Jaekel# 105372a60c3SAndreas Jaekelinclude ../Makefile.targ 106