# Makefile for Amanda server programs.
+include $(top_srcdir)/config/automake/vars.am
+include $(top_srcdir)/config/automake/scripts.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)/restore-src \
- -I$(top_srcdir)/tape-src \
- -I$(top_srcdir)/amandad-src
-
-LINT=@AMLINT@
-LINTFLAGS=@AMLINTFLAGS@
+ -I$(top_srcdir)/amandad-src \
+ -I$(top_srcdir)/device-src \
+ -I$(top_srcdir)/xfer-src \
+ -I$(top_srcdir)/gnulib
-lib_LTLIBRARIES = libamserver.la
-LIB_EXTENSION = la
+AM_CFLAGS = $(AMANDA_WARNING_CFLAGS)
+AM_LDFLAGS = $(AMANDA_STATIC_LDFLAGS) $(AS_NEEDED_FLAGS)
-sbin_PROGRAMS = amadmin amcheck amflush \
- amgetconf amlabel amtape \
- amreport
+LINT=$(AMLINT)
+LINTFLAGS=$(AMLINTFLAGS)
-libexec_PROGRAMS = amindexd amlogroll amtrmidx \
- amtrmlog driver dumper \
- planner taper amcleanupdisk \
- chunker
+amlib_LTLIBRARIES = libamserver.la
-sbin_SCRIPTS = amcheckdb amcleanup amdump \
- amoverview amrmtape amtoc \
- amverify amverifyrun amstatus \
- amcrypt amaespipe amcrypt-ossl \
- amcrypt-ossl-asym
+sbin_PROGRAMS = amadmin amcheck \
+ amflush
-libamserver_la_SOURCES= amindex.c changer.c \
- conffile.c diskfile.c driverio.c \
- holding.c infofile.c logfile.c \
- tapefile.c find.c server_util.c \
- taperscan.c
-
-libamserver_la_LDFLAGS= -release $(VERSION)
+amlibexec_PROGRAMS = amindexd amtrmidx \
+ amtrmlog driver dumper \
+ planner chunker
+
+amlibexec_SCRIPTS_PERL = \
+ amlogroll \
+ amdumpd \
+ taper \
+ amcheck-device
+
+sbin_SCRIPTS_PERL = \
+ amaddclient \
+ amoverview \
+ amserverconfig \
+ amtoc \
+ amcheckdump \
+ amcleanup \
+ amcleanupdisk \
+ amrmtape \
+ amlabel \
+ amreport \
+ amtape \
+ amvault \
+ amdump \
+ amstatus
+if WANT_RESTORE
+amlibexec_SCRIPTS_PERL += \
+ amidxtaped
+sbin_SCRIPTS_PERL += \
+ amfetchdump \
+ amrestore
+endif
+
+sbin_SCRIPTS_SHELL = \
+ amcheckdb
+
+
+SCRIPTS_PERL = $(sbin_SCRIPTS_PERL) $(amlibexec_SCRIPTS_PERL)
+SCRIPTS_SHELL = $(sbin_SCRIPTS_SHELL) $(amlibexec_SCRIPTS_SHELL)
+sbin_SCRIPTS = $(sbin_SCRIPTS_PERL) $(sbin_SCRIPTS_SHELL)
+amlibexec_SCRIPTS = $(amlibexec_SCRIPTS_PERL) $(amlibexec_SCRIPTS_SHELL)
+
+INSTALLPERMS_exec = \
+ dest=$(sbindir) chown=root:setuid chmod=04750 \
+ amcheck \
+ dest=$(amlibexecdir) \
+ dumper planner
###
# Because libamanda includes routines (e.g. regex) provided by some system
# routines, and second to pick up any references in the other libraries.
###
-LDADD = ../common-src/libamanda.$(LIB_EXTENSION) \
- libamserver.$(LIB_EXTENSION) \
- ../tape-src/libamtape.$(LIB_EXTENSION) \
- ../common-src/libamanda.$(LIB_EXTENSION) \
- ../tape-src/libamtape.$(LIB_EXTENSION) \
- ../common-src/libamanda.$(LIB_EXTENSION) \
- $(READLINE_LIBS)
-
-amindexd_LDADD = ../common-src/libamanda.$(LIB_EXTENSION) \
- libamserver.$(LIB_EXTENSION) \
- ../amandad-src/libamandad.$(LIB_EXTENSION) \
- ../tape-src/libamtape.$(LIB_EXTENSION) \
- ../common-src/libamanda.$(LIB_EXTENSION) \
- ../tape-src/libamtape.$(LIB_EXTENSION) \
- ../common-src/libamanda.$(LIB_EXTENSION)
-
-SUFFIXES = .sh .pl
-
-.pl:
- cat $< > $@
- chmod a+x $@
- -test -z "$(PERL)" || $(PERL) -c $@
-
-.sh:
- cat $< > $@
- chmod a+x $@
+LDADD = ../common-src/libamanda.la \
+ libamserver.la \
+ ../device-src/libamdevice.la \
+ ../common-src/libamanda.la
+
+libamserver_la_SOURCES= amindex.c \
+ diskfile.c driverio.c cmdline.c \
+ holding.c infofile.c logfile.c \
+ tapefile.c find.c server_util.c \
+ xfer-source-holding.c
+
+libamserver_la_LDFLAGS= -release $(VERSION) $(AS_NEEDED_FLAGS)
+libamserver_la_LIBADD= ../device-src/libamdevice.la \
+ ../common-src/libamanda.la
+
+amindexd_LDADD = $(LDADD) \
+ ../amandad-src/libamandad.la
# there are used for testing only:
-TEST_PROGS = diskfile conffile infofile
+TEST_PROGS = diskfile infofile
EXTRA_PROGRAMS = $(TEST_PROGS)
-CLEANFILES = *.test.c $(sbin_SCRIPTS)
+CLEANFILES += *.test.c
amindexd_CSRC = amindexd.c disk_history.c list_dir.c
amindexd_SOURCES = disk_history.h list_dir.h $(amindexd_CSRC)
-amreport_SOURCES = reporter.c
-
-amgetconf_SOURCES = getconf.c
-
-noinst_HEADERS = amindex.h changer.h \
- conffile.h diskfile.h driverio.h \
+noinst_HEADERS = amindex.h cmdline.h \
+ diskfile.h driverio.h \
holding.h infofile.h logfile.h \
tapefile.h find.h server_util.h \
- taperscan.h
-
-install-exec-hook:
- @list="$(sbin_PROGRAMS) $(sbin_SCRIPTS)"; \
- for p in $$list; do \
- pa=$(DESTDIR)$(sbindir)/`echo $$p|sed '$(transform)'`; \
- echo chown $(BINARY_OWNER) $$pa; \
- chown $(BINARY_OWNER) $$pa; \
- echo chgrp $(SETUID_GROUP) $$pa; \
- chgrp $(SETUID_GROUP) $$pa; \
- done
- @list="$(libexec_PROGRAMS) $(libexec_SCRIPTS)"; \
- for p in $$list; do \
- pa=$(DESTDIR)$(libexecdir)/`echo $$p|sed '$(transform)'`; \
- echo chown $(BINARY_OWNER) $$pa; \
- chown $(BINARY_OWNER) $$pa; \
- echo chgrp $(SETUID_GROUP) $$pa; \
- chgrp $(SETUID_GROUP) $$pa; \
- done
- @list="amcheck"; \
- for p in $$list; do \
- if echo "$(sbin_PROGRAMS)" | grep $$p >/dev/null 2>&1; then \
- pa=$(DESTDIR)$(sbindir)/`echo $$p|sed '$(transform)'`; \
- echo chown root $$pa; \
- chown root $$pa; \
- echo chmod u+s,o-rwx $$pa; \
- chmod u+s,o-rwx $$pa; \
- else true; \
- fi; \
- done
-## ##
-## enterprise version will install dumper/planner suid ##
-## ##
-
- @list="dumper planner"; \
- for p in $$list; do \
- if echo "$(libexec_PROGRAMS)" | grep $$p >/dev/null 2>&1; then \
- pa=$(DESTDIR)$(libexecdir)/`echo $$p|sed '$(transform)'`; \
- echo chown root $$pa; \
- chown root $$pa; \
- echo chmod u+s,o-rwx $$pa; \
- chmod u+s,o-rwx $$pa; \
- else true; \
- fi; \
- done
+ xfer-server.h
lint:
- @ for p in $(libexec_PROGRAMS) $(sbin_PROGRAMS); do \
+ @ for p in $(amlibexec_PROGRAMS) $(sbin_PROGRAMS); do \
+ p=`basename $$p $(EXEEXT)`; \
if [ $$p = "amindexd" ]; then \
s="$(amindexd_CSRC)"; \
- elif [ $$p = "amreport" ]; then \
- s="$(amreport_SOURCES)"; \
- elif [ $$p = "amgetconf" ]; then \
- s="$(getconf_SOURCES)"; \
else \
s=$$p.c; \
fi; \
f="$$s $(libamserver_la_SOURCES)"; \
(cd ../common-src; make listlibsrc); \
f="$$f "`cat ../common-src/listlibsrc.output`; \
- (cd ../tape-src; make listlibsrc); \
- f="$$f "`cat ../tape-src/listlibsrc.output`; \
echo $(LINT) $$f; \
- $(LINT) $(LINTFLAGS) $(CPPFLAGS) $(DEFS) -I. -I../config \
+ $(LINT) $(LINTFLAGS) $(CPPFLAGS) $(DEFS) -I. -I$(top_builddir)/config \
$(INCLUDES) $$f; \
if [ $$? -ne 0 ]; then \
exit 1; \
diskfile_SOURCES = diskfile.test.c
-conffile_SOURCES = conffile.test.c
infofile_SOURCES = infofile.test.c
%.test.c: $(srcdir)/%.c