1 # 2 # Copyright 2009 Sun Microsystems, Inc. All rights reserved. 3 # Use is subject to license terms. 4 # 5 6 # 7 # BSD 3 Clause License 8 # 9 # Copyright (c) 2007, The Storage Networking Industry Association. 10 # 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. 16 # 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. 21 # 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. 26 # 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. 38 # 39 PROG = ndmpd 40 41 include $(SRC)/cmd/Makefile.cmd 42 43 NDMP_DIR = ndmp 44 TLM_DIR = tlm 45 46 include $(NDMP_DIR)/Makefile.rpcgen 47 48 CFLAGS += $(CCVERBOSE) 49 50 CPPFLAGS += $(LFLAGS64) 51 52 CPPFLAGS += -D_FILE_OFFSET_BITS=64 -DDEBUG 53 CPPFLAGS += -I. -Iinclude 54 55 C99MODE = $(C99_ENABLE) 56 57 # lint does not like unused _umem_*_init 58 LINTFLAGS += -xerroff=E_NAME_DEF_NOT_USED2 59 60 # function argument declared inconsistently 61 LINTFLAGS += -xerroff=E_INCONS_ARG_DECL2 62 # value type used inconsistently 63 LINTFLAGS += -xerroff=E_INCONS_VAL_TYPE_USED2 64 # value type declared inconsistently 65 LINTFLAGS += -xerroff=E_INCONS_VAL_TYPE_DECL2 66 # argument used inconsistently 67 LINTFLAGS += -xerroff=E_INCONS_ARG_USED2 68 69 LDLIBS += -lsocket -lnsl -lzfs -lsec -lndmp -lmd5 -lnvpair -lumem -lbsm -lgen -lcmdutils 70 71 OBJS= \ 72 $(NDMP_DIR)/ndmp_xdr.o \ 73 $(NDMP_OBJ:%.o=$(NDMP_DIR)/%.o) $(TLM_OBJ:%.o=$(TLM_DIR)/%.o) 74 75 NDMP_OBJ = \ 76 ndmpd_callbacks.o \ 77 ndmpd_chkpnt.o \ 78 ndmpd_comm.o \ 79 ndmpd_config.o \ 80 ndmpd_connect.o \ 81 ndmpd_data.o \ 82 ndmpd_door.o \ 83 ndmpd_dtime.o \ 84 ndmpd_prop.o \ 85 ndmpd_fhistory.o \ 86 ndmpd_handler.o \ 87 ndmpd_log.o \ 88 ndmpd_main.o \ 89 ndmpd_mark.o \ 90 ndmpd_mover.o \ 91 ndmpd_scsi.o \ 92 ndmpd_tape.o \ 93 ndmpd_tar.o \ 94 ndmpd_tar3.o \ 95 ndmpd_util.o 96 97 TLM_OBJ = \ 98 tlm_backup_reader.o \ 99 tlm_bitmap.o \ 100 tlm_buffers.o \ 101 tlm_info.o \ 102 tlm_init.o \ 103 tlm_lib.o \ 104 tlm_restore_writer.o \ 105 tlm_traverse.o \ 106 tlm_util.o \ 107 tlm_hardlink.o 108 109 SRCS= $(NDMP_OBJ:%.o=$(NDMP_DIR)/%.c) $(TLM_OBJ:%.o=$(TLM_DIR)/%.c) 110 111 SVCMETHOD = svc-ndmp 112 $(ROOTSVCMETHOD) := FILEMODE = 0555 113 114 MANIFEST = ndmp.xml 115 ROOTMANIFESTDIR= $(ROOTSVCSYSTEM) 116 $(ROOTMANIFEST) := FILEMODE = 444 117 118 ROOTNDMPDDIR= $(ROOTLIB)/ndmp 119 ROOTNDMPDFILE = $(PROG:%=$(ROOTNDMPDDIR)/%) 120 121 FILEMODE = 0444 122 $(ROOTNDMPDFILE):= FILEMODE = 0555 123 124 $(ROOTNDMPDDIR): 125 $(INS.dir) 126 127 $(ROOTNDMPDDIR)/%: % 128 $(INS.file) 129 130 .KEEP_STATE: 131 132 all: $(PROG) 133 134 install: all $(ROOTNDMPDDIR) $(ROOTNDMPDFILE) $(ROOTSVCMETHOD) $(ROOTMANIFEST) 135 136 check: $(CHKMANIFEST) 137 138 clobber: 139 140 $(PROG) : $(OBJS) 141 $(LINK.c) -o $@ $(OBJS) $(LDLIBS) 142 $(POST_PROCESS) 143 144 $(NDMP_DIR)/%.o : $(NDMP_DIR)/%.c 145 $(COMPILE.c) -o $@ $< 146 147 $(TLM_DIR)/%.o : $(TLM_DIR)/%.c 148 $(COMPILE.c) -o $@ $< 149 150 lint: lint_SRCS 151 152 clean: rpcclean 153 rm -f $(NDMP_DIR)/*.o $(TLM_DIR)/*.o 154 155 include $(SRC)/cmd/Makefile.targ 156