Merge illumos-gate
[unleashed.git] / usr / src / cmd / ndmpd / Makefile
blobc31e628ba26ffeb2320874cd76b437549a8311f6
2 # Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
3 # Copyright (c) 2018, Joyent, Inc.
7 # BSD 3 Clause License
9 # Copyright (c) 2007, The Storage Networking Industry Association.
11 # Redistribution and use in source and binary forms, with or without
12 # modification, are permitted provided that the following conditions
13 # are met:
14 # - Redistributions of source code must retain the above copyright
15 # notice, this list of conditions and the following disclaimer.
17 # - Redistributions in binary form must reproduce the above copyright
18 # notice, this list of conditions and the following disclaimer in
19 # the documentation and/or other materials provided with the
20 # distribution.
22 # - Neither the name of The Storage Networking Industry Association (SNIA)
23 # nor the names of its contributors may be used to endorse or promote
24 # products derived from this software without specific prior written
25 # permission.
27 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
28 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
30 # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
31 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
32 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
33 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
34 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
35 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
36 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
37 # POSSIBILITY OF SUCH DAMAGE.
39 PROG = ndmpd
41 include $(SRC)/cmd/Makefile.cmd
43 NDMP_DIR = ndmp
44 TLM_DIR = tlm
46 include $(NDMP_DIR)/Makefile.rpcgen
49 CPPFLAGS += $(LFLAGS64)
51 CPPFLAGS += -DDEBUG
52 CPPFLAGS += -I. -Iinclude
54 # not linted
55 SMATCH=off
57 CSTD = $(CSTD_GNU99)
59 CERRWARN += -Wno-unused-variable
60 CERRWARN += -Wno-switch
61 CERRWARN += -Wno-uninitialized
62 CERRWARN += -Wno-address
64 LDLIBS += -lzfs -lsec -lndmp -lmd5 -lnvpair -lumem -lgen -lcmdutils -linetutil
66 OBJS= \
67 $(NDMP_DIR)/ndmp_xdr.o \
68 $(NDMP_OBJ:%.o=$(NDMP_DIR)/%.o) $(TLM_OBJ:%.o=$(TLM_DIR)/%.o)
70 NDMP_OBJ = \
71 ndmpd_callbacks.o \
72 ndmpd_chkpnt.o \
73 ndmpd_comm.o \
74 ndmpd_config.o \
75 ndmpd_connect.o \
76 ndmpd_data.o \
77 ndmpd_door.o \
78 ndmpd_dtime.o \
79 ndmpd_fhistory.o \
80 ndmpd_handler.o \
81 ndmpd_log.o \
82 ndmpd_main.o \
83 ndmpd_mark.o \
84 ndmpd_mover.o \
85 ndmpd_prop.o \
86 ndmpd_scsi.o \
87 ndmpd_tape.o \
88 ndmpd_tar.o \
89 ndmpd_tar3.o \
90 ndmpd_util.o \
91 ndmpd_zfs.o
93 TLM_OBJ = \
94 tlm_backup_reader.o \
95 tlm_bitmap.o \
96 tlm_buffers.o \
97 tlm_info.o \
98 tlm_init.o \
99 tlm_lib.o \
100 tlm_restore_writer.o \
101 tlm_traverse.o \
102 tlm_util.o \
103 tlm_hardlink.o
105 SRCS= $(NDMP_OBJ:%.o=$(NDMP_DIR)/%.c) $(TLM_OBJ:%.o=$(TLM_DIR)/%.c)
107 SVCMETHOD = svc-ndmp
108 $(ROOTSVCMETHOD) := FILEMODE = 0555
110 MANIFEST = ndmp.xml
111 ROOTMANIFESTDIR= $(ROOTSVCSYSTEM)
112 $(ROOTMANIFEST) := FILEMODE = 444
114 ROOTNDMPDDIR= $(ROOTLIB)/ndmp
115 ROOTNDMPDFILE = $(PROG:%=$(ROOTNDMPDDIR)/%)
117 FILEMODE = 0444
118 $(ROOTNDMPDFILE):= FILEMODE = 0555
120 $(ROOTNDMPDDIR):
121 $(INS.dir)
123 $(ROOTNDMPDDIR)/%: %
124 $(INS.file)
126 .KEEP_STATE:
128 all: $(PROG)
130 install: all $(ROOTNDMPDDIR) $(ROOTNDMPDFILE) $(ROOTSVCMETHOD) $(ROOTMANIFEST)
132 check: $(CHKMANIFEST)
134 clobber:
136 $(PROG) : $(OBJS)
137 $(LINK.c) -o $@ $(OBJS) $(LDLIBS)
138 $(POST_PROCESS)
140 $(NDMP_DIR)/%.o : $(NDMP_DIR)/%.c
141 $(COMPILE.c) -o $@ $<
143 $(TLM_DIR)/%.o : $(TLM_DIR)/%.c
144 $(COMPILE.c) -o $@ $<
147 clean: rpcclean
148 rm -f $(NDMP_DIR)/*.o $(TLM_DIR)/*.o
150 include $(SRC)/cmd/Makefile.targ