# Makefile for Amanda client programs.
-INCLUDES = -I$(top_srcdir)/common-src
+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
-lib_LTLIBRARIES = libamclient.la
-LIB_EXTENSION = la
+INCLUDES = -I$(top_builddir)/common-src \
+ -I$(top_srcdir)/common-src \
+ -I$(top_srcdir)/amandad-src \
+ -I$(top_srcdir)/gnulib
-libexec_PROGRAMS = amandad calcsize killpgrp rundump runtar amqde selfcheck sendbackup sendsize versionsuffix
+AM_CFLAGS = $(AMANDA_WARNING_CFLAGS)
+AM_LDFLAGS = $(AMANDA_STATIC_LDFLAGS) $(AS_NEEDED_FLAGS)
-sbin_SCRIPTS = @CLIENT_SCRIPTS_OPT@
+LINT=$(AMLINT)
+LINTFLAGS=$(AMLINTFLAGS)
-libexec_SCRIPTS = patch-system
+amlib_LTLIBRARIES = libamclient.la
-if WANT_SAMBA
-samba_sources = findpass.c
-endif
+amlibexec_PROGRAMS = noop calcsize killpgrp rundump runtar selfcheck sendbackup sendsize
-if WANT_RUNTIME_PSEUDO_RELOC
-AM_LDFLAGS = -Wl,-enable-runtime-pseudo-reloc
-endif
+amlibexec_SCRIPTS_SHELL = patch-system
+
+sbin_SCRIPTS_PERL = amdump_client
+
+SCRIPTS_PERL = $(sbin_SCRIPTS_PERL)
+SCRIPTS_SHELL = $(amlibexec_SCRIPTS_SHELL)
+sbin_SCRIPTS = $(sbin_SCRIPTS_PERL)
+amlibexec_SCRIPTS = $(amlibexec_SCRIPTS_SHELL)
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_LDFLAGS = -release $(VERSION) $(AS_NEEDED_FLAGS)
+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) \
- ../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
+CLEANFILES += *.test.c
-EXTRA_SCRIPTS = amhpfixdevs amsinixfixdevs
-DISTCLEANFILES = $(EXTRA_SCRIPTS)
-
-EXTRA_DIST = amhpfixdevs.sh amsinixfixdevs.sh \
- amandad-krb4.c sendbackup-krb4.c \
- sendbackup-krb4.h
-
-sendbackup_SOURCES = sendbackup.c sendbackup.h \
+sendbackup_SOURCES = sendbackup.c sendbackup.h \
sendbackup-dump.c sendbackup-gnutar.c
-noinst_HEADERS = amandates.h getfsent.h findpass.h \
- client_util.h
-
-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
+noinst_HEADERS = amandates.h getfsent.h \
+ findpass.h client_util.h
+
if WANT_SETUID_CLIENT
- @list="calcsize killpgrp rundump runtar amqde"; \
- 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:setuid 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