1 # 2 # CDDL HEADER START 3 # 4 # The contents of this file are subject to the terms of the 5 # Common Development and Distribution License (the "License"). 6 # You may not use this file except in compliance with the License. 7 # 8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 # or http://www.opensolaris.org/os/licensing. 10 # See the License for the specific language governing permissions 11 # and limitations under the License. 12 # 13 # When distributing Covered Code, include this CDDL HEADER in each 14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 # If applicable, add the following below this CDDL HEADER, with the 16 # fields enclosed by brackets "[]" replaced with your own identifying 17 # information: Portions Copyright [yyyy] [name of copyright owner] 18 # 19 # CDDL HEADER END 20 # 21 # Copyright 2010 Sun Microsystems, Inc. All rights reserved. 22 # Use is subject to license terms. 23 # 24 # Copyright 2010 Nexenta Systems, Inc. All rights reserved. 25 # Copyright (c) 2012 by Delphix. All rights reserved. 26 # 27 28 PROG= zfs 29 OBJS= zfs_main.o zfs_iter.o 30 OUTPUTS= $(OBJS) zfs_hdrck.cpp zfs_hdrck.o 31 SRCS= $(OBJS:%.o=%.c) 32 POFILES= zfs_main.po zfs_iter.po 33 POFILE= zfs.po 34 35 include ../Makefile.cmd 36 include ../Makefile.ctf 37 38 FSTYPE= zfs 39 LINKPROGS= mount umount 40 ROOTETCFSTYPE= $(ROOTETC)/fs/$(FSTYPE) 41 USRLIBFSTYPE= $(ROOTLIB)/fs/$(FSTYPE) 42 43 LDLIBS += -lzfs_core -lzfs -luutil -lumem -lnvpair -lsec -lidmap 44 45 INCS += -I../../common/zfs 46 47 C99MODE= -xc99=%all 48 C99LMODE= -Xc99=%all 49 50 CPPFLAGS += -D_LARGEFILE64_SOURCE=1 -D_REENTRANT $(INCS) 51 $(NOT_RELEASE_BUILD)CPPFLAGS += -DDEBUG 52 53 # lint complains about unused _umem_* functions 54 LINTFLAGS += -xerroff=E_NAME_DEF_NOT_USED2 55 LINTFLAGS64 += -xerroff=E_NAME_DEF_NOT_USED2 56 57 CERRWARN += -_gcc=-Wno-switch 58 CERRWARN += -_gcc=-Wno-type-limits 59 CERRWARN += -_gcc=-Wno-parentheses 60 CERRWARN += -_gcc=-Wno-uninitialized 61 CERRWARN += -_gcc=-Wno-old-style-declaration 62 63 ROOTUSRSBINLINKS = $(PROG:%=$(ROOTUSRSBIN)/%) 64 USRLIBFSTYPELINKS = $(LINKPROGS:%=$(USRLIBFSTYPE)/%) 65 ROOTETCFSTYPELINKS = $(LINKPROGS:%=$(ROOTETCFSTYPE)/%) 66 67 .KEEP_STATE: 68 69 .PARALLEL: 70 71 all: $(PROG) 72 73 $(PROG): $(OUTPUTS) 74 $(LINK.c) -o $@ $(OBJS) $(LDLIBS) 75 $(POST_PROCESS) 76 77 install: all $(ROOTSBINPROG) $(ROOTUSRSBINLINKS) $(USRLIBFSTYPELINKS) \ 78 $(ROOTETCFSTYPELINKS) 79 80 zfs_hdrck.o: zfs_hdrck.cpp 81 $(COMPILE.cc) -o $@ $^ 82 83 zfs_hdrck.cpp: 84 find . -name '*.[ch]' | xargs grep -h '^#include <' > $@ 85 86 $(POFILE): $(POFILES) 87 $(RM) $@ 88 cat $(POFILES) > $@ 89 90 clean: 91 $(RM) $(PROG) $(OUTPUTS) 92 93 lint: lint_SRCS 94 95 # Links from /usr/sbin to /sbin 96 $(ROOTUSRSBINLINKS): 97 -$(RM) $@; $(SYMLINK) ../../sbin/$(PROG) $@ 98 99 # Links from /usr/lib/fs/zfs to /sbin 100 $(USRLIBFSTYPELINKS): 101 -$(RM) $@; $(SYMLINK) ../../../../sbin/$(PROG) $@ 102 103 # Links from /etc/fs/zfs to /sbin 104 $(ROOTETCFSTYPELINKS): 105 -$(RM) $@; $(SYMLINK) ../../../sbin/$(PROG) $@ 106 107 FRC: 108 109 include ../Makefile.targ