Imported Upstream version 2.5.2p1
[debian/amanda] / client-src / Makefile.am
1 # Makefile for Amanda client programs.
2
3 INCLUDES =      -I$(top_builddir)/common-src \
4                 -I$(top_srcdir)/common-src   \
5                 -I$(top_srcdir)/amandad-src  \
6                 -I$(top_srcdir)/gnulib
7
8 LINT=@AMLINT@
9 LINTFLAGS=@AMLINTFLAGS@
10
11 lib_LTLIBRARIES =       libamclient.la
12 LIB_EXTENSION = la
13
14 libexec_PROGRAMS =      noop calcsize killpgrp rundump runtar selfcheck sendbackup sendsize versionsuffix
15
16 sbin_SCRIPTS =          @CLIENT_SCRIPTS_OPT@
17
18 libexec_SCRIPTS =       patch-system
19
20 if WANT_SAMBA
21 samba_sources = findpass.c
22 endif
23
24 if WANT_RUNTIME_PSEUDO_RELOC
25 AM_LDFLAGS = -Wl,-enable-runtime-pseudo-reloc
26 endif
27
28 libamclient_la_SOURCES= amandates.c             getfsent.c      \
29                         unctime.c               client_util.c   \
30                         $(samba_sources)
31
32 libamclient_la_LDFLAGS = -release $(VERSION)
33
34 ###
35 # Because libamanda includes routines (e.g. regex) provided by some system
36 # libraries, and because of the way libtool sets up the command line, we
37 # need to list libamanda twice here, first to override the system library
38 # routines, and second to pick up any references in the other libraries.
39 ###
40
41 LDADD = ../common-src/libamanda.$(LIB_EXTENSION) \
42         libamclient.$(LIB_EXTENSION) \
43         ../amandad-src/libamandad.$(LIB_EXTENSION) \
44         ../common-src/libamanda.$(LIB_EXTENSION) \
45         ../gnulib/libgnu.$(LIB_EXTENSION)
46
47 SUFFIXES =              .sh .pl
48
49 .pl:
50                         cat $< > $@
51                         chmod a+x $@
52                         -test -z "$(PERL)" || $(PERL) -c $@
53
54 .sh:
55                         cat $< > $@
56                         chmod a+x $@
57
58 # these are used for testing only:
59 TEST_PROGS = getfsent
60
61 EXTRA_PROGRAMS =        $(TEST_PROGS)
62
63 CLEANFILES = *.test.c patch-system
64
65 EXTRA_SCRIPTS =         amhpfixdevs             amsinixfixdevs
66
67 DISTCLEANFILES =        $(EXTRA_SCRIPTS)
68
69 EXTRA_DIST =            amhpfixdevs.sh          amsinixfixdevs.sh
70
71 sendbackup_SOURCES =    sendbackup.c            sendbackup.h      \
72                         sendbackup-dump.c       sendbackup-gnutar.c
73
74 noinst_HEADERS  =       amandates.h     getfsent.h      \
75                         findpass.h      client_util.h
76                         
77
78 install-exec-hook:
79         @list="$(sbin_SCRIPTS)"; \
80         for p in $$list; do \
81                 pa=$(DESTDIR)$(sbindir)/`echo $$p|sed '$(transform)'`; \
82                 echo chown $(BINARY_OWNER) $$pa; \
83                 chown $(BINARY_OWNER) $$pa; \
84                 echo chgrp $(SETUID_GROUP) $$pa; \
85                 chgrp $(SETUID_GROUP) $$pa; \
86         done
87         @list="$(libexec_PROGRAMS) $(libexec_SCRIPTS)"; \
88         for p in $$list; do \
89                 pa=$(DESTDIR)$(libexecdir)/`echo $$p|sed '$(transform)'`; \
90                 echo chown $(BINARY_OWNER) $$pa; \
91                 chown $(BINARY_OWNER) $$pa; \
92                 echo chgrp $(SETUID_GROUP) $$pa; \
93                 chgrp $(SETUID_GROUP) $$pa; \
94         done
95 if WANT_SETUID_CLIENT
96         @list="calcsize killpgrp rundump runtar"; \
97         for p in $$list; do \
98                 if echo "$(libexec_PROGRAMS)" | grep $$p >/dev/null 2>&1; then \
99                         pa=$(DESTDIR)$(libexecdir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
100                         echo chown root $$pa; \
101                         chown root $$pa; \
102                         echo chmod u+s,o-rwx $$pa; \
103                         chmod u+s,o-rwx $$pa; \
104                 else true; \
105                 fi; \
106         done
107 endif
108
109 lint:
110         @ for p in $(libexec_PROGRAMS); do                                      \
111                 f="$$p.c $(libamclient_la_SOURCES)";                            \
112                 (cd ../common-src; make listlibsrc);                            \
113                 f="$$f "`cat ../common-src/listlibsrc.output`;                  \
114                 echo $(LINT) $$f;                                               \
115                 $(LINT) $(LINTFLAGS) $(CPPFLAGS) $(DEFS) -I. -I../config        \
116                     $(INCLUDES) $$f;                                            \
117                 if [ $$? -ne 0 ]; then                                          \
118                     exit 1;                                                     \
119                 fi;                                                             \
120         done;                                                                   \
121         exit 0
122
123 getfsent_SOURCES = getfsent.test.c
124
125 %.test.c: $(srcdir)/%.c
126         echo '#define TEST' >$@
127         echo '#include "$<"' >>$@