Makefile revision 7014882c6a3672fd0e5d60200af8643ae53c5928
280a8a0544b4aeb52414d20e8c6e6c5b1108562eTinderbox User#
59602f2a7c4e4809941583bed3e94cd26e628f1aTinderbox User# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater#
5affecff6e148a8e124d03f5dbac0da11e30dcc5Tinderbox User
19558a04decde0e7261d489d92d04ad88104217bTinderbox User#
827f8cccb5280f4da66c46186e792d1cb9d73503Mark Andrews# BSD 3 Clause License
827f8cccb5280f4da66c46186e792d1cb9d73503Mark Andrews#
969eaf7df8ac651946f76b6631ff5db568c11ef6Tinderbox User# Copyright (c) 2007, The Storage Networking Industry Association.
03ebc228ee3725738b067b6bd7082a9a731822a1Tinderbox User#
f4ee48be3994797a8332b86c101db4d7b54799ceTinderbox User# Redistribution and use in source and binary forms, with or without
a2c370ca12bb0360ff7e969474ead3f788c65fffTinderbox User# modification, are permitted provided that the following conditions
8de3f14f1c300c3e1ed99084cc03485b42c92bf1Tinderbox User# are met:
e5a6871cd0635ecdb2bf792316a2d8c53206f4b2Tinderbox User# - Redistributions of source code must retain the above copyright
950d203b64f512b85fcc093ee1e9e3e531a1aea3Tinderbox User# notice, this list of conditions and the following disclaimer.
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User#
03ebc228ee3725738b067b6bd7082a9a731822a1Tinderbox User# - Redistributions in binary form must reproduce the above copyright
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont# notice, this list of conditions and the following disclaimer in
e676a596869d8a80a644c99a848afb53d1c5975eMark Andrews# the documentation and/or other materials provided with the
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# distribution.
b91d11bfcc30b96f2c80f3a76d12e3dcc8597a68Mark Andrews#
d5637bdbb931ff79fced3d4858d83212ea58ed15Tinderbox User# - Neither the name of The Storage Networking Industry Association (SNIA)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# nor the names of its contributors may be used to endorse or promote
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# products derived from this software without specific prior written
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont# permission.
d5637bdbb931ff79fced3d4858d83212ea58ed15Tinderbox User#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30370d905e9be3be7d9b947fd432bacecbb13bb9Evan Hunt# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30370d905e9be3be7d9b947fd432bacecbb13bb9Evan Hunt# POSSIBILITY OF SUCH DAMAGE.
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews#
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox UserPROG = ndmpd
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox Userinclude $(SRC)/cmd/Makefile.cmd
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews
30370d905e9be3be7d9b947fd432bacecbb13bb9Evan HuntNDMP_DIR = ndmp
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsTLM_DIR = tlm
015055b6e23f5c08f6a5b34726f90b62597e9e45Tinderbox User
03ebc228ee3725738b067b6bd7082a9a731822a1Tinderbox Userinclude $(NDMP_DIR)/Makefile.rpcgen
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox UserCFLAGS += $(CCVERBOSE)
827f8cccb5280f4da66c46186e792d1cb9d73503Mark Andrews
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan HuntCPPFLAGS += $(LFLAGS64)
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
3759f10fc543747668b1ca4b4671f35b0dea8445Francis DupontCPPFLAGS += -D_FILE_OFFSET_BITS=64 -DDEBUG
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterCPPFLAGS += -I. -Iinclude
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox UserC99MODE = $(C99_ENABLE)
827f8cccb5280f4da66c46186e792d1cb9d73503Mark Andrews
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt# lint does not like unused _umem_*_init
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox UserLINTFLAGS += -xerroff=E_NAME_DEF_NOT_USED2
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont# function argument declared inconsistently
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterLINTFLAGS += -xerroff=E_INCONS_ARG_DECL2
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# value type used inconsistently
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic UpdaterLINTFLAGS += -xerroff=E_INCONS_VAL_TYPE_USED2
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews# value type declared inconsistently
30370d905e9be3be7d9b947fd432bacecbb13bb9Evan HuntLINTFLAGS += -xerroff=E_INCONS_VAL_TYPE_DECL2
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# argument used inconsistently
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsLINTFLAGS += -xerroff=E_INCONS_ARG_USED2
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsCERRWARN += -_gcc=-Wno-unused-variable
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark AndrewsCERRWARN += -_gcc=-Wno-switch
30370d905e9be3be7d9b947fd432bacecbb13bb9Evan HuntCERRWARN += -_gcc=-Wno-uninitialized
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsCERRWARN += -_gcc=-Wno-address
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsLDLIBS += -lsocket -lnsl -lzfs -lsec -lndmp -lmd5 -lnvpair -lumem -lbsm -lgen -lcmdutils -linetutil
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsOBJS= \
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews $(NDMP_DIR)/ndmp_xdr.o \
30370d905e9be3be7d9b947fd432bacecbb13bb9Evan Hunt $(NDMP_OBJ:%.o=$(NDMP_DIR)/%.o) $(TLM_OBJ:%.o=$(TLM_DIR)/%.o)
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
015055b6e23f5c08f6a5b34726f90b62597e9e45Tinderbox UserNDMP_OBJ = \
03ebc228ee3725738b067b6bd7082a9a731822a1Tinderbox User ndmpd_callbacks.o \
fec6e13f2d1e69fe1c2b8fac36f732f124cf5398Mark Andrews ndmpd_chkpnt.o \
b91d11bfcc30b96f2c80f3a76d12e3dcc8597a68Mark Andrews ndmpd_comm.o \
b91d11bfcc30b96f2c80f3a76d12e3dcc8597a68Mark Andrews ndmpd_config.o \
fec6e13f2d1e69fe1c2b8fac36f732f124cf5398Mark Andrews ndmpd_connect.o \
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt ndmpd_data.o \
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt ndmpd_door.o \
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt ndmpd_dtime.o \
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews ndmpd_fhistory.o \
30370d905e9be3be7d9b947fd432bacecbb13bb9Evan Hunt ndmpd_handler.o \
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt ndmpd_log.o \
7cc0a5d21ef046bfd630c4769943d896a7d7472cTinderbox User ndmpd_main.o \
e76dfff967cfbe00f4d1540434832e4499a9cd83Tinderbox User ndmpd_mark.o \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews ndmpd_mover.o \
549c517e2ecad52bb1d32f08920e29d4e8cda71eTinderbox User ndmpd_prop.o \
549c517e2ecad52bb1d32f08920e29d4e8cda71eTinderbox User ndmpd_scsi.o \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews ndmpd_tape.o \
549c517e2ecad52bb1d32f08920e29d4e8cda71eTinderbox User ndmpd_tar.o \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews ndmpd_tar3.o \
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User ndmpd_util.o \
827f8cccb5280f4da66c46186e792d1cb9d73503Mark Andrews ndmpd_zfs.o
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
b91d11bfcc30b96f2c80f3a76d12e3dcc8597a68Mark AndrewsTLM_OBJ = \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews tlm_backup_reader.o \
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User tlm_bitmap.o \
aef6cf0f147a5014d4891c9689b9f463399e16e7Tinderbox User tlm_buffers.o \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews tlm_info.o \
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User tlm_init.o \
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson tlm_lib.o \
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User tlm_restore_writer.o \
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews tlm_traverse.o \
30370d905e9be3be7d9b947fd432bacecbb13bb9Evan Hunt tlm_util.o \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews tlm_hardlink.o
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark AndrewsSRCS= $(NDMP_OBJ:%.o=$(NDMP_DIR)/%.c) $(TLM_OBJ:%.o=$(TLM_DIR)/%.c)
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews
30370d905e9be3be7d9b947fd432bacecbb13bb9Evan HuntSVCMETHOD = svc-ndmp
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews$(ROOTSVCMETHOD) := FILEMODE = 0555
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
91216cff91b34c9ff6e846dc23f248219cafe660Andreas GustafssonMANIFEST = ndmp.xml
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox UserROOTMANIFESTDIR= $(ROOTSVCSYSTEM)
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews$(ROOTMANIFEST) := FILEMODE = 444
30370d905e9be3be7d9b947fd432bacecbb13bb9Evan Hunt
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsROOTNDMPDDIR= $(ROOTLIB)/ndmp
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox UserROOTNDMPDFILE = $(PROG:%=$(ROOTNDMPDDIR)/%)
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox UserFILEMODE = 0444
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews$(ROOTNDMPDFILE):= FILEMODE = 0555
30370d905e9be3be7d9b947fd432bacecbb13bb9Evan Hunt
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews$(ROOTNDMPDDIR):
28a5dd720187fddb16055a0f64b63a7b66f29f64Mark Andrews $(INS.dir)
03ebc228ee3725738b067b6bd7082a9a731822a1Tinderbox User
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews$(ROOTNDMPDDIR)/%: %
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User $(INS.file)
a450977e98155f6e828fe6f8d52cf24674231831Mark Andrews
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews.KEEP_STATE:
fec6e13f2d1e69fe1c2b8fac36f732f124cf5398Mark Andrews
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox Userall: $(PROG)
827f8cccb5280f4da66c46186e792d1cb9d73503Mark Andrews
fec6e13f2d1e69fe1c2b8fac36f732f124cf5398Mark Andrewsinstall: all $(ROOTNDMPDDIR) $(ROOTNDMPDFILE) $(ROOTSVCMETHOD) $(ROOTMANIFEST)
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox Usercheck: $(CHKMANIFEST)
827f8cccb5280f4da66c46186e792d1cb9d73503Mark Andrews
2a31bd531072824ef252c18303859d6af7451b00Francis Dupontclobber:
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User$(PROG) : $(OBJS)
5747235bf35e7398984fd6b4632743396895ea7aTinderbox User $(LINK.c) -o $@ $(OBJS) $(LDLIBS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews $(POST_PROCESS)
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews
a03cb08d0c4f1ca5fbc121d2f02bdffa7eb52286Mark Andrews$(NDMP_DIR)/%.o : $(NDMP_DIR)/%.c
827f8cccb5280f4da66c46186e792d1cb9d73503Mark Andrews $(COMPILE.c) -o $@ $<
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews$(TLM_DIR)/%.o : $(TLM_DIR)/%.c
7f9e2fff07b9c17e0d7a0ea7abc9304ce9d01b61Tinderbox User $(COMPILE.c) -o $@ $<
5747235bf35e7398984fd6b4632743396895ea7aTinderbox User
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrewslint: lint_SRCS
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
549c517e2ecad52bb1d32f08920e29d4e8cda71eTinderbox Userclean: rpcclean
827f8cccb5280f4da66c46186e792d1cb9d73503Mark Andrews rm -f $(NDMP_DIR)/*.o $(TLM_DIR)/*.o
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
fec6e13f2d1e69fe1c2b8fac36f732f124cf5398Mark Andrewsinclude $(SRC)/cmd/Makefile.targ
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User