1*2654012fSReza Sabdar# 2*2654012fSReza Sabdar# Copyright 2008 Sun Microsystems, Inc. All rights reserved. 3*2654012fSReza Sabdar# Use is subject to license terms. 4*2654012fSReza Sabdar# 5*2654012fSReza Sabdar 6*2654012fSReza Sabdar# 7*2654012fSReza Sabdar# BSD 3 Clause License 8*2654012fSReza Sabdar# 9*2654012fSReza Sabdar# Copyright (c) 2007, The Storage Networking Industry Association. 10*2654012fSReza Sabdar# 11*2654012fSReza Sabdar# Redistribution and use in source and binary forms, with or without 12*2654012fSReza Sabdar# modification, are permitted provided that the following conditions 13*2654012fSReza Sabdar# are met: 14*2654012fSReza Sabdar# - Redistributions of source code must retain the above copyright 15*2654012fSReza Sabdar# notice, this list of conditions and the following disclaimer. 16*2654012fSReza Sabdar# 17*2654012fSReza Sabdar# - Redistributions in binary form must reproduce the above copyright 18*2654012fSReza Sabdar# notice, this list of conditions and the following disclaimer in 19*2654012fSReza Sabdar# the documentation and/or other materials provided with the 20*2654012fSReza Sabdar# distribution. 21*2654012fSReza Sabdar# 22*2654012fSReza Sabdar# - Neither the name of The Storage Networking Industry Association (SNIA) 23*2654012fSReza Sabdar# nor the names of its contributors may be used to endorse or promote 24*2654012fSReza Sabdar# products derived from this software without specific prior written 25*2654012fSReza Sabdar# permission. 26*2654012fSReza Sabdar# 27*2654012fSReza Sabdar# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 28*2654012fSReza Sabdar# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 29*2654012fSReza Sabdar# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 30*2654012fSReza Sabdar# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 31*2654012fSReza Sabdar# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 32*2654012fSReza Sabdar# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 33*2654012fSReza Sabdar# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 34*2654012fSReza Sabdar# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 35*2654012fSReza Sabdar# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 36*2654012fSReza Sabdar# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 37*2654012fSReza Sabdar# POSSIBILITY OF SUCH DAMAGE. 38*2654012fSReza Sabdar# 39*2654012fSReza SabdarPROG = ndmpd 40*2654012fSReza Sabdar 41*2654012fSReza Sabdarinclude $(SRC)/cmd/Makefile.cmd 42*2654012fSReza Sabdar 43*2654012fSReza SabdarNDMP_DIR = ndmp 44*2654012fSReza SabdarTLM_DIR = tlm 45*2654012fSReza Sabdar 46*2654012fSReza Sabdarinclude $(NDMP_DIR)/Makefile.rpcgen 47*2654012fSReza Sabdar 48*2654012fSReza SabdarCFLAGS += $(CCVERBOSE) 49*2654012fSReza Sabdar 50*2654012fSReza SabdarCPPFLAGS += $(LFLAGS64) 51*2654012fSReza Sabdar 52*2654012fSReza SabdarCPPFLAGS += -D_FILE_OFFSET_BITS=64 -DDEBUG 53*2654012fSReza SabdarCPPFLAGS += -I. -Iinclude 54*2654012fSReza Sabdar 55*2654012fSReza SabdarC99MODE = $(C99_ENABLE) 56*2654012fSReza Sabdar 57*2654012fSReza Sabdar# lint does not like unused _umem_*_init 58*2654012fSReza SabdarLINTFLAGS += -xerroff=E_NAME_DEF_NOT_USED2 59*2654012fSReza Sabdar 60*2654012fSReza Sabdar# function argument declared inconsistently 61*2654012fSReza SabdarLINTFLAGS += -xerroff=E_INCONS_ARG_DECL2 62*2654012fSReza Sabdar# value type used inconsistently 63*2654012fSReza SabdarLINTFLAGS += -xerroff=E_INCONS_VAL_TYPE_USED2 64*2654012fSReza Sabdar# value type declared inconsistently 65*2654012fSReza SabdarLINTFLAGS += -xerroff=E_INCONS_VAL_TYPE_DECL2 66*2654012fSReza Sabdar# argument used inconsistently 67*2654012fSReza SabdarLINTFLAGS += -xerroff=E_INCONS_ARG_USED2 68*2654012fSReza Sabdar 69*2654012fSReza SabdarLDLIBS += -lsocket -lnsl -lzfs -lsec -lndmp -lmd5 -lnvpair -lumem -lbsm -lgen 70*2654012fSReza Sabdar 71*2654012fSReza SabdarOBJS= \ 72*2654012fSReza Sabdar $(NDMP_DIR)/ndmp_xdr.o \ 73*2654012fSReza Sabdar $(NDMP_OBJ:%.o=$(NDMP_DIR)/%.o) $(TLM_OBJ:%.o=$(TLM_DIR)/%.o) 74*2654012fSReza Sabdar 75*2654012fSReza SabdarNDMP_OBJ = \ 76*2654012fSReza Sabdar ndmpd_callbacks.o \ 77*2654012fSReza Sabdar ndmpd_chkpnt.o \ 78*2654012fSReza Sabdar ndmpd_comm.o \ 79*2654012fSReza Sabdar ndmpd_config.o \ 80*2654012fSReza Sabdar ndmpd_connect.o \ 81*2654012fSReza Sabdar ndmpd_data.o \ 82*2654012fSReza Sabdar ndmpd_door.o \ 83*2654012fSReza Sabdar ndmpd_dtime.o \ 84*2654012fSReza Sabdar ndmpd_prop.o \ 85*2654012fSReza Sabdar ndmpd_fhistory.o \ 86*2654012fSReza Sabdar ndmpd_handler.o \ 87*2654012fSReza Sabdar ndmpd_log.o \ 88*2654012fSReza Sabdar ndmpd_main.o \ 89*2654012fSReza Sabdar ndmpd_mark.o \ 90*2654012fSReza Sabdar ndmpd_mover.o \ 91*2654012fSReza Sabdar ndmpd_scsi.o \ 92*2654012fSReza Sabdar ndmpd_tape.o \ 93*2654012fSReza Sabdar ndmpd_tar.o \ 94*2654012fSReza Sabdar ndmpd_tar3.o \ 95*2654012fSReza Sabdar ndmpd_util.o 96*2654012fSReza Sabdar 97*2654012fSReza SabdarTLM_OBJ = \ 98*2654012fSReza Sabdar tlm_backup_reader.o \ 99*2654012fSReza Sabdar tlm_bitmap.o \ 100*2654012fSReza Sabdar tlm_buffers.o \ 101*2654012fSReza Sabdar tlm_info.o \ 102*2654012fSReza Sabdar tlm_init.o \ 103*2654012fSReza Sabdar tlm_lib.o \ 104*2654012fSReza Sabdar tlm_restore_writer.o \ 105*2654012fSReza Sabdar tlm_traverse.o \ 106*2654012fSReza Sabdar tlm_util.o \ 107*2654012fSReza Sabdar tlm_hardlink.o 108*2654012fSReza Sabdar 109*2654012fSReza SabdarSRCS= $(NDMP_OBJ:%.o=$(NDMP_DIR)/%.c) $(TLM_OBJ:%.o=$(TLM_DIR)/%.c) 110*2654012fSReza Sabdar 111*2654012fSReza SabdarSVCMETHOD = svc-ndmp 112*2654012fSReza Sabdar$(ROOTSVCMETHOD) := FILEMODE = 0555 113*2654012fSReza Sabdar 114*2654012fSReza SabdarMANIFEST = ndmp.xml 115*2654012fSReza SabdarROOTMANIFESTDIR= $(ROOTSVCSYSTEM) 116*2654012fSReza Sabdar$(ROOTMANIFEST) := FILEMODE = 444 117*2654012fSReza Sabdar 118*2654012fSReza SabdarROOTNDMPDDIR= $(ROOTLIB)/ndmp 119*2654012fSReza SabdarROOTNDMPDFILE = $(PROG:%=$(ROOTNDMPDDIR)/%) 120*2654012fSReza Sabdar 121*2654012fSReza SabdarFILEMODE = 0444 122*2654012fSReza Sabdar$(ROOTNDMPDFILE):= FILEMODE = 0555 123*2654012fSReza Sabdar 124*2654012fSReza Sabdar$(ROOTNDMPDDIR): 125*2654012fSReza Sabdar $(INS.dir) 126*2654012fSReza Sabdar 127*2654012fSReza Sabdar$(ROOTNDMPDDIR)/%: % 128*2654012fSReza Sabdar $(INS.file) 129*2654012fSReza Sabdar 130*2654012fSReza Sabdar.KEEP_STATE: 131*2654012fSReza Sabdar 132*2654012fSReza Sabdarall: $(PROG) 133*2654012fSReza Sabdar 134*2654012fSReza Sabdarinstall: all $(ROOTNDMPDDIR) $(ROOTNDMPDFILE) $(ROOTSVCMETHOD) $(ROOTMANIFEST) 135*2654012fSReza Sabdar 136*2654012fSReza Sabdarclobber: 137*2654012fSReza Sabdar 138*2654012fSReza Sabdar$(PROG) : $(OBJS) 139*2654012fSReza Sabdar $(LINK.c) -o $@ $(OBJS) $(LDLIBS) 140*2654012fSReza Sabdar $(POST_PROCESS) 141*2654012fSReza Sabdar 142*2654012fSReza Sabdar$(NDMP_DIR)/%.o : $(NDMP_DIR)/%.c 143*2654012fSReza Sabdar $(COMPILE.c) -o $@ $< 144*2654012fSReza Sabdar 145*2654012fSReza Sabdar$(TLM_DIR)/%.o : $(TLM_DIR)/%.c 146*2654012fSReza Sabdar $(COMPILE.c) -o $@ $< 147*2654012fSReza Sabdar 148*2654012fSReza Sabdarlint: lint_SRCS 149*2654012fSReza Sabdar 150*2654012fSReza Sabdarclean: rpcclean 151*2654012fSReza Sabdar rm -f $(NDMP_DIR)/*.o $(TLM_DIR)/*.o 152*2654012fSReza Sabdar 153*2654012fSReza Sabdarinclude $(SRC)/cmd/Makefile.targ 154