1 # Makefile for Amanda library.
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
8 INCLUDES = -I$(top_srcdir)/gnulib
10 AM_CFLAGS = $(AMANDA_WARNING_CFLAGS)
11 AM_LDFLAGS = $(AMANDA_STATIC_LDFLAGS) $(AS_NEEDED_FLAGS)
13 amlib_LTLIBRARIES = libamanda.la
15 sbin_PROGRAMS = amservice
18 LINTFLAGS=$(AMLINTFLAGS)
20 libamanda_la_SOURCES = \
49 # version.c is generated; see below
50 nodist_libamanda_la_SOURCES = version.c
53 dest=$(sbindir) chown=root:setuid chmod=04750 \
58 libamanda_la_LIBADD = \
62 libamanda_la_SOURCES += amflock-posix.c
66 libamanda_la_SOURCES += amflock-flock.c
70 libamanda_la_SOURCES += amflock-lockf.c
73 if WANT_AMFLOCK_LNLOCK
74 libamanda_la_SOURCES += amflock-lnlock.c
79 libamanda_la_SOURCES += rsh-security.c
82 libamanda_la_SOURCES += ssh-security.c
85 libamanda_la_SOURCES += bsd-security.c
87 if WANT_BSDTCP_SECURITY
88 libamanda_la_SOURCES += bsdtcp-security.c
90 if WANT_BSDUDP_SECURITY
91 libamanda_la_SOURCES += bsdudp-security.c
94 libamanda_la_SOURCES += krb5-security.c
97 libamanda_la_SOURCES += local-security.c
99 libamanda_la_LDFLAGS = -release $(VERSION) $(AS_NEEDED_FLAGS)
134 EXTRA_PROGRAMS = genversion $(TEST_PROGS)
136 # Version-building steps:
138 # 1. configure builds svn-info.h, if svn info is available; this
139 # file is included in distribution tarballs
140 # 2. Makefile creates genversion.h with build-time information
141 # 3. Makefile builds genversion
142 # 4. Makefile runs genversion to create version.c
143 # 5. version.c is compiled into libamanda normally
145 genversion_SOURCES = genversion.c svn-info.h
146 genversion_LDADD = $(libamanda_la_LIBADD) \
149 genversion.h: $(top_builddir)/config.status
151 echo '#define CC "$(CC)"' > $@.new
152 echo '#define BUILT_DATE "'`date`'"' >> $@.new
153 echo '#define BUILT_MACH "$(target)"' >> $@.new
156 version.c: genversion$(EXEEXT)
158 ./genversion$(EXEEXT) > version.c
160 BUILT_SOURCES += genversion.h version.c
162 # these are used for testing only:
163 TEST_PROGS = file bsdsecurity
165 CLEANFILES += *.test.c
166 DISTCLEANFILES += version.c genversion genversion.h
168 # used for testing only
170 STANDARD_COMMON_STUFF_NOT_FILE = \
182 STANDARD_COMMON_STUFF = \
183 $(STANDARD_COMMON_STUFF_NOT_FILE) \
186 file_SOURCES = file.test.c
187 file_LDADD = $(libamanda_la_LIBADD) $(STANDARD_COMMON_STUFF_NOT_FILE)
189 bsdsecurity_SOURCES = bsd-security.test.c
190 bsdsecurity_LDADD = $(libamanda_a_LIBADD) \
203 # Convenience library (never installed) for 'make check'-based tests.
205 noinst_LTLIBRARIES = libtestutils.la
206 libtestutils_la_SOURCES = \
210 # automake-style tests
212 # automake-style tests
214 TESTS = amflock-test event-test amsemaphore-test quoting-test \
215 ipc-binary-test hexencode-test fileheader-test match-test
216 noinst_PROGRAMS = $(TESTS)
218 amflock_test_SOURCES = amflock-test.c
219 amflock_test_LDADD = libamanda.la libtestutils.la
221 event_test_SOURCES = event-test.c
222 event_test_LDADD = libamanda.la libtestutils.la
224 amsemaphore_test_SOURCES = amsemaphore-test.c
225 amsemaphore_test_LDADD = libamanda.la libtestutils.la
227 quoting_test_SOURCES = quoting-test.c
228 quoting_test_LDADD = libamanda.la libtestutils.la
230 ipc_binary_test_SOURCES = ipc-binary-test.c
231 ipc_binary_test_LDADD = libamanda.la libtestutils.la
233 hexencode_test_SOURCES = hexencode-test.c
234 hexencode_test_LDADD = libamanda.la libtestutils.la
236 fileheader_test_SOURCES = fileheader-test.c
237 fileheader_test_LDADD = libamanda.la libtestutils.la
239 match_test_SOURCES = match-test.c
240 match_test_LDADD = libamanda.la libtestutils.la
244 # divide scripts up both by language and destination directory
245 sbin_SCRIPTS_PERL = \
250 amlibexec_SCRIPTS_PERL =
252 sbin_SCRIPTS_SHELL = \
258 amlibexec_SCRIPTS_SHELL =
263 EXTRA_DIST += amanda-sh-lib.sh.in
265 SCRIPTS_PERL = $(sbin_SCRIPTS_PERL) $(amlibexec_SCRIPTS_PERL)
266 SCRIPTS_SHELL = $(sbin_SCRIPTS_SHELL) $(amlibexec_SCRIPTS_SHELL)
268 amlibexec_DATA = $(SCRIPTS_INCLUDE)
269 amlibexec_SCRIPTS = $(amlibexec_SCRIPTS_PERL) $(amlibexec_SCRIPTS_SHELL)
270 sbin_SCRIPTS = $(sbin_SCRIPTS_PERL) $(sbin_SCRIPTS_SHELL)
275 @echo $(LINT) $(libamanda_la_SOURCES)
276 @$(LINT) $(LINTFLAGS) $(CPPFLAGS) $(DEFS) -I. -I$(top_builddir)/config $(INCLUDES) $(libamanda_la_SOURCES)
277 @echo $(LINT) $(genversion_SOURCES)
278 @$(LINT) $(LINTFLAGS) $(CPPFLAGS) $(DEFS) -I. -I$(top_builddir)/config $(INCLUDES) $(genversion_SOURCES)
281 @ for p in $(libamanda_la_SOURCES) $(REGEXCSRC); do \
282 listlibsrcs="$$listlibsrcs `pwd`/$$p"; \
284 echo $$listlibsrcs >listlibsrc.output
286 %.test.c: $(srcdir)/%.c
287 echo '#define TEST' >$@
288 echo '#include "$<"' >>$@
291 if test `cd $(srcdir) && pwd` != `pwd`; then rm -f svn-info.h; fi
292 MAINTAINERCLEANFILES+=svn-info.h