57363aefea9b2917d0e62e69a83e830730ff7490
[debian/amanda] / server-src / Makefile.am
1 # Makefile for Amanda server programs.
2
3 include $(top_srcdir)/config/automake/vars.am
4 include $(top_srcdir)/config/automake/scripts.am
5 include $(top_srcdir)/config/automake/installperms.am
6 include $(top_srcdir)/config/automake/precompile.am
7
8 INCLUDES =      -I$(top_builddir)/common-src \
9                 -I$(top_srcdir)/common-src   \
10                 -I$(top_srcdir)/restore-src  \
11                 -I$(top_srcdir)/amandad-src  \
12                 -I$(top_srcdir)/device-src   \
13                 -I$(top_srcdir)/gnulib
14
15 AM_CFLAGS = $(AMANDA_WARNING_CFLAGS)
16 AM_LDFLAGS = $(AMANDA_STATIC_LDFLAGS)
17
18 LINT=$(AMLINT)
19 LINTFLAGS=$(AMLINTFLAGS)
20
21 amlib_LTLIBRARIES =     libamserver.la
22
23 sbin_PROGRAMS =         amadmin         amcheck         \
24                         amflush         amlabel         \
25                         amservice       amtape          \
26                         amreport
27
28 noinst_PROGRAMS = taper_source_test
29
30 amlibexec_PROGRAMS =    amindexd        amlogroll       amtrmidx        \
31                         amtrmlog        driver          dumper          \
32                         planner         taper           amcleanupdisk   \
33                         chunker
34
35 # Exclude scripts which depend on perl extension modules from the syntax checks
36 CHECK_PERL = \
37             amaddclient \
38             amoverview \
39             amserverconfig \
40             amtoc \
41             amdevcheck \
42             amcheckdump \
43             amcleanup \
44             amvault \
45             amstatus
46 SCRIPTS_PERL = $(CHECK_PERL)
47 SCRIPTS_SHELL = \
48             amcheckdb \
49             amdump \
50             amrmtape
51
52 sbin_SCRIPTS = $(SCRIPTS_PERL) $(SCRIPTS_SHELL)
53
54 INSTALLPERMS_exec = \
55         dest=$(sbindir) chown=amanda chmod= \
56                 $(sbin_PROGRAMS) \
57         chown=root chmod=04750 \
58                 amcheck amservice \
59         dest=$(amlibexecdir) chown=amanda chmod= \
60                 $(amlibexec_PROGRAMS) \
61         chown=root chmod=04750 \
62                 dumper planner
63
64 INSTALLPERMS_data = \
65         dest=$(sbindir) chown=amanda chmod= \
66                 $(sbin_SCRIPTS) \
67         dest=$(amlibexecdir) chown=amanda chmod= \
68                 $(amlibexec_SCRIPTS)
69
70 ###
71 # Because libamanda includes routines (e.g. regex) provided by some system
72 # libraries, and because of the way libtool sets up the command line, we
73 # need to list libamanda twice here, first to override the system library
74 # routines, and second to pick up any references in the other libraries.
75 ###
76
77 LDADD = ../common-src/libamanda.la   \
78         libamserver.la               \
79         ../device-src/libamdevice.la     \
80         ../common-src/libamanda.la   \
81         $(READLINE_LIBS)
82
83 libamserver_la_SOURCES= amindex.c       changer.c                       \
84                         diskfile.c      driverio.c      cmdline.c  \
85                         holding.c       infofile.c      logfile.c       \
86                         tapefile.c      find.c          server_util.c   \
87                         taperscan.c
88
89 libamserver_la_LDFLAGS= -release $(VERSION)
90 libamserver_la_LIBADD= ../device-src/libamdevice.la \
91                        ../common-src/libamanda.la
92
93 taper_source_test_SOURCES = taper-source-test.c \
94                         taper-source.c \
95                         taper-file-source.c \
96                         taper-port-source.c \
97                         taper-disk-port-source.c \
98                         taper-mem-port-source.c
99
100 taper_SOURCES =         taper.c \
101                         taper-source.c \
102                         taper-file-source.c \
103                         taper-port-source.c \
104                         taper-disk-port-source.c \
105                         taper-mem-port-source.c
106
107 taper_LDADD = $(LDADD) \
108         ../amandad-src/libamandad.la
109
110 taper_source_test_LDADD = $(LDADD) \
111         ../amandad-src/libamandad.la
112
113 amindexd_LDADD = $(LDADD) \
114         ../amandad-src/libamandad.la
115
116 # there are used for testing only:
117 TEST_PROGS = diskfile infofile
118
119 EXTRA_PROGRAMS =        $(TEST_PROGS)
120
121 CLEANFILES += *.test.c
122
123 amindexd_CSRC =         amindexd.c      disk_history.c  list_dir.c
124 amindexd_SOURCES =      disk_history.h  list_dir.h      $(amindexd_CSRC)
125
126 amreport_SOURCES =      reporter.c
127
128 noinst_HEADERS =        amindex.h       changer.h       cmdline.h       \
129                         diskfile.h      driverio.h      \
130                         holding.h       infofile.h      logfile.h       \
131                         tapefile.h      find.h          server_util.h   \
132                         taperscan.h taper-disk-port-source.h \
133                         taper-mem-port-source.h  taper-file-source.h \
134                         taper-port-source.h taper-source.h
135
136 lint:
137         @ for p in $(amlibexec_PROGRAMS) $(sbin_PROGRAMS); do                   \
138                 p=`basename $$p $(EXEEXT)`;                                     \
139                 if [ $$p = "amindexd" ]; then                                   \
140                         s="$(amindexd_CSRC)";                                   \
141                 elif [ $$p = "amreport" ]; then                                 \
142                         s="$(amreport_SOURCES)";                                \
143                 else                                                            \
144                         s=$$p.c;                                                \
145                 fi;                                                             \
146                 f="$$s $(libamserver_la_SOURCES)";                              \
147                 (cd ../common-src; make listlibsrc);                            \
148                 f="$$f "`cat ../common-src/listlibsrc.output`;                  \
149                 echo $(LINT) $$f;                                               \
150                 $(LINT) $(LINTFLAGS) $(CPPFLAGS) $(DEFS) -I. -I$(top_builddir)/config   \
151                     $(INCLUDES) $$f;                                            \
152                 if [ $$? -ne 0 ]; then                                          \
153                     exit 1;                                                     \
154                 fi;                                                             \
155         done;                                                                   \
156         exit 0
157
158 listlibsrc:
159         @ for p in $(libamserver_la_SOURCES); do                \
160                 listlibsrcs="$$listlibsrcs `pwd`/$$p";          \
161         done;                                                   \
162         echo $$listlibsrcs >listlibsrc.output
163
164
165 diskfile_SOURCES = diskfile.test.c
166 infofile_SOURCES = infofile.test.c
167
168 %.test.c: $(srcdir)/%.c
169         echo '#define TEST' >$@
170         echo '#include "$<"' >>$@