01cf0ca850dd1c21e1c405a4493fe61d0c28d721Lennart Poettering# CDDL HEADER START
01cf0ca850dd1c21e1c405a4493fe61d0c28d721Lennart Poettering# The contents of this file are subject to the terms of the
01cf0ca850dd1c21e1c405a4493fe61d0c28d721Lennart Poettering# Common Development and Distribution License (the "License").
01cf0ca850dd1c21e1c405a4493fe61d0c28d721Lennart Poettering# You may not use this file except in compliance with the License.
01cf0ca850dd1c21e1c405a4493fe61d0c28d721Lennart Poettering# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
01cf0ca850dd1c21e1c405a4493fe61d0c28d721Lennart Poettering# or http://www.opensolaris.org/os/licensing.
01cf0ca850dd1c21e1c405a4493fe61d0c28d721Lennart Poettering# See the License for the specific language governing permissions
01cf0ca850dd1c21e1c405a4493fe61d0c28d721Lennart Poettering# and limitations under the License.
01cf0ca850dd1c21e1c405a4493fe61d0c28d721Lennart Poettering# When distributing Covered Code, include this CDDL HEADER in each
01cf0ca850dd1c21e1c405a4493fe61d0c28d721Lennart Poettering# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
01cf0ca850dd1c21e1c405a4493fe61d0c28d721Lennart Poettering# If applicable, add the following below this CDDL HEADER, with the
01cf0ca850dd1c21e1c405a4493fe61d0c28d721Lennart Poettering# fields enclosed by brackets "[]" replaced with your own identifying
01cf0ca850dd1c21e1c405a4493fe61d0c28d721Lennart Poettering# information: Portions Copyright [yyyy] [name of copyright owner]
01cf0ca850dd1c21e1c405a4493fe61d0c28d721Lennart Poettering# CDDL HEADER END
01cf0ca850dd1c21e1c405a4493fe61d0c28d721Lennart Poettering# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
01cf0ca850dd1c21e1c405a4493fe61d0c28d721Lennart Poettering# Use is subject to license terms.
01cf0ca850dd1c21e1c405a4493fe61d0c28d721Lennart Poettering# This makefile drives the production of the zfs file system
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek# Copyright 2013 Saso Kiselkov. All rights reserved.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek# Path to the base of the uts directory tree (usually /usr/src/uts).
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekARCHDIR:sh = cd ..; basename `pwd`
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek# Define the module and object file sets.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekOBJECTS = $(ZFS_OBJS:%=$(OBJS_DIR)/%)
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekLINTS = $(ZFS_OBJS:%.o=$(LINTS_DIR)/%.ln)
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekROOTLINK = $(ROOT_FS_DIR)/$(MODULE)
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekCONF_SRCDIR = $(UTSBASE)/common/fs/zfs
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek# Include common rules.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekALL_TARGET = $(BINARY) $(SRC_CONFILE)
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOTLINK) $(ROOT_CONFFILE)
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek# Overrides and depends_on
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek# We require sched/SDC because by the time vfs_mountroot() runs,
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek# we can no longer load modules through OBP.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekLDFLAGS += -dy -Nfs/specfs -Ncrypto/swrand -Nmisc/idmap \
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek -Nsched/SDC -Nmisc/sha2 -Nmisc/skein -Nmisc/edonr
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekINC_PATH += -I$(UTSBASE)/common/fs/zfs
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek# For now, disable these lint checks; maintainers should endeavor
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek# to investigate and remove these for maximum lint coverage.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek# Please do not carry these forward to new Makefiles.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekLINTTAGS += -erroff=E_SUSPICIOUS_COMPARISON
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekLINTTAGS += -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekLINTTAGS += -erroff=E_STATIC_UNUSED
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekCERRWARN += -_gcc=-Wno-type-limits
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekCERRWARN += -_gcc=-Wno-parentheses
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekCERRWARN += -_gcc=-Wno-unused-variable
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekCERRWARN += -_gcc=-Wno-unused-function
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekCERRWARN += -_gcc=-Wno-unused-label
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek# Default build targets.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek$(ROOTLINK): $(ROOT_FS_DIR) $(ROOTMODULE)
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek# Include common targets.