# 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 \
+ -I$(top_srcdir)/device-src \
+ -I$(top_srcdir)/xfer-src \
+ -I$(top_srcdir)/gnulib
+
+AM_CFLAGS = $(AMANDA_WARNING_CFLAGS)
+AM_LDFLAGS = $(AMANDA_STATIC_LDFLAGS) $(AS_NEEDED_FLAGS)
-lib_LTLIBRARIES = libamserver.la
-LIB_EXTENSION = la
+LINT=$(AMLINT)
+LINTFLAGS=$(AMLINTFLAGS)
-sbin_PROGRAMS = amadmin amcheck amflush \
- amgetconf amlabel amtape \
- amreport
+amlib_LTLIBRARIES = libamserver.la
-libexec_PROGRAMS = amindexd amlogroll amtrmidx \
+sbin_PROGRAMS = amadmin amcheck \
+ amflush
+
+amlibexec_PROGRAMS = amindexd amtrmidx \
amtrmlog driver dumper \
- planner taper amcleanupdisk \
- chunker
+ 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 = amcheckdb amcleanup amdump \
- amoverview amrmtape amtoc \
- amverify amverifyrun amstatus \
- amcrypt amaespipe
+sbin_SCRIPTS_SHELL = \
+ amcheckdb
-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)
+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)
+LDADD = ../common-src/libamanda.la \
+ libamserver.la \
+ ../device-src/libamdevice.la \
+ ../common-src/libamanda.la
-SUFFIXES = .sh .pl
+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
-.pl:
- cat $< > $@
- chmod a+x $@
- -test -z "$(PERL)" || $(PERL) -c $@
+libamserver_la_LDFLAGS= -release $(VERSION) $(AS_NEEDED_FLAGS)
+libamserver_la_LIBADD= ../device-src/libamdevice.la \
+ ../common-src/libamanda.la
-.sh:
- cat $< > $@
- chmod a+x $@
+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)
-
-amindexd_SOURCES = amindexd.c \
- disk_history.c disk_history.h \
- list_dir.c list_dir.h
+CLEANFILES += *.test.c
-amreport_SOURCES = reporter.c
+amindexd_CSRC = amindexd.c disk_history.c list_dir.c
+amindexd_SOURCES = disk_history.h list_dir.h $(amindexd_CSRC)
-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
-if !WANT_SSH_SECURITY
- @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
-endif
+ xfer-server.h
+
+lint:
+ @ for p in $(amlibexec_PROGRAMS) $(sbin_PROGRAMS); do \
+ p=`basename $$p $(EXEEXT)`; \
+ if [ $$p = "amindexd" ]; then \
+ s="$(amindexd_CSRC)"; \
+ else \
+ s=$$p.c; \
+ fi; \
+ f="$$s $(libamserver_la_SOURCES)"; \
+ (cd ../common-src; make listlibsrc); \
+ f="$$f "`cat ../common-src/listlibsrc.output`; \
+ echo $(LINT) $$f; \
+ $(LINT) $(LINTFLAGS) $(CPPFLAGS) $(DEFS) -I. -I$(top_builddir)/config \
+ $(INCLUDES) $$f; \
+ if [ $$? -ne 0 ]; then \
+ exit 1; \
+ fi; \
+ done; \
+ exit 0
+
+listlibsrc:
+ @ for p in $(libamserver_la_SOURCES); do \
+ listlibsrcs="$$listlibsrcs `pwd`/$$p"; \
+ done; \
+ echo $$listlibsrcs >listlibsrc.output
+
diskfile_SOURCES = diskfile.test.c
-conffile_SOURCES = conffile.test.c
infofile_SOURCES = infofile.test.c
%.test.c: $(srcdir)/%.c