68b48b5d587d455df9215dc26a9e0178fbb8976b
[debian/amanda] / tape-src / Makefile.am
1 # Makefile for Amanda tape library.
2
3 INCLUDES =      -I$(top_builddir)/common-src \
4                 -I$(top_srcdir)/common-src   \
5                 -I$(top_srcdir)/gnulib
6
7 LINT=@AMLINT@
8 LINTFLAGS=@AMLINTFLAGS@
9
10 lib_LTLIBRARIES =       libamtape.la
11 LIB_EXTENSION = la
12
13 sbin_PROGRAMS=          ammt amdd amtapetype
14
15 libamtape_la_SOURCES =  output-file.c \
16                         output-null.c \
17                         output-rait.c \
18                         output-tape.c \
19                         tapeio.c
20
21 libamtape_la_LDFLAGS =  -release $(VERSION)
22
23 ###
24 # Because libamanda includes routines (e.g. regex) provided by some system
25 # libraries, and because of the way libtool sets up the command line, we
26 # need to list libamanda twice here, first to override the system library
27 # routines, and second to pick up any references in the other libraries.
28 ###
29
30 LDADD = ../common-src/libamanda.$(LIB_EXTENSION) \
31         libamtape.$(LIB_EXTENSION) \
32         ../common-src/libamanda.$(LIB_EXTENSION)
33
34 # used for testing only
35
36 TEST_PROGS =            amtapeio
37
38 EXTRA_PROGRAMS =        $(TEST_PROGS)
39
40 CLEANFILES = *.test.c
41
42 amtapetype_SOURCES = tapetype.c
43
44 noinst_HEADERS =        \
45                         output-file.h \
46                         output-null.h \
47                         output-rait.h \
48                         output-tape.h \
49                         tapeio.h
50
51 install-exec-hook:
52         @list="$(sbin_PROGRAMS) $(sbin_SCRIPTS)"; \
53         for p in $$list; do \
54                 pa=$(DESTDIR)$(sbindir)/`echo $$p|sed '$(transform)'`; \
55                 echo chown $(BINARY_OWNER) $$pa; \
56                 chown $(BINARY_OWNER) $$pa; \
57                 echo chgrp $(SETUID_GROUP) $$pa; \
58                 chgrp $(SETUID_GROUP) $$pa; \
59         done
60         @list="$(libexec_PROGRAMS) $(libexec_SCRIPTS)"; \
61         for p in $$list; do \
62                 pa=$(DESTDIR)$(libexecdir)/`echo $$p|sed '$(transform)'`; \
63                 echo chown $(BINARY_OWNER) $$pa; \
64                 chown $(BINARY_OWNER) $$pa; \
65                 echo chgrp $(SETUID_GROUP) $$pa; \
66                 chgrp $(SETUID_GROUP) $$pa; \
67         done
68
69 amtapeio_SOURCES = amtapeio.test.c
70 amtapeio_LDADD =        ../common-src/libamanda.$(LIB_EXTENSION) \
71                         libamtape.$(LIB_EXTENSION) \
72                         ../common-src/libamanda.$(LIB_EXTENSION)
73
74 amtapeio.test.c: $(srcdir)/tapeio.c
75         echo '#define TEST' >$@
76         echo '#include "$<"' >>$@
77
78 %.test.c: $(srcdir)/%.c
79         echo '#define TEST' >$@
80         echo '#include "$<"' >>$@
81
82 tapetype:
83         @echo "Use amtapetype instead"
84
85 lint:
86         @ for p in $(sbin_PROGRAMS); do                                         \
87                 if [ $$p = "amtapetype" ]; then                                 \
88                         s="$(amtapetype_SOURCES)";                              \
89                 else                                                            \
90                         s=$$p.c;                                                \
91                 fi;                                                             \
92                 f="$$s $(libamandad_la_SOURCES)";                               \
93                 f="$$f "`(cd ../common-src; make listlibsrc 2>&1 > /dev/null)`; \
94                 (cd ../common-src; make listlibsrc);                            \
95                 f="$$f "`cat ../common-src/listlibsrc.output`;                  \
96                 echo $(LINT) $$f;                                               \
97                 $(LINT) $(LINTFLAGS) $(CPPFLAGS) $(DEFS) -I. -I../config        \
98                     $(INCLUDES) $$f;                                            \
99                 if [ $$? -ne 0 ]; then                                          \
100                     exit 1;                                                     \
101                 fi;                                                             \
102         done;                                                                   \
103         exit 0
104
105 listlibsrc:
106         @ for p in $(libamtape_la_SOURCES); do  \
107                 listlibsrcs="$$listlibsrcs `pwd`/$$p";          \
108         done;                                                   \
109         echo $$listlibsrcs > listlibsrc.output