Imported Upstream version 3.2.0
[debian/amanda] / perl / Makefile.am
1 ##
2 ## Prepare for SWIGging
3 ##
4
5 include $(top_srcdir)/config/automake/vars.am
6 include $(top_srcdir)/config/automake/scripts.am
7
8 # build amglue *first*
9 SUBDIRS = amglue .
10
11 # add the SWIG symbol to avoid conflicts with perl definitions.
12 # $AMANDA_WARNING_CFLAGS is omitted because SWIG-generated files tend
13 # to trigger warnings.
14 AM_CFLAGS = -DSWIG $(AMANDA_SWIG_PERL_CFLAGS)
15
16 # Appropriate INCLUDES depends on which components (server or client) are
17 # being built
18 INCLUDES =  \
19             -I$(top_builddir)/common-src \
20             -I$(top_srcdir)/common-src \
21             -I$(top_srcdir)/amandad-src \
22             -I$(top_srcdir)/amar-src \
23             -I$(top_srcdir)/xfer-src \
24             -I$(top_srcdir)/perl/amglue \
25             -I$(top_srcdir)/gnulib \
26             -I$(top_srcdir)/ndmp-src \
27             $(PERL_INC)
28
29 if WANT_SERVER
30 INCLUDES += -I$(top_srcdir)/device-src \
31             -I$(top_srcdir)/server-src
32 endif
33
34 if WANT_CLIENT
35 INCLUDES += -I$(top_srcdir)/client-src
36 endif
37
38 if WANT_RECOVER
39 INCLUDES += -I$(top_srcdir)/recover-src
40 endif
41
42 # (amplot has a conditional, but doesn't have any header files)
43
44 ##
45 ## HTML Generation
46 ##
47
48 # This isn't a very robust implementation, as it's only meant to make the HTML
49 # available online as part of the automated compilation process.  It assumes
50 # that all perl modules were built (not just server or client), and that the
51 # build directory does not contain any "junk".
52
53 html: make_html amperl.css $(PM_FILES)
54         rm -rf html-tmp/ && mkdir html-tmp/
55         cp amperl.css html-tmp/
56         $(PERL) make_html html-tmp/ $(PM_FILES)
57         cd html-tmp/ && tar -zcf $(abs_builddir)/html.tar.gz .
58         rm -rf html-tmp/
59 ##
60 ## SWIG-generated packages
61 ##
62
63 # Tell libtool to not bother versioning the libs we build, since perl won't
64 # pay attention to such things, anyway.
65 PERL_EXT_LDFLAGS = -avoid-version -shared
66
67 # And add any flags the user has requested; on FreeBSD, this pulls in the
68 # threading library
69 PERL_EXT_LDFLAGS += $(PERLEXTLIBS)
70
71 # list our SWIG libraries; these are %included from .swg files
72 AMGLUE_SWG = amglue/amglue.swg \
73         amglue/amglue.swg \
74         amglue/constants.swg \
75         amglue/directtcp.swg \
76         amglue/dumpspecs.swg \
77         amglue/exports.swg \
78         amglue/filehandles.swg \
79         amglue/glib.swg \
80         amglue/integers.swg
81 EXTRA_DIST += $(AMGLUE_SWG)
82
83 # SWIG OPTIONS:
84 # -perl5 -proxy: generate perl code, with proxy (shadow) classes
85 # -DSWIG_TYPE_TABLE: the name for the global type table; customized
86 #  to minimize type collisions with other SWIG-generated modules
87 # -I$(srcdir) use include files relative to this directory
88 SWIG_OPTIONS=-perl5 -proxy -DSWIG_TYPE_TABLE=SWIG_TYPES_Amanda -I$(srcdir)
89
90 # Suffix rules.  These are parallel-build compatible, but may cause
91 # strange behavior if there are other .c files in this directory.  The
92 # 'rm -f $@' is needed because SWIG sometimes fails to remove its output
93 # file in the event of a syntax error.  .i files are pre-processor output;
94 # they are only used during development.
95 %.c : %.swg $(AMGLUE_SWG) %.pod
96         $(mkdir_p) `dirname $@`
97         $(SWIG) $(SWIG_OPTIONS) -o $@ $(top_srcdir)/perl/$< || { rm -f $@; false; }
98 %.pm : %.c
99         @echo "$@ was produced as a side-effect of creating $<"
100 %.i : %.swg $(AMGLUE_SWG)
101         $(SWIG) $(SWIG_OPTIONS) -E $(top_srcdir)/perl/$< >$@
102
103 ###
104 ### Packages
105 ###
106
107 # PM_FILES should contain the .pm files from which the HTML should
108 # be geneated.  This is just the concatenation of foo_DATA for all $(foodir)
109 # into which perl modules are installed.
110 PM_FILES=
111
112 Amandadir=$(amperldir)/Amanda
113 Amanda_DATA =
114 PM_FILES += $(Amanda_DATA)
115
116 # PACKAGE: Amanda::Archive
117 libArchivedir = $(amperldir)/auto/Amanda/Archive
118 libArchive_LTLIBRARIES = libArchive.la
119 libArchive_la_SOURCES = Amanda/Archive.c $(AMGLUE_SWG)
120 libArchive_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
121 libArchive_la_LIBADD = amglue/libamglue.la \
122         $(top_builddir)/amar-src/libamar.la \
123         $(top_builddir)/common-src/libamanda.la
124 Amanda_DATA += Amanda/Archive.pm
125 EXTRA_DIST += Amanda/Archive.swg Amanda/Archive.pm Amanda/Archive.pod
126 MAINTAINERCLEANFILES += Amanda/Archive.c Amanda/Archive.pm
127
128 # PACKAGE: Amanda::Process
129 Amanda_DATA += Amanda/Process.pm
130 EXTRA_DIST += Amanda/Process.pm
131
132 if WANT_SERVER
133 # PACKAGE: Amanda::Device
134 libDevicedir = $(amperldir)/auto/Amanda/Device
135 libDevice_LTLIBRARIES = libDevice.la
136 libDevice_la_SOURCES = Amanda/Device.c $(AMGLUE_SWG)
137 libDevice_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
138 libDevice_la_LIBADD = amglue/libamglue.la \
139         $(top_builddir)/device-src/libamdevice.la \
140         $(top_builddir)/common-src/libamanda.la
141 Amanda_DATA += Amanda/Device.pm
142 MAINTAINERCLEANFILES += Amanda/Device.c Amanda/Device.pm
143 endif
144 EXTRA_DIST += Amanda/Device.swg Amanda/Device.pm Amanda/Device.pod
145
146 if WANT_SERVER
147 # PACKAGE: Amanda::Logfile
148 libLogfiledir = $(amperldir)/auto/Amanda/Logfile
149 libLogfile_LTLIBRARIES = libLogfile.la
150 libLogfile_la_SOURCES = Amanda/Logfile.c $(AMGLUE_SWG)
151 libLogfile_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
152 libLogfile_la_LIBADD = amglue/libamglue.la \
153         $(top_builddir)/server-src/libamserver.la \
154         $(top_builddir)/common-src/libamanda.la
155 Amanda_DATA += Amanda/Logfile.pm
156 MAINTAINERCLEANFILES += Amanda/Logfile.c Amanda/Logfile.pm
157 endif
158 EXTRA_DIST += Amanda/Logfile.swg Amanda/Logfile.pm Amanda/Logfile.pod
159
160 if WANT_SERVER
161 # PACKAGE: Amanda::Cmdline
162 libCmdlinedir = $(amperldir)/auto/Amanda/Cmdline
163 libCmdline_LTLIBRARIES = libCmdline.la
164 libCmdline_la_SOURCES = Amanda/Cmdline.c $(AMGLUE_SWG)
165 libCmdline_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
166 libCmdline_la_LIBADD = amglue/libamglue.la \
167         $(top_builddir)/server-src/libamserver.la \
168         $(top_builddir)/common-src/libamanda.la
169 Amanda_DATA += Amanda/Cmdline.pm
170 MAINTAINERCLEANFILES += Amanda/Cmdline.c Amanda/Cmdline.pm
171 endif
172 EXTRA_DIST += Amanda/Cmdline.swg Amanda/Cmdline.pm Amanda/Cmdline.pod
173
174 if WANT_SERVER
175 # PACKAGE: Amanda::Tapelist
176 libTapelistdir = $(amperldir)/auto/Amanda/Tapelist
177 libTapelist_LTLIBRARIES = libTapelist.la
178 libTapelist_la_SOURCES = Amanda/Tapelist.c $(AMGLUE_SWG)
179 libTapelist_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
180 libTapelist_la_LIBADD = amglue/libamglue.la \
181         $(top_builddir)/server-src/libamserver.la \
182         $(top_builddir)/common-src/libamanda.la
183 Amanda_DATA += Amanda/Tapelist.pm
184 MAINTAINERCLEANFILES += Amanda/Tapelist.c Amanda/Tapelist.pm
185 endif
186 EXTRA_DIST += Amanda/Tapelist.swg Amanda/Tapelist.pm Amanda/Tapelist.pod
187
188 if WANT_SERVER
189 # PACKAGE: Amanda::Disklist
190 libDisklistdir = $(amperldir)/auto/Amanda/Disklist
191 libDisklist_LTLIBRARIES = libDisklist.la
192 libDisklist_la_SOURCES = Amanda/Disklist.c $(AMGLUE_SWG)
193 libDisklist_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
194 libDisklist_la_LIBADD = amglue/libamglue.la \
195         $(top_builddir)/server-src/libamserver.la \
196         $(top_builddir)/common-src/libamanda.la
197 Amanda_DATA += Amanda/Disklist.pm
198 MAINTAINERCLEANFILES += Amanda/Disklist.c Amanda/Disklist.pm
199 endif
200 EXTRA_DIST += Amanda/Disklist.swg Amanda/Disklist.pm Amanda/Disklist.pod
201
202 # PACKAGE: Amanda::Feature
203 Amanda/Feature.pm: ../common-src/amfeatures.h
204 libFeaturedir = $(amperldir)/auto/Amanda/Feature
205 libFeature_LTLIBRARIES = libFeature.la
206 libFeature_la_SOURCES = Amanda/Feature.c $(AMGLUE_SWG)
207 libFeature_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
208 libFeature_la_LIBADD = amglue/libamglue.la \
209         $(top_builddir)/common-src/libamanda.la
210 Amanda_DATA += Amanda/Feature.pm
211 MAINTAINERCLEANFILES += Amanda/Feature.c Amanda/Feature.pm
212 EXTRA_DIST += Amanda/Feature.swg Amanda/Feature.pm Amanda/Feature.pod
213
214 if WANT_SERVER
215 # PACKAGE: Amanda::Interactive
216 Amanda_DATA += Amanda/Interactive.pm
217 endif
218 EXTRA_DIST += Amanda/Interactive.pm
219
220 # PACKAGE: Amanda::ClientService
221 Amanda_DATA += Amanda/ClientService.pm
222 EXTRA_DIST += Amanda/ClientService.pm
223
224 if WANT_SERVER
225 # PACKAGE: Amanda::Interactive::*
226 AmandaInteractivedir = $(amperldir)/Amanda/Interactive
227 AmandaInteractive_DATA = \
228         Amanda/Interactive/stdin.pm
229 endif
230 EXTRA_DIST += $(AmandaInteractive_DATA)
231
232 if WANT_SERVER
233 # PACKAGE: Amanda::Changer
234 Amanda_DATA += Amanda/Changer.pm
235 endif
236 EXTRA_DIST += Amanda/Changer.pm
237
238 if WANT_SERVER
239 # PACKAGE: Amanda::Changer::*
240 AmandaChangerdir = $(amperldir)/Amanda/Changer
241 AmandaChanger_DATA = \
242         Amanda/Changer/compat.pm \
243         Amanda/Changer/disk.pm \
244         Amanda/Changer/multi.pm \
245         Amanda/Changer/null.pm \
246         Amanda/Changer/rait.pm \
247         Amanda/Changer/robot.pm \
248         Amanda/Changer/single.pm
249
250 if WANT_NDMP
251 AmandaChanger_DATA += Amanda/Changer/ndmp.pm
252 endif
253 PM_FILES += $(AmandaChanger_DATA)
254 endif
255 EXTRA_DIST += $(AmandaChanger_DATA)
256
257 if WANT_SERVER
258 # PACKAGE: Amanda::Curinfo
259 Amanda_DATA += Amanda/Curinfo.pm
260 endif
261 EXTRA_DIST += Amanda/Curinfo.pm
262
263 if WANT_SERVER
264 # PACKAGE: Amanda::Curinfo::*
265 AmandaCurinfodir = $(amperldir)/Amanda/Curinfo
266 AmandaCurinfo_DATA = \
267         Amanda/Curinfo/Info.pm
268 PM_FILES += $(AmandaCurinfo_DATA)
269 endif
270 EXTRA_DIST += $(AmandaCurinfo_DATA)
271
272 if WANT_SERVER
273 # PACKAGE: Amanda::Recovery::*
274 AmandaRecoverydir = $(amperldir)/Amanda/Recovery
275 AmandaRecovery_DATA = \
276         Amanda/Recovery/Clerk.pm \
277         Amanda/Recovery/Planner.pm \
278         Amanda/Recovery/Scan.pm
279 PM_FILES += $(AmandaRecovery_DATA)
280 endif
281 EXTRA_DIST += $(AmandaRecovery_DATA)
282
283 if WANT_SERVER
284 # PACKAGE: Amanda::Taper::*
285 AmandaTaperdir = $(amperldir)/Amanda/Taper
286 AmandaTaper_DATA = \
287         Amanda/Taper/Controller.pm \
288         Amanda/Taper/Protocol.pm \
289         Amanda/Taper/Scan.pm \
290         Amanda/Taper/Scribe.pm \
291         Amanda/Taper/Worker.pm
292 PM_FILES += $(AmandaTaper_DATA)
293 endif
294 EXTRA_DIST += $(AmandaTaper_DATA)
295
296 if WANT_SERVER
297 # PACKAGE: Amanda::Taper::Scan::*
298 AmandaTaperScandir = $(amperldir)/Amanda/Taper/Scan
299 AmandaTaperScan_DATA = \
300         Amanda/Taper/Scan/traditional.pm
301 PM_FILES += $(AmandaTaperScan_DATA)
302 endif
303 EXTRA_DIST += $(AmandaTaperScan_DATA)
304
305 if WANT_SERVER
306 # PACKAGE: Amanda::DB::*
307 Amanda_DBdir = $(Amandadir)/DB
308 Amanda_DB_DATA =
309 PM_FILES += $(Amanda_DB_DATA)
310 endif
311
312 if WANT_SERVER
313 # PACKAGE: Amanda::DB::Catalog
314 Amanda_DB_DATA += Amanda/DB/Catalog.pm
315 endif
316 EXTRA_DIST += Amanda/DB/Catalog.pm
317
318 # PACKAGE: Amanda::Xfer
319 libXferdir = $(amperldir)/auto/Amanda/Xfer
320 libXfer_LTLIBRARIES = libXfer.la
321 libXfer_la_SOURCES = Amanda/Xfer.c $(AMGLUE_SWG)
322 libXfer_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
323 libXfer_la_LIBADD = amglue/libamglue.la \
324         $(top_builddir)/xfer-src/libamxfer.la
325 Amanda_DATA += Amanda/Xfer.pm
326 MAINTAINERCLEANFILES += Amanda/Xfer.c Amanda/Xfer.pm
327 EXTRA_DIST += Amanda/Xfer.swg Amanda/Xfer.pm Amanda/Xfer.pod
328
329 if WANT_NDMP
330 # PACKAGE: Amanda::NDMP
331 libNDMPdir = $(amperldir)/auto/Amanda/NDMP
332 libNDMP_LTLIBRARIES = libNDMP.la
333 libNDMP_la_SOURCES = Amanda/NDMP.c $(AMGLUE_SWG)
334 libNDMP_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
335 libNDMP_la_LIBADD = amglue/libamglue.la \
336         $(top_builddir)/common-src/libamanda.la \
337         $(top_builddir)/ndmp-src/libndmlib.la
338 Amanda_DATA += Amanda/NDMP.pm
339 MAINTAINERCLEANFILES += Amanda/NDMP.c Amanda/NDMP.pm
340 EXTRA_DIST += Amanda/NDMP.swg Amanda/NDMP.pm Amanda/NDMP.pod
341 endif
342
343 if WANT_SERVER
344 # PACKAGE: Amanda::XferServer
345 libXferServerdir = $(amperldir)/auto/Amanda/XferServer
346 libXferServer_LTLIBRARIES = libXferServer.la
347 libXferServer_la_SOURCES = Amanda/XferServer.c $(AMGLUE_SWG)
348 libXferServer_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
349 libXferServer_la_LIBADD = amglue/libamglue.la \
350         $(top_builddir)/server-src/libamserver.la
351 Amanda_DATA += Amanda/XferServer.pm
352 MAINTAINERCLEANFILES += Amanda/XferServer.c Amanda/XferServer.pm
353 EXTRA_DIST += Amanda/XferServer.swg Amanda/XferServer.pm Amanda/XferServer.pod
354 endif
355
356 if WANT_SERVER
357 # PACKAGE: Amanda::Report
358 Amanda_DATA += Amanda/Report.pm
359 EXTRA_DIST += Amanda/Report.pm
360 endif
361
362 if WANT_SERVER
363 # PACKAGE: Amanda::Report::*
364 AmandaReportdir = $(amperldir)/Amanda/Report
365 AmandaReport_DATA = \
366         Amanda/Report/xml.pm \
367         Amanda/Report/postscript.pm \
368         Amanda/Report/human.pm
369 PM_FILES += $(AmandaReport_DATA)
370 EXTRA_DIST += $(AmandaReport_DATA)
371 endif
372
373 # PACKAGE: Amanda::BigIntCompat
374 Amanda_DATA += Amanda/BigIntCompat.pm
375 EXTRA_DIST += Amanda/BigIntCompat.pm
376
377 # PACKAGE: Amanda::Debug
378 libDebugdir = $(amperldir)/auto/Amanda/Debug
379 libDebug_LTLIBRARIES = libDebug.la
380 libDebug_la_SOURCES = Amanda/Debug.c $(AMGLUE_SWG)
381 libDebug_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
382 libDebug_la_LIBADD = amglue/libamglue.la \
383         $(top_builddir)/common-src/libamanda.la
384 Amanda_DATA += Amanda/Debug.pm
385 EXTRA_DIST += Amanda/Debug.swg Amanda/Debug.pm Amanda/Debug.pod
386 MAINTAINERCLEANFILES += Amanda/Debug.c Amanda/Debug.pm
387
388 # PACKAGE: Amanda::Config
389 libConfigdir = $(amperldir)/auto/Amanda/Config
390 libConfig_LTLIBRARIES = libConfig.la
391 libConfig_la_SOURCES = Amanda/Config.c $(AMGLUE_SWG)
392 libConfig_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
393 libConfig_la_LIBADD = amglue/libamglue.la \
394         $(top_builddir)/common-src/libamanda.la
395 Amanda_DATA += Amanda/Config.pm
396 EXTRA_DIST += Amanda/Config.swg Amanda/Config.pm Amanda/Config.pod
397 MAINTAINERCLEANFILES += Amanda/Config.c Amanda/Config.pm
398
399 # PACKAGE: Amanda::Config::*
400 AmandaConfigdir = $(amperldir)/Amanda/Config
401 AmandaConfig_DATA = Amanda/Config/FoldingHash.pm
402 EXTRA_DIST += $(AmandaConfig_DATA)
403
404 # PACKAGE: Amanda::Util
405 libUtildir = $(amperldir)/auto/Amanda/Util
406 libUtil_LTLIBRARIES = libUtil.la
407 libUtil_la_SOURCES = Amanda/Util.c $(AMGLUE_SWG)
408 libUtil_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
409 libUtil_la_LIBADD = amglue/libamglue.la \
410         $(top_builddir)/common-src/libamanda.la
411 Amanda_DATA += Amanda/Util.pm
412 EXTRA_DIST += Amanda/Util.swg Amanda/Util.pm Amanda/Util.pod
413 MAINTAINERCLEANFILES += Amanda/Util.c Amanda/Util.pm
414
415 # PACKAGE: Amanda::Header
416 libHeaderdir = $(amperldir)/auto/Amanda/Header
417 libHeader_LTLIBRARIES = libHeader.la
418 libHeader_la_SOURCES = Amanda/Header.c $(AMGLUE_SWG)
419 libHeader_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
420 libHeader_la_LIBADD = amglue/libamglue.la \
421         $(top_builddir)/common-src/libamanda.la
422 Amanda_DATA += Amanda/Header.pm
423 EXTRA_DIST += Amanda/Header.swg Amanda/Header.pm Amanda/Header.pod
424 MAINTAINERCLEANFILES += Amanda/Header.c Amanda/Header.pm
425
426 # PACKAGE: Amanda::Tests
427 libTestsdir = $(amperldir)/auto/Amanda/Tests
428 libTests_LTLIBRARIES = libTests.la
429 libTests_la_SOURCES = Amanda/Tests.c $(AMGLUE_SWG)
430 libTests_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
431 libTests_la_LIBADD = amglue/libamglue.la \
432         $(top_builddir)/common-src/libamanda.la
433 Amanda_DATA += Amanda/Tests.pm
434 EXTRA_DIST += Amanda/Tests.swg Amanda/Tests.pm Amanda/Tests.pod
435 MAINTAINERCLEANFILES += Amanda/Tests.c Amanda/Tests.pm
436
437 # PACKAGE: Amanda::MainLoop
438 libMainLoopdir = $(amperldir)/auto/Amanda/MainLoop
439 libMainLoop_LTLIBRARIES = libMainLoop.la
440 libMainLoop_la_SOURCES = Amanda/MainLoop.c $(AMGLUE_SWG)
441 libMainLoop_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
442 libMainLoop_la_LIBADD = amglue/libamglue.la \
443         $(top_builddir)/common-src/libamanda.la
444 Amanda_DATA += Amanda/MainLoop.pm
445 EXTRA_DIST += Amanda/MainLoop.swg Amanda/MainLoop.pm Amanda/MainLoop.pod
446 MAINTAINERCLEANFILES += Amanda/MainLoop.c Amanda/MainLoop.pm
447
448 # PACKAGE: Amanda::IPC::*
449 AmandaIPCdir = $(amperldir)/Amanda/IPC
450 AmandaIPC_DATA = Amanda/IPC/LineProtocol.pm
451 PM_FILES += $(AmandaIPC_DATA)
452 EXTRA_DIST += $(AmandaIPC_DATA)
453
454 # PACKAGE: Amanda::IPC:Binary
455 libIPCBinarydir = $(amperldir)/auto/Amanda/IPC/Binary
456 libIPCBinary_LTLIBRARIES = libBinary.la
457 libBinary_la_SOURCES = Amanda/IPC/Binary.c $(AMGLUE_SWG)
458 libBinary_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
459 libBinary_la_LIBADD = amglue/libamglue.la \
460         $(top_builddir)/common-src/libamanda.la
461 AmandaIPC_DATA += Amanda/IPC/Binary.pm
462 EXTRA_DIST += Amanda/IPC/Binary.swg Amanda/IPC/Binary.pm Amanda/IPC/Binary.pod
463 MAINTAINERCLEANFILES += Amanda/IPC/Binary.c Amanda/IPC/Binary.pm
464
465 # PACKAGE: Amanda::Paths
466 Amanda_DATA += Amanda/Paths.pm
467 EXTRA_DIST += Amanda/Paths.pm.in
468 DISTCLEANFILES += Amanda/Paths.pm
469
470 # PACKAGE: Amanda::Constants
471 Amanda_DATA += Amanda/Constants.pm
472 EXTRA_DIST += Amanda/Constants.pm.in
473 DISTCLEANFILES += Amanda/Constants.pm
474
475 # PACKAGE: Amanda::Script_App
476 Amanda_DATA += Amanda/Script_App.pm
477 EXTRA_DIST += Amanda/Script_App.pm
478
479
480 if WANT_SERVER
481 # PACKAGE: Amanda::Holding
482 Amanda_DATA += Amanda/Holding.pm
483 endif
484 EXTRA_DIST += Amanda/Holding.pm
485
486 if WANT_CLIENT
487 # PACKAGE: Amanda::Application
488 libApplicationdir = $(amperldir)/auto/Amanda/Application
489 libApplication_LTLIBRARIES = libApplication.la
490 libApplication_la_SOURCES = Amanda/Application.c $(AMGLUE_SWG)
491 libApplication_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
492 libApplication_la_LIBADD = amglue/libamglue.la \
493         $(top_builddir)/client-src/libamclient.la
494 Amanda_DATA += Amanda/Application.pm
495 MAINTAINERCLEANFILES += Amanda/Application.c Amanda/Application.pm
496 endif
497 EXTRA_DIST += Amanda/Application.swg Amanda/Application.pm Amanda/Application.pod
498
499 # PACKAGE: Amanda::Script
500 Amanda_DATA += Amanda/Script.pm
501 EXTRA_DIST += Amanda/Script.pm
502
503 if WANT_CLIENT
504 # PACKAGE: Amanda::Application::*
505 AmandaApplicationdir = $(amperldir)/Amanda/Application
506 AmandaApplication_DATA = Amanda/Application/Zfs.pm
507 PM_FILES += $(AmandaApplication_DATA)
508 endif
509 EXTRA_DIST += Amanda/Application/Zfs.pm
510
511 # perl doesn't use the cyg prefix and it doesn't search in the bin
512 # directory, dll must be copied to their modules directories.
513 if WANT_CYGWIN_COPY_PERL_DLL
514 amperldirauto="$(DESTDIR)$(amperldir)/auto/Amanda"
515 install-data-hook:
516         @for cygdll in $(amperldirauto)/bin/cyg*.dll; do \
517             destfname=`echo $$cygdll|sed 's!/bin/cyg\([^.]*\).dll!/\1/\1.dll!'`; \
518            cp "$$cygdll" "$$destfname"; \
519         done
520 endif
521
522 # only syntax-check the .pm files if SYNTAX_CHECKS are enabled
523 check-pm:
524         @MODULES_TO_CHECK="$(PM_FILES)"; \
525         if test -f $(top_builddir)/perl/.libs/libConfig.so -o -f $(top_builddir)/perl/libConfig.so; then \
526             for perlobj in $$MODULES_TO_CHECK; do \
527                 if test -f $$perlobj; then \
528                     $(PERL) $(CHECK_PERL_FLAGS) -I$(top_builddir)/perl -I$(top_builddir)/perl/.libs -I$(top_srcdir)/perl -c -T $$perlobj || exit 1; \
529                 else \
530                     $(PERL) $(CHECK_PERL_FLAGS) -I$(top_builddir)/perl -I$(top_builddir)/perl/.libs -I$(top_srcdir)/perl -c -T $(top_srcdir)/perl/$$perlobj || exit 1; \
531                 fi \
532             done; \
533         fi
534 if SYNTAX_CHECKS
535 check-local: check-pm
536 endif
537
538 if WANT_MANDATORY_THREAD_CHECK
539 install-data-local: thread-check
540 else
541 installcheck-local: thread-check
542 endif
543
544 if WANT_SERVER
545 thread-check: libTests.la
546         $(PERL) -I$(builddir) -I$(builddir)/.libs -I$(srcdir) \
547                         -MAmanda::Tests -e 'alarm(10); Amanda::Tests::try_threads' \
548         || { echo "Perl cannot run extensions which use threads; consider linking perl" \
549                 "with -pthread or compiling perl with threading enabled"; false; }
550 else
551 thread-check:
552         @echo "skipping thread check: server component not being built"
553 endif