xref: /illumos-gate/usr/src/cmd/ndmpd/Makefile (revision 55fea89dcaa64928bed4327112404dcb3e07b79f)
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