Home | History | Annotate | Download | only in ndmpd
      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