Imported Upstream version 3.2.0
[debian/amanda] / ndmp-src / Makefile.am
1 #
2 # Copyright (c) 1998,1999,2000
3 #       Traakan, Inc., Los Altos, CA
4 #       All rights reserved.
5 #
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions
8 # are met:
9 # 1. Redistributions of source code must retain the above copyright
10 #    notice unmodified, this list of conditions, and the following
11 #    disclaimer.
12 # 2. Redistributions in binary form must reproduce the above copyright
13 #    notice, this list of conditions and the following disclaimer in the
14 #    documentation and/or other materials provided with the distribution.
15 #
16 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 # ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 # SUCH DAMAGE.
27 #
28
29 #
30 # Project:  NDMJOB
31 # Ident:    $Id: $
32 #
33 # Description
34 #
35 #       This illustrates the strata (layers) of the
36 #       NDMJOB/NDMJOBLIB software, the scope of key
37 #       header (.h) files, and the source files
38 #       constituting each layer.
39 #
40 #  -  -  -  -  -        +---------------------------------------+
41 #  ^  ^  ^  ^  ndmjob.h | NDMJOB Command        ndmjob_*.c      |
42 #  |  |  |  |  -        +---------------------------------------+
43 #  |  |  |  |                     NDMJOBLIB API "job"
44 #  |  |  |  |           +---------------------------------------+  \
45 #  |  |  |  |           | Rules       (NDMJLR)  ndmjr_*.[ch]    |   \
46 #  |  |  |  ndmagents.h | Agents      (NDMJLA)  ndma_*.c        |    |
47 #  |  |  |  -           +---------------------------------------+    |
48 #  |  |  ndmlib.h       | Library     (NDMJLL)  ndml_*.c        |    |
49 #  |  |  -              +---------------------------------------+    |
50 #  |  ndmprotocol.h     | Protocol    (NDMJLP)  ndmp*.[chx]     | NDMJOBLIB
51 #  |  -                 +---------------------------------------+    |
52 #  |                    | SMC         (NDMJLS)  smc*.[ch]       |    |
53 #  |                    | MD5         (NDMJL5)  md5*.[ch]       |    |
54 #  |                    +---------------------------------------+    |
55 #  ndmos.h              | OS intf     (NDMJLO)  ndmos*.[ch]     |   /
56 #  -                    +---------------------------------------+  /
57 #
58
59
60 #NDMOS_OPTIONS = -DNDMOS_OPTION_NO_CONTROL_AGENT
61 #NDMOS_OPTIONS = -DNDMOS_OPTION_NO_DATA_AGENT
62 #NDMOS_OPTIONS = -DNDMOS_OPTION_NO_TAPE_AGENT
63 #NDMOS_OPTIONS = -DNDMOS_OPTION_NO_ROBOT_AGENT
64 #NDMOS_OPTIONS = -DNDMOS_OPTION_NO_NDMP2
65 #NDMOS_OPTIONS = -DNDMOS_OPTION_NO_NDMP3
66 #NDMOS_OPTIONS = -DNDMOS_OPTION_NO_NDMP4
67
68 include $(top_srcdir)/config/automake/vars.am
69 include $(top_srcdir)/config/automake/installperms.am
70 include $(top_srcdir)/config/automake/precompile.am
71
72 INCLUDES =      -I$(top_builddir)/common-src \
73                 -I$(top_srcdir)/common-src   \
74                 -I$(top_srcdir)/gnulib
75
76 # TODO: use existing md5 facility? (openssl?)
77
78 # TODO: tests!
79
80 # add the Amanda version to the ndmjoblib version info
81 AM_CFLAGS = -DNDMOS_CONST_NDMJOBLIB_REVISION='"amanda-$(VERSION)"'
82 # note that this directory is compiled *without* the usual Amanda warnings,
83 # because the rpcgen-generated code (including header files) generates copious
84 # warnings and cannot be changed, and cannot be ignored in older versions of
85 # gcc.
86
87 ##
88 ## libndmjob.la and libndmlib.la
89 ##
90
91 # Divide the library up into the library side and down (libndmlib.la),
92 # and the full set of rules, agents, and so on required to build ndmjob
93 # (libndmjob.la).
94
95 amlib_LTLIBRARIES = \
96         libndmlib.la \
97         libndmjob.la
98
99 libndmjla = \
100         ndma_comm_job.c \
101         ndma_comm_session.c \
102         ndma_comm_dispatch.c \
103         ndma_comm_subr.c \
104         ndma_control.c \
105         ndma_cops_backreco.c \
106         ndma_cops_labels.c \
107         ndma_cops_query.c \
108         ndma_cops_robot.c \
109         ndma_ctrl_calls.c \
110         ndma_ctrl_conn.c \
111         ndma_ctrl_media.c \
112         ndma_ctrl_robot.c \
113         ndma_ctst_tape.c \
114         ndma_ctst_mover.c \
115         ndma_ctst_data.c \
116         ndma_ctst_subr.c \
117         ndma_data.c \
118         ndma_data_fh.c \
119         ndma_data_pfe.c \
120         ndma_image_stream.c \
121         ndma_noti_calls.c \
122         ndma_tape.c \
123         ndma_robot.c \
124         ndma_robot_simulator.c \
125         wraplib.c
126
127 libndmjlr = \
128         ndmjr_none.c
129
130 libndmjll = \
131         ndml_agent.c \
132         ndml_bstf.c \
133         ndml_chan.c \
134         ndml_config.c \
135         ndml_conn.c \
136         ndml_cstr.c \
137         ndml_log.c \
138         ndml_md5.c \
139         ndml_fhdb.c \
140         ndml_fhh.c \
141         ndml_media.c \
142         ndml_nmb.c \
143         ndml_scsi.c \
144         ndml_stzf.c \
145         ndml_util.c
146
147 libndmjlp = \
148         ndmprotocol.c \
149         ndmp_translate.c \
150         ndmp2_translate.c ndmp3_translate.c ndmp4_translate.c \
151         ndmp0_enum_strs.c ndmp0_pp.c ndmp0_xdr.c ndmp0_xmt.c \
152         ndmp2_enum_strs.c ndmp2_pp.c ndmp2_xdr.c ndmp2_xmt.c \
153         ndmp3_enum_strs.c ndmp3_pp.c ndmp3_xdr.c ndmp3_xmt.c \
154         ndmp4_enum_strs.c ndmp4_pp.c ndmp4_xdr.c ndmp4_xmt.c \
155         ndmp9_enum_strs.c            ndmp9_xdr.c ndmp9_xmt.c
156
157 libndmjls = \
158         smc_api.c \
159         smc_parse.c \
160         smc_pp.c
161
162 libndmjl5 = \
163         md5c.c
164
165 libndmjlo = \
166         ndmos.c \
167         ndmos_common.c
168
169 libndmlib_la_LDFLAGS = -release $(VERSION)
170 libndmlib_la_SOURCES = \
171         $(libndmjll) \
172         $(libndmjlp) \
173         $(libndmjls) \
174         $(libndmjl5) \
175         $(libndmjlo) \
176         ndmpconnobj.c
177
178 libndmjob_la_SOURCES = \
179         $(libndmjla) \
180         $(libndmjlr)
181
182 libndmjob_la_LDFLAGS = -release $(VERSION)
183 libndmjob_la_LIBADD = libndmlib.la
184
185 ##
186 ## ndmjob -- used for testing and by applications
187 ##
188
189 amlibexec_PROGRAMS = amndmjob ndmjob
190
191 ndmjob_SOURCES = ndmjob_main.c \
192                       ndmjob_args.c \
193                       ndmjob_job.c \
194                       ndmjob_rules.c \
195                       ndmjob_main_util.c \
196                       ndma_tape_simulator.c
197
198
199 amndmjob_SOURCES = amndmjob_main.c \
200                       ndmjob_args.c \
201                       ndmjob_job.c \
202                       ndmjob_rules.c \
203                       ndmjob_main_util.c \
204                       amndma_tape_simulator.c
205
206 ndmjob_LDADD = libndmjob.la \
207                    ../common-src/libamanda.la
208
209 amndmjob_LDADD = libndmjob.la \
210                    ../common-src/libamanda.la
211
212 ndmp0.h ndmp0_xdr.c : ndmp0.x
213         $(RPCGEN) ndmp0.x
214
215 ndmp2.h ndmp2_xdr.c : ndmp2.x
216         $(RPCGEN) ndmp2.x
217
218 ndmp3.h ndmp3_xdr.c : ndmp3.x
219         $(RPCGEN) ndmp3.x
220
221 ndmp4.h ndmp4_xdr.c : ndmp4.x
222         $(RPCGEN) ndmp4.x
223
224 ndmp9.h ndmp9_xdr.c : ndmp9.x
225         $(RPCGEN) ndmp9.x
226
227 # cause these files to be built before those that might depend on them
228 BUILT_SOURCES += \
229         ndmp0.h \
230         ndmp0_xdr.c \
231         ndmp2.h \
232         ndmp2_xdr.c \
233         ndmp3.h \
234         ndmp3_xdr.c \
235         ndmp4.h \
236         ndmp4_xdr.c \
237         ndmp9.h \
238         ndmp9_xdr.c
239
240 noinst_HEADERS = \
241         md5.h            ndmp0_enum_strs.h  ndmp3.x            ndmprotocol.h \
242         ndmagents.h      ndmp0.h            ndmp4_enum_strs.h  ndmp_translate.h \
243         ndmjob.h         ndmp0.x            ndmp4.h            scsiconst.h \
244         ndmjr_none.h     ndmp2_enum_strs.h  ndmp4_translate.h  smc.h \
245         ndmlib.h         ndmp2.h            ndmp4.x            smc_priv.h \
246         ndmp2_translate.h  ndmp9_enum_strs.h  smc_raw.h \
247         ndmos.h          ndmp2.x            ndmp9.h            \
248         ndmp3_enum_strs.h  ndmp9.x            \
249         ndmp3.h            ndmp_ammend.h      wraplib.h \
250         ndmp3_translate.h  ndmp_msg_buf.h \
251         ndmos_glib.h \
252         ndmpconnobj.h
253
254 EXTRA_DIST += \
255         ndmos_glib.c \
256         ndmos_common.c \
257         README \
258         ShakeOut.sh \
259         ThingsToTry \
260         idx_dump.pl