# Makefile for Amanda client 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)/common-src \
+ -I$(top_srcdir)/amandad-src \
+ -I$(top_srcdir)/gnulib
-lib_LTLIBRARIES = libamclient.la
-LIB_EXTENSION = la
+AM_CFLAGS = $(AMANDA_WARNING_CFLAGS)
+AM_LDFLAGS = $(AMANDA_STATIC_LDFLAGS)
-libexec_PROGRAMS = amandad noop calcsize killpgrp rundump runtar selfcheck sendbackup sendsize versionsuffix
+LINT=$(AMLINT)
+LINTFLAGS=$(AMLINTFLAGS)
-sbin_SCRIPTS = @CLIENT_SCRIPTS_OPT@
+amlib_LTLIBRARIES = libamclient.la
-libexec_SCRIPTS = patch-system
+amlibexec_PROGRAMS = noop calcsize killpgrp rundump runtar selfcheck sendbackup sendsize versionsuffix
-if WANT_SAMBA
-samba_sources = findpass.c
-endif
+amlibexec_SCRIPTS = patch-system
-if WANT_RUNTIME_PSEUDO_RELOC
-AM_LDFLAGS = -Wl,-enable-runtime-pseudo-reloc
-endif
+CHECK_PERL = $(sbin_SCRIPTS)
+SCRIPTS_PERL = $(CHECK_PERL)
+SCRIPTS_SHELL = $(amlibexec_SCRIPTS)
libamclient_la_SOURCES= amandates.c getfsent.c \
- unctime.c client_util.c \
- $(samba_sources)
+ unctime.c client_util.c
+if WANT_SAMBA
+libamclient_la_SOURCES += findpass.c
+endif
libamclient_la_LDFLAGS = -release $(VERSION)
+libamclient_la_LIBADD = ../common-src/libamanda.la
###
# 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) \
- libamclient.$(LIB_EXTENSION)
-if WANT_SERVER
-LDADD += ../tape-src/libamtape.$(LIB_EXTENSION)
-endif
-LDADD += ../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 \
+ libamclient.la \
+ ../amandad-src/libamandad.la \
+ ../common-src/libamanda.la \
+ ../gnulib/libgnu.la
# these are used for testing only:
TEST_PROGS = getfsent
EXTRA_PROGRAMS = $(TEST_PROGS)
-CLEANFILES = *.test.c patch-system
-
-EXTRA_SCRIPTS = amhpfixdevs amsinixfixdevs
+CLEANFILES += *.test.c
-DISTCLEANFILES = $(EXTRA_SCRIPTS)
-EXTRA_DIST = amhpfixdevs.sh amsinixfixdevs.sh
-
-sendbackup_SOURCES = sendbackup.c sendbackup.h \
+sendbackup_SOURCES = sendbackup.c sendbackup.h \
sendbackup-dump.c sendbackup-gnutar.c
-noinst_HEADERS = amandad.h amandates.h getfsent.h \
+noinst_HEADERS = amandates.h getfsent.h \
findpass.h client_util.h
+
+INSTALLPERMS_exec = chown=amanda \
+ dest=$(amlibexecdir) $(amlibexec_PROGRAMS)
+
+INSTALLPERMS_data = chown=amanda \
+ dest=$(sbindir) $(sbin_SCRIPTS) \
+ dest=$(amlibexecdir) $(amlibexec_SCRIPTS)
-install-exec-hook:
- @list="$(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
if WANT_SETUID_CLIENT
- @list="calcsize killpgrp rundump runtar"; \
- for p in $$list; do \
- if echo "$(libexec_PROGRAMS)" | grep $$p >/dev/null 2>&1; then \
- pa=$(DESTDIR)$(libexecdir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
- echo chown root $$pa; \
- chown root $$pa; \
- echo chmod u+s,o-rwx $$pa; \
- chmod u+s,o-rwx $$pa; \
- else true; \
- fi; \
- done
+INSTALLPERMS_exec += dest=$(amlibexecdir) chown=root chmod=04750 \
+ calcsize killpgrp rundump runtar
endif
+lint:
+ @ for p in $(amlibexec_PROGRAMS); do \
+ p=`basename $$p $(EXEEXT)`; \
+ f="$$p.c $(libamclient_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
+
getfsent_SOURCES = getfsent.test.c
%.test.c: $(srcdir)/%.c