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