1##
2## Prepare for SWIGging
3##
4
5include $(top_srcdir)/config/automake/vars.am
6include $(top_srcdir)/config/automake/scripts.am
7
8# build amglue *first*
9SUBDIRS = 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.
14AM_CFLAGS = -DSWIG $(AMANDA_SWIG_PERL_CFLAGS)
15
16# Appropriate INCLUDES depends on which components (server or client) are
17# being built
18INCLUDES =  \
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
29if WANT_SERVER
30INCLUDES += -I$(top_srcdir)/device-src \
31	    -I$(top_srcdir)/server-src
32endif
33
34if WANT_CLIENT
35INCLUDES += -I$(top_srcdir)/client-src
36endif
37
38if WANT_RECOVER
39INCLUDES += -I$(top_srcdir)/recover-src
40endif
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
53html: make_html amperl.css $(PM_FILES)
54	rm -rf html-tmp/ && mkdir html-tmp/
55	cp amperl.css html-tmp/
56	$(PERL) make_html --homeurl "$(POD_HOME_URL)" 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.
65PERL_EXT_LDFLAGS = -avoid-version -shared
66
67# And add any flags the user has requested; on FreeBSD, this pulls in the
68# threading library
69PERL_EXT_LDFLAGS += $(PERLEXTLIBS)
70
71# list our SWIG libraries; these are %included from .swg files
72AMGLUE_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
81EXTRA_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
88SWIG_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.
110PM_FILES=
111
112Amandadir=$(amperldir)/Amanda
113Amanda_DATA =
114PM_FILES += $(Amanda_DATA)
115
116# PACKAGE: Amanda::Archive
117libArchivedir = $(amperldir)/auto/Amanda/Archive
118libArchive_LTLIBRARIES = libArchive.la
119libArchive_la_SOURCES = Amanda/Archive.c $(AMGLUE_SWG)
120libArchive_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
121libArchive_la_LIBADD = amglue/libamglue.la \
122	$(top_builddir)/amar-src/libamar.la \
123	$(top_builddir)/common-src/libamanda.la
124Amanda_DATA += Amanda/Archive.pm
125EXTRA_DIST += Amanda/Archive.swg Amanda/Archive.pm Amanda/Archive.pod
126MAINTAINERCLEANFILES += Amanda/Archive.c Amanda/Archive.pm
127
128# PACKAGE: Amanda::Process
129Amanda_DATA += Amanda/Process.pm
130EXTRA_DIST += Amanda/Process.pm
131
132if WANT_SERVER
133# PACKAGE: Amanda::Device
134libDevicedir = $(amperldir)/auto/Amanda/Device
135libDevice_LTLIBRARIES = libDevice.la
136libDevice_la_SOURCES = Amanda/Device.c $(AMGLUE_SWG)
137libDevice_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
138libDevice_la_LIBADD = amglue/libamglue.la \
139	$(top_builddir)/device-src/libamdevice.la \
140	$(top_builddir)/common-src/libamanda.la
141Amanda_DATA += Amanda/Device.pm
142MAINTAINERCLEANFILES += Amanda/Device.c Amanda/Device.pm
143endif
144EXTRA_DIST += Amanda/Device.swg Amanda/Device.pm Amanda/Device.pod
145
146if WANT_SERVER
147# PACKAGE: Amanda::Logfile
148libLogfiledir = $(amperldir)/auto/Amanda/Logfile
149libLogfile_LTLIBRARIES = libLogfile.la
150libLogfile_la_SOURCES = Amanda/Logfile.c $(AMGLUE_SWG)
151libLogfile_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
152libLogfile_la_LIBADD = amglue/libamglue.la \
153	$(top_builddir)/server-src/libamserver.la \
154	$(top_builddir)/common-src/libamanda.la
155Amanda_DATA += Amanda/Logfile.pm
156MAINTAINERCLEANFILES += Amanda/Logfile.c Amanda/Logfile.pm
157endif
158EXTRA_DIST += Amanda/Logfile.swg Amanda/Logfile.pm Amanda/Logfile.pod
159
160if WANT_SERVER
161# PACKAGE: Amanda::Cmdline
162libCmdlinedir = $(amperldir)/auto/Amanda/Cmdline
163libCmdline_LTLIBRARIES = libCmdline.la
164libCmdline_la_SOURCES = Amanda/Cmdline.c $(AMGLUE_SWG)
165libCmdline_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
166libCmdline_la_LIBADD = amglue/libamglue.la \
167	$(top_builddir)/server-src/libamserver.la \
168	$(top_builddir)/common-src/libamanda.la
169Amanda_DATA += Amanda/Cmdline.pm
170MAINTAINERCLEANFILES += Amanda/Cmdline.c Amanda/Cmdline.pm
171endif
172EXTRA_DIST += Amanda/Cmdline.swg Amanda/Cmdline.pm Amanda/Cmdline.pod
173
174if WANT_SERVER
175# PACKAGE: Amanda::Tapelist
176libTapelistdir = $(amperldir)/auto/Amanda/Tapelist
177libTapelist_LTLIBRARIES = libTapelist.la
178libTapelist_la_SOURCES = Amanda/Tapelist.c $(AMGLUE_SWG)
179libTapelist_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
180libTapelist_la_LIBADD = amglue/libamglue.la \
181	$(top_builddir)/server-src/libamserver.la \
182	$(top_builddir)/common-src/libamanda.la
183Amanda_DATA += Amanda/Tapelist.pm
184MAINTAINERCLEANFILES += Amanda/Tapelist.c Amanda/Tapelist.pm
185endif
186EXTRA_DIST += Amanda/Tapelist.swg Amanda/Tapelist.pm Amanda/Tapelist.pod
187
188if WANT_SERVER
189# PACKAGE: Amanda::Disklist
190libDisklistdir = $(amperldir)/auto/Amanda/Disklist
191libDisklist_LTLIBRARIES = libDisklist.la
192libDisklist_la_SOURCES = Amanda/Disklist.c $(AMGLUE_SWG)
193libDisklist_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
194libDisklist_la_LIBADD = amglue/libamglue.la \
195	$(top_builddir)/server-src/libamserver.la \
196	$(top_builddir)/common-src/libamanda.la
197Amanda_DATA += Amanda/Disklist.pm
198MAINTAINERCLEANFILES += Amanda/Disklist.c Amanda/Disklist.pm
199endif
200EXTRA_DIST += Amanda/Disklist.swg Amanda/Disklist.pm Amanda/Disklist.pod
201
202# PACKAGE: Amanda::Feature
203Amanda/Feature.pm: ../common-src/amfeatures.h
204libFeaturedir = $(amperldir)/auto/Amanda/Feature
205libFeature_LTLIBRARIES = libFeature.la
206libFeature_la_SOURCES = Amanda/Feature.c $(AMGLUE_SWG)
207libFeature_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
208libFeature_la_LIBADD = amglue/libamglue.la \
209	$(top_builddir)/common-src/libamanda.la
210Amanda_DATA += Amanda/Feature.pm
211MAINTAINERCLEANFILES += Amanda/Feature.c Amanda/Feature.pm
212EXTRA_DIST += Amanda/Feature.swg Amanda/Feature.pm Amanda/Feature.pod
213
214if WANT_SERVER
215# PACKAGE: Amanda::ScanInventory
216Amanda_DATA += Amanda/ScanInventory.pm
217endif
218EXTRA_DIST += Amanda/ScanInventory.pm
219
220if WANT_SERVER
221# PACKAGE: Amanda::Interactivity
222Amanda_DATA += Amanda/Interactivity.pm
223endif
224EXTRA_DIST += Amanda/Interactivity.pm
225
226# PACKAGE: Amanda::ClientService
227Amanda_DATA += Amanda/ClientService.pm
228EXTRA_DIST += Amanda/ClientService.pm
229
230if WANT_SERVER
231# PACKAGE: Amanda::Interactivity::*
232AmandaInteractivitydir = $(amperldir)/Amanda/Interactivity
233AmandaInteractivity_DATA = \
234	Amanda/Interactivity/email.pm \
235	Amanda/Interactivity/stdin.pm \
236	Amanda/Interactivity/tty.pm \
237	Amanda/Interactivity/tty_email.pm
238endif
239PM_FILES += $(AmandaInteractivity_DATA)
240EXTRA_DIST += $(AmandaInteractivity_DATA)
241
242if WANT_SERVER
243# PACKAGE: Amanda::Changer
244Amanda_DATA += Amanda/Changer.pm
245endif
246EXTRA_DIST += Amanda/Changer.pm
247
248if WANT_SERVER
249# PACKAGE: Amanda::Changer::*
250AmandaChangerdir = $(amperldir)/Amanda/Changer
251AmandaChanger_DATA = \
252	Amanda/Changer/aggregate.pm \
253	Amanda/Changer/compat.pm \
254	Amanda/Changer/disk.pm \
255	Amanda/Changer/multi.pm \
256	Amanda/Changer/null.pm \
257	Amanda/Changer/rait.pm \
258	Amanda/Changer/robot.pm \
259	Amanda/Changer/single.pm
260
261if WANT_NDMP
262AmandaChanger_DATA += Amanda/Changer/ndmp.pm
263endif
264PM_FILES += $(AmandaChanger_DATA)
265endif
266EXTRA_DIST += $(AmandaChanger_DATA)
267
268if WANT_SERVER
269# PACKAGE: Amanda::Curinfo
270Amanda_DATA += Amanda/Curinfo.pm
271endif
272EXTRA_DIST += Amanda/Curinfo.pm
273
274if WANT_SERVER
275# PACKAGE: Amanda::Curinfo::*
276AmandaCurinfodir = $(amperldir)/Amanda/Curinfo
277AmandaCurinfo_DATA = \
278	Amanda/Curinfo/Info.pm
279PM_FILES += $(AmandaCurinfo_DATA)
280endif
281EXTRA_DIST += $(AmandaCurinfo_DATA)
282
283if WANT_SERVER
284# PACKAGE: Amanda::Recovery::*
285AmandaRecoverydir = $(amperldir)/Amanda/Recovery
286AmandaRecovery_DATA = \
287	Amanda/Recovery/Clerk.pm \
288	Amanda/Recovery/Planner.pm \
289	Amanda/Recovery/Scan.pm
290PM_FILES += $(AmandaRecovery_DATA)
291endif
292EXTRA_DIST += $(AmandaRecovery_DATA)
293
294if WANT_SERVER
295# PACKAGE: Amanda::Taper::*
296AmandaTaperdir = $(amperldir)/Amanda/Taper
297AmandaTaper_DATA = \
298	Amanda/Taper/Controller.pm \
299	Amanda/Taper/Protocol.pm \
300	Amanda/Taper/Scan.pm \
301	Amanda/Taper/Scribe.pm \
302	Amanda/Taper/Worker.pm
303PM_FILES += $(AmandaTaper_DATA)
304endif
305EXTRA_DIST += $(AmandaTaper_DATA)
306
307if WANT_SERVER
308# PACKAGE: Amanda::Taper::Scan::*
309AmandaTaperScandir = $(amperldir)/Amanda/Taper/Scan
310AmandaTaperScan_DATA = \
311	Amanda/Taper/Scan/lexical.pm \
312	Amanda/Taper/Scan/oldest.pm \
313	Amanda/Taper/Scan/traditional.pm
314PM_FILES += $(AmandaTaperScan_DATA)
315endif
316EXTRA_DIST += $(AmandaTaperScan_DATA)
317
318if WANT_SERVER
319# PACKAGE: Amanda::DB::*
320Amanda_DBdir = $(Amandadir)/DB
321Amanda_DB_DATA =
322PM_FILES += $(Amanda_DB_DATA)
323endif
324
325if WANT_SERVER
326# PACKAGE: Amanda::DB::Catalog
327Amanda_DB_DATA += Amanda/DB/Catalog.pm
328endif
329EXTRA_DIST += Amanda/DB/Catalog.pm
330
331# PACKAGE: Amanda::Xfer
332libXferdir = $(amperldir)/auto/Amanda/Xfer
333libXfer_LTLIBRARIES = libXfer.la
334libXfer_la_SOURCES = Amanda/Xfer.c $(AMGLUE_SWG)
335libXfer_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
336libXfer_la_LIBADD = amglue/libamglue.la \
337	$(top_builddir)/xfer-src/libamxfer.la
338Amanda_DATA += Amanda/Xfer.pm
339MAINTAINERCLEANFILES += Amanda/Xfer.c Amanda/Xfer.pm
340EXTRA_DIST += Amanda/Xfer.swg Amanda/Xfer.pm Amanda/Xfer.pod
341
342if WANT_NDMP
343# PACKAGE: Amanda::NDMP
344libNDMPdir = $(amperldir)/auto/Amanda/NDMP
345libNDMP_LTLIBRARIES = libNDMP.la
346libNDMP_la_SOURCES = Amanda/NDMP.c $(AMGLUE_SWG)
347libNDMP_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
348libNDMP_la_LIBADD = amglue/libamglue.la \
349	$(top_builddir)/common-src/libamanda.la \
350	$(top_builddir)/ndmp-src/libndmlib.la
351Amanda_DATA += Amanda/NDMP.pm
352MAINTAINERCLEANFILES += Amanda/NDMP.c Amanda/NDMP.pm
353EXTRA_DIST += Amanda/NDMP.swg Amanda/NDMP.pm Amanda/NDMP.pod
354endif
355
356if WANT_SERVER
357# PACKAGE: Amanda::XferServer
358libXferServerdir = $(amperldir)/auto/Amanda/XferServer
359libXferServer_LTLIBRARIES = libXferServer.la
360libXferServer_la_SOURCES = Amanda/XferServer.c $(AMGLUE_SWG)
361libXferServer_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
362libXferServer_la_LIBADD = amglue/libamglue.la \
363	$(top_builddir)/server-src/libamserver.la
364Amanda_DATA += Amanda/XferServer.pm
365MAINTAINERCLEANFILES += Amanda/XferServer.c Amanda/XferServer.pm
366EXTRA_DIST += Amanda/XferServer.swg Amanda/XferServer.pm Amanda/XferServer.pod
367endif
368
369if WANT_SERVER
370# PACKAGE: Amanda::Report
371Amanda_DATA += Amanda/Report.pm
372EXTRA_DIST += Amanda/Report.pm
373endif
374
375if WANT_SERVER
376# PACKAGE: Amanda::Report::*
377AmandaReportdir = $(amperldir)/Amanda/Report
378AmandaReport_DATA = \
379	Amanda/Report/human.pm \
380	Amanda/Report/json.pm \
381	Amanda/Report/json_raw.pm \
382	Amanda/Report/postscript.pm \
383	Amanda/Report/xml.pm
384PM_FILES += $(AmandaReport_DATA)
385EXTRA_DIST += $(AmandaReport_DATA)
386endif
387
388# PACKAGE: Amanda::BigIntCompat
389Amanda_DATA += Amanda/BigIntCompat.pm
390EXTRA_DIST += Amanda/BigIntCompat.pm
391
392# PACKAGE: Amanda::Debug
393libDebugdir = $(amperldir)/auto/Amanda/Debug
394libDebug_LTLIBRARIES = libDebug.la
395libDebug_la_SOURCES = Amanda/Debug.c $(AMGLUE_SWG)
396libDebug_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
397libDebug_la_LIBADD = amglue/libamglue.la \
398	$(top_builddir)/common-src/libamanda.la
399Amanda_DATA += Amanda/Debug.pm
400EXTRA_DIST += Amanda/Debug.swg Amanda/Debug.pm Amanda/Debug.pod
401MAINTAINERCLEANFILES += Amanda/Debug.c Amanda/Debug.pm
402
403# PACKAGE: Amanda::Config
404libConfigdir = $(amperldir)/auto/Amanda/Config
405libConfig_LTLIBRARIES = libConfig.la
406libConfig_la_SOURCES = Amanda/Config.c $(AMGLUE_SWG)
407libConfig_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
408libConfig_la_LIBADD = amglue/libamglue.la \
409	$(top_builddir)/common-src/libamanda.la
410Amanda_DATA += Amanda/Config.pm
411EXTRA_DIST += Amanda/Config.swg Amanda/Config.pm Amanda/Config.pod
412MAINTAINERCLEANFILES += Amanda/Config.c Amanda/Config.pm
413
414# PACKAGE: Amanda::Config::*
415AmandaConfigdir = $(amperldir)/Amanda/Config
416AmandaConfig_DATA = Amanda/Config/FoldingHash.pm
417EXTRA_DIST += $(AmandaConfig_DATA)
418
419# PACKAGE: Amanda::Util
420libUtildir = $(amperldir)/auto/Amanda/Util
421libUtil_LTLIBRARIES = libUtil.la
422libUtil_la_SOURCES = Amanda/Util.c $(AMGLUE_SWG)
423libUtil_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
424libUtil_la_LIBADD = amglue/libamglue.la \
425	$(top_builddir)/common-src/libamanda.la
426Amanda_DATA += Amanda/Util.pm
427EXTRA_DIST += Amanda/Util.swg Amanda/Util.pm Amanda/Util.pod
428MAINTAINERCLEANFILES += Amanda/Util.c Amanda/Util.pm
429
430# PACKAGE: Amanda::Header
431libHeaderdir = $(amperldir)/auto/Amanda/Header
432libHeader_LTLIBRARIES = libHeader.la
433libHeader_la_SOURCES = Amanda/Header.c $(AMGLUE_SWG)
434libHeader_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
435libHeader_la_LIBADD = amglue/libamglue.la \
436	$(top_builddir)/common-src/libamanda.la
437Amanda_DATA += Amanda/Header.pm
438EXTRA_DIST += Amanda/Header.swg Amanda/Header.pm Amanda/Header.pod
439MAINTAINERCLEANFILES += Amanda/Header.c Amanda/Header.pm
440
441# PACKAGE: Amanda::Tests
442libTestsdir = $(amperldir)/auto/Amanda/Tests
443libTests_LTLIBRARIES = libTests.la
444libTests_la_SOURCES = Amanda/Tests.c $(AMGLUE_SWG)
445libTests_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
446libTests_la_LIBADD = amglue/libamglue.la \
447	$(top_builddir)/common-src/libamanda.la
448Amanda_DATA += Amanda/Tests.pm
449EXTRA_DIST += Amanda/Tests.swg Amanda/Tests.pm Amanda/Tests.pod
450MAINTAINERCLEANFILES += Amanda/Tests.c Amanda/Tests.pm
451
452# PACKAGE: Amanda::MainLoop
453libMainLoopdir = $(amperldir)/auto/Amanda/MainLoop
454libMainLoop_LTLIBRARIES = libMainLoop.la
455libMainLoop_la_SOURCES = Amanda/MainLoop.c $(AMGLUE_SWG)
456libMainLoop_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
457libMainLoop_la_LIBADD = amglue/libamglue.la \
458	$(top_builddir)/common-src/libamanda.la
459Amanda_DATA += Amanda/MainLoop.pm
460EXTRA_DIST += Amanda/MainLoop.swg Amanda/MainLoop.pm Amanda/MainLoop.pod
461MAINTAINERCLEANFILES += Amanda/MainLoop.c Amanda/MainLoop.pm
462
463# PACKAGE: Amanda::IPC::*
464AmandaIPCdir = $(amperldir)/Amanda/IPC
465AmandaIPC_DATA = Amanda/IPC/LineProtocol.pm
466PM_FILES += $(AmandaIPC_DATA)
467EXTRA_DIST += $(AmandaIPC_DATA)
468
469# PACKAGE: Amanda::IPC:Binary
470libIPCBinarydir = $(amperldir)/auto/Amanda/IPC/Binary
471libIPCBinary_LTLIBRARIES = libBinary.la
472libBinary_la_SOURCES = Amanda/IPC/Binary.c $(AMGLUE_SWG)
473libBinary_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
474libBinary_la_LIBADD = amglue/libamglue.la \
475	$(top_builddir)/common-src/libamanda.la
476AmandaIPC_DATA += Amanda/IPC/Binary.pm
477EXTRA_DIST += Amanda/IPC/Binary.swg Amanda/IPC/Binary.pm Amanda/IPC/Binary.pod
478MAINTAINERCLEANFILES += Amanda/IPC/Binary.c Amanda/IPC/Binary.pm
479
480# PACKAGE: Amanda::Paths
481Amanda_DATA += Amanda/Paths.pm
482EXTRA_DIST += Amanda/Paths.pm.in
483DISTCLEANFILES += Amanda/Paths.pm
484
485# PACKAGE: Amanda::Constants
486Amanda_DATA += Amanda/Constants.pm
487EXTRA_DIST += Amanda/Constants.pm.in
488DISTCLEANFILES += Amanda/Constants.pm
489
490# PACKAGE: Amanda::Script_App
491Amanda_DATA += Amanda/Script_App.pm
492EXTRA_DIST += Amanda/Script_App.pm
493
494# PACKAGE: Amanda::Extract
495Amanda_DATA += Amanda/Extract.pm
496EXTRA_DIST += Amanda/Extract.pm
497
498# PACKAGE: Amanda::Message
499Amanda_DATA += Amanda/Message.pm
500EXTRA_DIST += Amanda/Message.pm
501
502if WANT_SERVER
503# PACKAGE: Amanda::Holding
504Amanda_DATA += Amanda/Holding.pm
505endif
506EXTRA_DIST += Amanda/Holding.pm
507
508if WANT_CLIENT
509# PACKAGE: Amanda::Application
510libApplicationdir = $(amperldir)/auto/Amanda/Application
511libApplication_LTLIBRARIES = libApplication.la
512libApplication_la_SOURCES = Amanda/Application.c $(AMGLUE_SWG)
513libApplication_la_LDFLAGS = $(PERL_EXT_LDFLAGS)
514libApplication_la_LIBADD = amglue/libamglue.la \
515	$(top_builddir)/client-src/libamclient.la
516Amanda_DATA += Amanda/Application.pm
517MAINTAINERCLEANFILES += Amanda/Application.c Amanda/Application.pm
518endif
519EXTRA_DIST += Amanda/Application.swg Amanda/Application.pm Amanda/Application.pod
520
521# PACKAGE: Amanda::Script
522Amanda_DATA += Amanda/Script.pm
523EXTRA_DIST += Amanda/Script.pm
524
525if WANT_CLIENT
526# PACKAGE: Amanda::Application::*
527AmandaApplicationdir = $(amperldir)/Amanda/Application
528AmandaApplication_DATA = Amanda/Application/Zfs.pm
529PM_FILES += $(AmandaApplication_DATA)
530endif
531EXTRA_DIST += Amanda/Application/Zfs.pm
532
533# perl doesn't use the cyg prefix and it doesn't search in the bin
534# directory, dll must be copied to their modules directories.
535if WANT_CYGWIN_COPY_PERL_DLL
536amperldirauto="$(DESTDIR)$(amperldir)/auto/Amanda"
537install-data-hook:
538	@for cygdll in $(wildcard $(amperldirauto)/bin/cyg*.dll); do \
539	    destfname=`echo $$cygdll|sed 's!/bin/cyg\([^.]*\).dll!/\1/\1.dll!'`; \
540	   cp "$$cygdll" "$$destfname"; \
541	done
542endif
543
544# only syntax-check the .pm files if SYNTAX_CHECKS are enabled
545check-pm:
546	@MODULES_TO_CHECK="$(PM_FILES)"; \
547	if test -f $(top_builddir)/perl/.libs/libConfig.so -o -f $(top_builddir)/perl/libConfig.so; then \
548	    for perlobj in $$MODULES_TO_CHECK; do \
549		if test -f $$perlobj; then \
550		    $(PERL) $(CHECK_PERL_FLAGS) -I$(top_builddir)/perl -I$(top_builddir)/perl/.libs -I$(top_srcdir)/perl -c -T $$perlobj || exit 1; \
551		else \
552		    $(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; \
553		fi \
554	    done; \
555        fi
556if SYNTAX_CHECKS
557check-local: check-pm
558endif
559
560if WANT_MANDATORY_THREAD_CHECK
561install-data-local: thread-check
562else
563installcheck-local: thread-check
564endif
565
566if WANT_SERVER
567thread-check: libTests.la
568	$(PERL) -I$(builddir) -I$(builddir)/.libs -I$(srcdir) \
569			-MAmanda::Tests -e 'alarm(10); Amanda::Tests::try_threads' \
570	|| { echo "Perl cannot run extensions which use threads; consider linking perl" \
571		"with -pthread or compiling perl with threading enabled"; false; }
572else
573thread-check:
574	@echo "skipping thread check: server component not being built"
575endif
576