12654012fSReza Sabdar# 28c4f9701SJanice Chang# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. 35661bb76SJohn Levon# Copyright (c) 2018, Joyent, Inc. 42654012fSReza Sabdar# 52654012fSReza Sabdar 62654012fSReza Sabdar# 72654012fSReza Sabdar# BSD 3 Clause License 82654012fSReza Sabdar# 92654012fSReza Sabdar# Copyright (c) 2007, The Storage Networking Industry Association. 102654012fSReza Sabdar# 112654012fSReza Sabdar# Redistribution and use in source and binary forms, with or without 122654012fSReza Sabdar# modification, are permitted provided that the following conditions 132654012fSReza Sabdar# are met: 142654012fSReza Sabdar# - Redistributions of source code must retain the above copyright 152654012fSReza Sabdar# notice, this list of conditions and the following disclaimer. 162654012fSReza Sabdar# 172654012fSReza Sabdar# - Redistributions in binary form must reproduce the above copyright 182654012fSReza Sabdar# notice, this list of conditions and the following disclaimer in 192654012fSReza Sabdar# the documentation and/or other materials provided with the 202654012fSReza Sabdar# distribution. 212654012fSReza Sabdar# 222654012fSReza Sabdar# - Neither the name of The Storage Networking Industry Association (SNIA) 232654012fSReza Sabdar# nor the names of its contributors may be used to endorse or promote 242654012fSReza Sabdar# products derived from this software without specific prior written 252654012fSReza Sabdar# permission. 262654012fSReza Sabdar# 272654012fSReza Sabdar# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 282654012fSReza Sabdar# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 292654012fSReza Sabdar# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 302654012fSReza Sabdar# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 312654012fSReza Sabdar# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 322654012fSReza Sabdar# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 332654012fSReza Sabdar# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 342654012fSReza Sabdar# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 352654012fSReza Sabdar# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 362654012fSReza Sabdar# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 372654012fSReza Sabdar# POSSIBILITY OF SUCH DAMAGE. 382654012fSReza Sabdar# 392654012fSReza SabdarPROG = ndmpd 402654012fSReza Sabdar 412654012fSReza Sabdarinclude $(SRC)/cmd/Makefile.cmd 422654012fSReza Sabdar 432654012fSReza SabdarNDMP_DIR = ndmp 442654012fSReza SabdarTLM_DIR = tlm 452654012fSReza Sabdar 462654012fSReza Sabdarinclude $(NDMP_DIR)/Makefile.rpcgen 472654012fSReza Sabdar 482654012fSReza SabdarCFLAGS += $(CCVERBOSE) 492654012fSReza Sabdar 502654012fSReza SabdarCPPFLAGS += $(LFLAGS64) 512654012fSReza Sabdar 522654012fSReza SabdarCPPFLAGS += -D_FILE_OFFSET_BITS=64 -DDEBUG 532654012fSReza SabdarCPPFLAGS += -I. -Iinclude 542654012fSReza Sabdar 555661bb76SJohn Levon# not linted 565661bb76SJohn LevonSMATCH=off 575661bb76SJohn Levon 58bd0ce624SYuri PankovCSTD = $(CSTD_GNU99) 592654012fSReza Sabdar 602654012fSReza Sabdar# lint does not like unused _umem_*_init 612654012fSReza SabdarLINTFLAGS += -xerroff=E_NAME_DEF_NOT_USED2 622654012fSReza Sabdar 632654012fSReza Sabdar# function argument declared inconsistently 642654012fSReza SabdarLINTFLAGS += -xerroff=E_INCONS_ARG_DECL2 652654012fSReza Sabdar# value type used inconsistently 662654012fSReza SabdarLINTFLAGS += -xerroff=E_INCONS_VAL_TYPE_USED2 672654012fSReza Sabdar# value type declared inconsistently 682654012fSReza SabdarLINTFLAGS += -xerroff=E_INCONS_VAL_TYPE_DECL2 692654012fSReza Sabdar# argument used inconsistently 702654012fSReza SabdarLINTFLAGS += -xerroff=E_INCONS_ARG_USED2 712654012fSReza Sabdar 727014882cSRichard LoweCERRWARN += -_gcc=-Wno-unused-variable 737014882cSRichard LoweCERRWARN += -_gcc=-Wno-switch 74*d3b5f563SJohn LevonCERRWARN += $(CNOWARN_UNINIT) 757014882cSRichard LoweCERRWARN += -_gcc=-Wno-address 767014882cSRichard Lowe 77588541fbSReza SabdarLDLIBS += -lsocket -lnsl -lzfs -lsec -lndmp -lmd5 -lnvpair -lumem -lbsm -lgen -lcmdutils -linetutil 782654012fSReza Sabdar 792654012fSReza SabdarOBJS= \ 802654012fSReza Sabdar $(NDMP_DIR)/ndmp_xdr.o \ 812654012fSReza Sabdar $(NDMP_OBJ:%.o=$(NDMP_DIR)/%.o) $(TLM_OBJ:%.o=$(TLM_DIR)/%.o) 822654012fSReza Sabdar 832654012fSReza SabdarNDMP_OBJ = \ 842654012fSReza Sabdar ndmpd_callbacks.o \ 852654012fSReza Sabdar ndmpd_chkpnt.o \ 862654012fSReza Sabdar ndmpd_comm.o \ 872654012fSReza Sabdar ndmpd_config.o \ 882654012fSReza Sabdar ndmpd_connect.o \ 892654012fSReza Sabdar ndmpd_data.o \ 902654012fSReza Sabdar ndmpd_door.o \ 912654012fSReza Sabdar ndmpd_dtime.o \ 922654012fSReza Sabdar ndmpd_fhistory.o \ 932654012fSReza Sabdar ndmpd_handler.o \ 942654012fSReza Sabdar ndmpd_log.o \ 952654012fSReza Sabdar ndmpd_main.o \ 962654012fSReza Sabdar ndmpd_mark.o \ 972654012fSReza Sabdar ndmpd_mover.o \ 988c4f9701SJanice Chang ndmpd_prop.o \ 992654012fSReza Sabdar ndmpd_scsi.o \ 1002654012fSReza Sabdar ndmpd_tape.o \ 1012654012fSReza Sabdar ndmpd_tar.o \ 1022654012fSReza Sabdar ndmpd_tar3.o \ 1038c4f9701SJanice Chang ndmpd_util.o \ 1048c4f9701SJanice Chang ndmpd_zfs.o 1052654012fSReza Sabdar 1062654012fSReza SabdarTLM_OBJ = \ 1072654012fSReza Sabdar tlm_backup_reader.o \ 1082654012fSReza Sabdar tlm_bitmap.o \ 1092654012fSReza Sabdar tlm_buffers.o \ 1102654012fSReza Sabdar tlm_info.o \ 1112654012fSReza Sabdar tlm_init.o \ 1122654012fSReza Sabdar tlm_lib.o \ 1132654012fSReza Sabdar tlm_restore_writer.o \ 1142654012fSReza Sabdar tlm_traverse.o \ 1152654012fSReza Sabdar tlm_util.o \ 1162654012fSReza Sabdar tlm_hardlink.o 1172654012fSReza Sabdar 1182654012fSReza SabdarSRCS= $(NDMP_OBJ:%.o=$(NDMP_DIR)/%.c) $(TLM_OBJ:%.o=$(TLM_DIR)/%.c) 1192654012fSReza Sabdar 1202654012fSReza SabdarSVCMETHOD = svc-ndmp 1212654012fSReza Sabdar$(ROOTSVCMETHOD) := FILEMODE = 0555 1222654012fSReza Sabdar 1232654012fSReza SabdarMANIFEST = ndmp.xml 1242654012fSReza SabdarROOTMANIFESTDIR= $(ROOTSVCSYSTEM) 1252654012fSReza Sabdar$(ROOTMANIFEST) := FILEMODE = 444 1262654012fSReza Sabdar 1272654012fSReza SabdarROOTNDMPDDIR= $(ROOTLIB)/ndmp 1282654012fSReza SabdarROOTNDMPDFILE = $(PROG:%=$(ROOTNDMPDDIR)/%) 1292654012fSReza Sabdar 1302654012fSReza SabdarFILEMODE = 0444 1312654012fSReza Sabdar$(ROOTNDMPDFILE):= FILEMODE = 0555 1322654012fSReza Sabdar 1332654012fSReza Sabdar$(ROOTNDMPDDIR): 1342654012fSReza Sabdar $(INS.dir) 1352654012fSReza Sabdar 1362654012fSReza Sabdar$(ROOTNDMPDDIR)/%: % 1372654012fSReza Sabdar $(INS.file) 1382654012fSReza Sabdar 1392654012fSReza Sabdar.KEEP_STATE: 1402654012fSReza Sabdar 1412654012fSReza Sabdarall: $(PROG) 1422654012fSReza Sabdar 1432654012fSReza Sabdarinstall: all $(ROOTNDMPDDIR) $(ROOTNDMPDFILE) $(ROOTSVCMETHOD) $(ROOTMANIFEST) 1442654012fSReza Sabdar 1453afe87ebSRoger A. Faulknercheck: $(CHKMANIFEST) 1463afe87ebSRoger A. Faulkner 1472654012fSReza Sabdarclobber: 1482654012fSReza Sabdar 1492654012fSReza Sabdar$(PROG) : $(OBJS) 1502654012fSReza Sabdar $(LINK.c) -o $@ $(OBJS) $(LDLIBS) 1512654012fSReza Sabdar $(POST_PROCESS) 1522654012fSReza Sabdar 1532654012fSReza Sabdar$(NDMP_DIR)/%.o : $(NDMP_DIR)/%.c 1542654012fSReza Sabdar $(COMPILE.c) -o $@ $< 1552654012fSReza Sabdar 1562654012fSReza Sabdar$(TLM_DIR)/%.o : $(TLM_DIR)/%.c 1572654012fSReza Sabdar $(COMPILE.c) -o $@ $< 1582654012fSReza Sabdar 1592654012fSReza Sabdarlint: lint_SRCS 1602654012fSReza Sabdar 1612654012fSReza Sabdarclean: rpcclean 1622654012fSReza Sabdar rm -f $(NDMP_DIR)/*.o $(TLM_DIR)/*.o 1632654012fSReza Sabdar 1642654012fSReza Sabdarinclude $(SRC)/cmd/Makefile.targ 165