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# 22# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. 23# Copyright 2016 Igor Kozhukhov <ikozhukhov@gmail.com>. 24# Copyright (c) 2015 by Delphix. All rights reserved. 25# Copyright 2020 Joyent, Inc. 26# 27 28PROG= zpool 29OBJS= zpool_main.o zpool_vdev.o zpool_iter.o zpool_util.o 30SRCS= $(OBJS:%.o=%.c) 31POFILES=$(OBJS:%.o=%.po) 32POFILE= zpool.po 33 34include ../Makefile.cmd 35include ../Makefile.ctf 36 37STATCOMMONDIR = $(SRC)/cmd/stat/common 38 39STAT_COMMON_OBJS = timestamp.o 40STAT_COMMON_SRCS = $(STAT_COMMON_OBJS:%.o=$(STATCOMMONDIR)/%.c) 41SRCS += $(STAT_COMMON_SRCS) 42 43LDLIBS += -lzfs -lnvpair -ldevid -lefi -ldiskmgt -luutil -lumem -lzutil \ 44 -lm -lzpool 45 46INCS += -I../../common/zfs -I../../uts/common/fs/zfs -I$(STATCOMMONDIR) 47INCS += -I../../lib/libzutil/common 48 49CSTD= $(CSTD_GNU99) 50C99LMODE= -Xc99=%all 51 52CPPFLAGS += -D_LARGEFILE64_SOURCE=1 -D_REENTRANT $(INCS) 53$(NOT_RELEASE_BUILD)CPPFLAGS += -DDEBUG 54 55# lint complains about unused _umem_* functions 56LINTFLAGS += -xerroff=E_NAME_DEF_NOT_USED2 57LINTFLAGS64 += -xerroff=E_NAME_DEF_NOT_USED2 58 59ROOTUSRSBINLINKS = $(PROG:%=$(ROOTUSRSBIN)/%) 60 61.KEEP_STATE: 62 63all: $(PROG) 64 65$(PROG): $(OBJS) $(STAT_COMMON_OBJS) 66 $(LINK.c) -o $@ $(OBJS) $(STAT_COMMON_OBJS) $(LDLIBS) 67 $(POST_PROCESS) 68 69%.o: $(STATCOMMONDIR)/%.c 70 $(COMPILE.c) $< 71 $(POST_PROCESS_O) 72 73install: all $(ROOTSBINPROG) $(ROOTUSRSBINLINKS) 74 75$(POFILE): $(POFILES) 76 $(RM) $@ 77 $(CAT) $(POFILES) > $@ 78 79clean: 80 $(RM) $(OBJS) $(STAT_COMMON_OBJS) 81 82lint: lint_SRCS 83 84# Links from /usr/sbin to /sbin 85$(ROOTUSRSBINLINKS): 86 -$(RM) $@; $(SYMLINK) ../../sbin/$(@F) $@ 87 88include ../Makefile.targ 89