Makefile revision 7014882c6a3672fd0e5d60200af8643ae53c5928
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews#
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# BSD 3 Clause License
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson#
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson# Copyright (c) 2007, The Storage Networking Industry Association.
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson#
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson# Redistribution and use in source and binary forms, with or without
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson# modification, are permitted provided that the following conditions
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# are met:
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# - Redistributions of source code must retain the above copyright
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# notice, this list of conditions and the following disclaimer.
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews#
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# - Redistributions in binary form must reproduce the above copyright
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# notice, this list of conditions and the following disclaimer in
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# the documentation and/or other materials provided with the
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson# distribution.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson# - Neither the name of The Storage Networking Industry Association (SNIA)
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson# nor the names of its contributors may be used to endorse or promote
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# products derived from this software without specific prior written
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# permission.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# POSSIBILITY OF SUCH DAMAGE.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinPROG = ndmpd
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeininclude $(SRC)/cmd/Makefile.cmd
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinNDMP_DIR = ndmp
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinTLM_DIR = tlm
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeininclude $(NDMP_DIR)/Makefile.rpcgen
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCFLAGS += $(CCVERBOSE)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCPPFLAGS += $(LFLAGS64)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCPPFLAGS += -D_FILE_OFFSET_BITS=64 -DDEBUG
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCPPFLAGS += -I. -Iinclude
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinC99MODE = $(C99_ENABLE)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# lint does not like unused _umem_*_init
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinLINTFLAGS += -xerroff=E_NAME_DEF_NOT_USED2
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# function argument declared inconsistently
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinLINTFLAGS += -xerroff=E_INCONS_ARG_DECL2
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# value type used inconsistently
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinLINTFLAGS += -xerroff=E_INCONS_VAL_TYPE_USED2
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# value type declared inconsistently
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinLINTFLAGS += -xerroff=E_INCONS_VAL_TYPE_DECL2
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# argument used inconsistently
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinLINTFLAGS += -xerroff=E_INCONS_ARG_USED2
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCERRWARN += -_gcc=-Wno-unused-variable
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCERRWARN += -_gcc=-Wno-switch
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCERRWARN += -_gcc=-Wno-uninitialized
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCERRWARN += -_gcc=-Wno-address
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinLDLIBS += -lsocket -lnsl -lzfs -lsec -lndmp -lmd5 -lnvpair -lumem -lbsm -lgen -lcmdutils -linetutil
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinOBJS= \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(NDMP_DIR)/ndmp_xdr.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(NDMP_OBJ:%.o=$(NDMP_DIR)/%.o) $(TLM_OBJ:%.o=$(TLM_DIR)/%.o)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinNDMP_OBJ = \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ndmpd_callbacks.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ndmpd_chkpnt.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ndmpd_comm.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ndmpd_config.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ndmpd_connect.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ndmpd_data.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ndmpd_door.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ndmpd_dtime.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ndmpd_fhistory.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ndmpd_handler.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ndmpd_log.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ndmpd_main.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ndmpd_mark.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ndmpd_mover.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ndmpd_prop.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ndmpd_scsi.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ndmpd_tape.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ndmpd_tar.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ndmpd_tar3.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ndmpd_util.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ndmpd_zfs.o
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinTLM_OBJ = \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein tlm_backup_reader.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein tlm_bitmap.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein tlm_buffers.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein tlm_info.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein tlm_init.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein tlm_lib.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein tlm_restore_writer.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein tlm_traverse.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein tlm_util.o \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein tlm_hardlink.o
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinSRCS= $(NDMP_OBJ:%.o=$(NDMP_DIR)/%.c) $(TLM_OBJ:%.o=$(TLM_DIR)/%.c)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinSVCMETHOD = svc-ndmp
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein$(ROOTSVCMETHOD) := FILEMODE = 0555
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinMANIFEST = ndmp.xml
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinROOTMANIFESTDIR= $(ROOTSVCSYSTEM)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein$(ROOTMANIFEST) := FILEMODE = 444
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinROOTNDMPDDIR= $(ROOTLIB)/ndmp
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinROOTNDMPDFILE = $(PROG:%=$(ROOTNDMPDDIR)/%)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinFILEMODE = 0444
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein$(ROOTNDMPDFILE):= FILEMODE = 0555
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein$(ROOTNDMPDDIR):
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(INS.dir)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein$(ROOTNDMPDDIR)/%: %
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(INS.file)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein.KEEP_STATE:
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinall: $(PROG)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeininstall: all $(ROOTNDMPDDIR) $(ROOTNDMPDFILE) $(ROOTSVCMETHOD) $(ROOTMANIFEST)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeincheck: $(CHKMANIFEST)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinclobber:
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein$(PROG) : $(OBJS)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(LINK.c) -o $@ $(OBJS) $(LDLIBS)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(POST_PROCESS)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein$(NDMP_DIR)/%.o : $(NDMP_DIR)/%.c
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(COMPILE.c) -o $@ $<
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein$(TLM_DIR)/%.o : $(TLM_DIR)/%.c
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein $(COMPILE.c) -o $@ $<
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinlint: lint_SRCS
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinclean: rpcclean
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein rm -f $(NDMP_DIR)/*.o $(TLM_DIR)/*.o
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeininclude $(SRC)/cmd/Makefile.targ
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein