Merge branch 'master' into squeeze
[debian/amanda] / ndmp-src / Makefile.am
diff --git a/ndmp-src/Makefile.am b/ndmp-src/Makefile.am
new file mode 100644 (file)
index 0000000..a5b1b00
--- /dev/null
@@ -0,0 +1,260 @@
+#
+# Copyright (c) 1998,1999,2000
+#      Traakan, Inc., Los Altos, CA
+#      All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice unmodified, this list of conditions, and the following
+#    disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+
+#
+# Project:  NDMJOB
+# Ident:    $Id: $
+#
+# Description
+#
+#      This illustrates the strata (layers) of the
+#      NDMJOB/NDMJOBLIB software, the scope of key
+#      header (.h) files, and the source files
+#      constituting each layer.
+#
+#  -  -  -  -  -       +---------------------------------------+
+#  ^  ^  ^  ^  ndmjob.h        | NDMJOB Command        ndmjob_*.c      |
+#  |  |  |  |  -       +---------------------------------------+
+#  |  |  |  |                    NDMJOBLIB API "job"
+#  |  |  |  |          +---------------------------------------+  \
+#  |  |  |  |          | Rules       (NDMJLR)  ndmjr_*.[ch]    |   \
+#  |  |  |  ndmagents.h        | Agents      (NDMJLA)  ndma_*.c        |    |
+#  |  |  |  -          +---------------------------------------+    |
+#  |  |  ndmlib.h      | Library     (NDMJLL)  ndml_*.c        |    |
+#  |  |  -             +---------------------------------------+    |
+#  |  ndmprotocol.h    | Protocol    (NDMJLP)  ndmp*.[chx]     | NDMJOBLIB
+#  |  -                        +---------------------------------------+    |
+#  |                   | SMC         (NDMJLS)  smc*.[ch]       |    |
+#  |                   | MD5         (NDMJL5)  md5*.[ch]       |    |
+#  |                   +---------------------------------------+    |
+#  ndmos.h             | OS intf     (NDMJLO)  ndmos*.[ch]     |   /
+#  -                   +---------------------------------------+  /
+#
+
+
+#NDMOS_OPTIONS = -DNDMOS_OPTION_NO_CONTROL_AGENT
+#NDMOS_OPTIONS = -DNDMOS_OPTION_NO_DATA_AGENT
+#NDMOS_OPTIONS = -DNDMOS_OPTION_NO_TAPE_AGENT
+#NDMOS_OPTIONS = -DNDMOS_OPTION_NO_ROBOT_AGENT
+#NDMOS_OPTIONS = -DNDMOS_OPTION_NO_NDMP2
+#NDMOS_OPTIONS = -DNDMOS_OPTION_NO_NDMP3
+#NDMOS_OPTIONS = -DNDMOS_OPTION_NO_NDMP4
+
+include $(top_srcdir)/config/automake/vars.am
+include $(top_srcdir)/config/automake/installperms.am
+include $(top_srcdir)/config/automake/precompile.am
+
+INCLUDES =     -I$(top_builddir)/common-src \
+               -I$(top_srcdir)/common-src   \
+               -I$(top_srcdir)/gnulib
+
+# TODO: use existing md5 facility? (openssl?)
+
+# TODO: tests!
+
+# add the Amanda version to the ndmjoblib version info
+AM_CFLAGS = -DNDMOS_CONST_NDMJOBLIB_REVISION='"amanda-$(VERSION)"'
+# note that this directory is compiled *without* the usual Amanda warnings,
+# because the rpcgen-generated code (including header files) generates copious
+# warnings and cannot be changed, and cannot be ignored in older versions of
+# gcc.
+
+##
+## libndmjob.la and libndmlib.la
+##
+
+# Divide the library up into the library side and down (libndmlib.la),
+# and the full set of rules, agents, and so on required to build ndmjob
+# (libndmjob.la).
+
+amlib_LTLIBRARIES = \
+       libndmlib.la \
+       libndmjob.la
+
+libndmjla = \
+       ndma_comm_job.c \
+       ndma_comm_session.c \
+       ndma_comm_dispatch.c \
+       ndma_comm_subr.c \
+       ndma_control.c \
+       ndma_cops_backreco.c \
+       ndma_cops_labels.c \
+       ndma_cops_query.c \
+       ndma_cops_robot.c \
+       ndma_ctrl_calls.c \
+       ndma_ctrl_conn.c \
+       ndma_ctrl_media.c \
+       ndma_ctrl_robot.c \
+       ndma_ctst_tape.c \
+       ndma_ctst_mover.c \
+       ndma_ctst_data.c \
+       ndma_ctst_subr.c \
+       ndma_data.c \
+       ndma_data_fh.c \
+       ndma_data_pfe.c \
+       ndma_image_stream.c \
+       ndma_noti_calls.c \
+       ndma_tape.c \
+       ndma_robot.c \
+       ndma_robot_simulator.c \
+       wraplib.c
+
+libndmjlr = \
+       ndmjr_none.c
+
+libndmjll = \
+       ndml_agent.c \
+       ndml_bstf.c \
+       ndml_chan.c \
+       ndml_config.c \
+       ndml_conn.c \
+       ndml_cstr.c \
+       ndml_log.c \
+       ndml_md5.c \
+       ndml_fhdb.c \
+       ndml_fhh.c \
+       ndml_media.c \
+       ndml_nmb.c \
+       ndml_scsi.c \
+       ndml_stzf.c \
+       ndml_util.c
+
+libndmjlp = \
+       ndmprotocol.c \
+       ndmp_translate.c \
+       ndmp2_translate.c ndmp3_translate.c ndmp4_translate.c \
+       ndmp0_enum_strs.c ndmp0_pp.c ndmp0_xdr.c ndmp0_xmt.c \
+       ndmp2_enum_strs.c ndmp2_pp.c ndmp2_xdr.c ndmp2_xmt.c \
+       ndmp3_enum_strs.c ndmp3_pp.c ndmp3_xdr.c ndmp3_xmt.c \
+       ndmp4_enum_strs.c ndmp4_pp.c ndmp4_xdr.c ndmp4_xmt.c \
+       ndmp9_enum_strs.c            ndmp9_xdr.c ndmp9_xmt.c
+
+libndmjls = \
+       smc_api.c \
+       smc_parse.c \
+       smc_pp.c
+
+libndmjl5 = \
+       md5c.c
+
+libndmjlo = \
+       ndmos.c \
+       ndmos_common.c
+
+libndmlib_la_LDFLAGS = -release $(VERSION) $(AS_NEEDED_FLAGS)
+libndmlib_la_SOURCES = \
+       $(libndmjll) \
+       $(libndmjlp) \
+       $(libndmjls) \
+       $(libndmjl5) \
+       $(libndmjlo) \
+       ndmpconnobj.c
+
+libndmjob_la_SOURCES = \
+       $(libndmjla) \
+       $(libndmjlr)
+
+libndmjob_la_LDFLAGS = -release $(VERSION) $(AS_NEEDED_FLAGS)
+libndmjob_la_LIBADD = libndmlib.la
+
+##
+## ndmjob -- used for testing and by applications
+##
+
+amlibexec_PROGRAMS = amndmjob ndmjob
+
+ndmjob_SOURCES = ndmjob_main.c \
+                     ndmjob_args.c \
+                     ndmjob_job.c \
+                     ndmjob_rules.c \
+                     ndmjob_main_util.c \
+                     ndma_tape_simulator.c
+
+
+amndmjob_SOURCES = amndmjob_main.c \
+                     ndmjob_args.c \
+                     ndmjob_job.c \
+                     ndmjob_rules.c \
+                     ndmjob_main_util.c \
+                     amndma_tape_simulator.c
+
+ndmjob_LDADD = libndmjob.la \
+                  ../common-src/libamanda.la
+
+amndmjob_LDADD = libndmjob.la \
+                  ../common-src/libamanda.la
+
+ndmp0.h ndmp0_xdr.c : ndmp0.x
+       $(RPCGEN) ndmp0.x
+
+ndmp2.h ndmp2_xdr.c : ndmp2.x
+       $(RPCGEN) ndmp2.x
+
+ndmp3.h ndmp3_xdr.c : ndmp3.x
+       $(RPCGEN) ndmp3.x
+
+ndmp4.h ndmp4_xdr.c : ndmp4.x
+       $(RPCGEN) ndmp4.x
+
+ndmp9.h ndmp9_xdr.c : ndmp9.x
+       $(RPCGEN) ndmp9.x
+
+# cause these files to be built before those that might depend on them
+BUILT_SOURCES += \
+       ndmp0.h \
+       ndmp0_xdr.c \
+       ndmp2.h \
+       ndmp2_xdr.c \
+       ndmp3.h \
+       ndmp3_xdr.c \
+       ndmp4.h \
+       ndmp4_xdr.c \
+       ndmp9.h \
+       ndmp9_xdr.c
+
+noinst_HEADERS = \
+       md5.h            ndmp0_enum_strs.h  ndmp3.x            ndmprotocol.h \
+       ndmagents.h      ndmp0.h            ndmp4_enum_strs.h  ndmp_translate.h \
+       ndmjob.h         ndmp0.x            ndmp4.h            scsiconst.h \
+       ndmjr_none.h     ndmp2_enum_strs.h  ndmp4_translate.h  smc.h \
+       ndmlib.h         ndmp2.h            ndmp4.x            smc_priv.h \
+       ndmp2_translate.h  ndmp9_enum_strs.h  smc_raw.h \
+       ndmos.h          ndmp2.x            ndmp9.h            \
+       ndmp3_enum_strs.h  ndmp9.x            \
+       ndmp3.h            ndmp_ammend.h      wraplib.h \
+       ndmp3_translate.h  ndmp_msg_buf.h \
+       ndmos_glib.h \
+       ndmpconnobj.h
+
+EXTRA_DIST += \
+       ndmos_glib.c \
+       ndmos_common.c \
+       README \
+       ShakeOut.sh \
+       ThingsToTry \
+       idx_dump.pl