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)
13 amlib_LTLIBRARIES = libamanda.la
16 LINTFLAGS=$(AMLINTFLAGS)
18 libamanda_la_SOURCES = \
47 # version.c is generated; see below
48 nodist_libamanda_la_SOURCES = version.c
50 libamanda_la_LIBADD = \
54 libamanda_la_SOURCES += amflock-posix.c
58 libamanda_la_SOURCES += amflock-flock.c
62 libamanda_la_SOURCES += amflock-lockf.c
65 if WANT_AMFLOCK_LNLOCK
66 libamanda_la_SOURCES += amflock-lnlock.c
71 libamanda_la_SOURCES += rsh-security.c
74 libamanda_la_SOURCES += ssh-security.c
77 libamanda_la_SOURCES += bsd-security.c
79 if WANT_BSDTCP_SECURITY
80 libamanda_la_SOURCES += bsdtcp-security.c
82 if WANT_BSDUDP_SECURITY
83 libamanda_la_SOURCES += bsdudp-security.c
86 libamanda_la_SOURCES += krb5-security.c
89 libamanda_la_SOURCES += local-security.c
91 libamanda_la_LDFLAGS = -release $(VERSION)
126 EXTRA_PROGRAMS = genversion $(TEST_PROGS)
128 # Version-building steps:
130 # 1. configure builds svn-info.h, if svn info is available; this
131 # file is included in distribution tarballs
132 # 2. Makefile creates genversion.h with build-time information
133 # 3. Makefile builds genversion
134 # 4. Makefile runs genversion to create version.c
135 # 5. version.c is compiled into libamanda normally
137 genversion_SOURCES = genversion.c svn-info.h
138 genversion_LDADD = $(libamanda_la_LIBADD) \
141 genversion.h: $(top_builddir)/config.status
143 echo '#define CC "$(CC)"' > $@.new
144 echo '#define BUILT_DATE "'`date`'"' >> $@.new
145 echo '#define BUILT_MACH "$(target)"' >> $@.new
148 version.c: genversion$(EXEEXT)
150 ./genversion$(EXEEXT) > version.c
152 BUILT_SOURCES += genversion.h version.c
154 # these are used for testing only:
155 TEST_PROGS = file bsdsecurity
157 CLEANFILES += *.test.c
158 DISTCLEANFILES += version.c genversion genversion.h
160 # used for testing only
162 STANDARD_COMMON_STUFF_NOT_FILE = \
174 STANDARD_COMMON_STUFF = \
175 $(STANDARD_COMMON_STUFF_NOT_FILE) \
178 file_SOURCES = file.test.c
179 file_LDADD = $(libamanda_la_LIBADD) $(STANDARD_COMMON_STUFF_NOT_FILE)
181 bsdsecurity_SOURCES = bsd-security.test.c
182 bsdsecurity_LDADD = $(libamanda_a_LIBADD) \
195 # Convenience library (never installed) for 'make check'-based tests.
197 noinst_LTLIBRARIES = libtestutils.la
198 libtestutils_la_SOURCES = \
202 # automake-style tests
204 # automake-style tests
206 TESTS = amflock-test event-test semaphore-test quoting-test \
207 ipc-binary-test hexencode-test fileheader-test match-test
208 noinst_PROGRAMS = $(TESTS)
210 amflock_test_SOURCES = amflock-test.c
211 amflock_test_LDADD = libamanda.la libtestutils.la
213 event_test_SOURCES = event-test.c
214 event_test_LDADD = libamanda.la libtestutils.la
216 semaphore_test_SOURCES = semaphore-test.c
217 semaphore_test_LDADD = libamanda.la libtestutils.la
219 quoting_test_SOURCES = quoting-test.c
220 quoting_test_LDADD = libamanda.la libtestutils.la
222 ipc_binary_test_SOURCES = ipc-binary-test.c
223 ipc_binary_test_LDADD = libamanda.la libtestutils.la
225 hexencode_test_SOURCES = hexencode-test.c
226 hexencode_test_LDADD = libamanda.la libtestutils.la
228 fileheader_test_SOURCES = fileheader-test.c
229 fileheader_test_LDADD = libamanda.la libtestutils.la
231 match_test_SOURCES = match-test.c
232 match_test_LDADD = libamanda.la libtestutils.la
236 # divide scripts up both by language and destination directory
237 sbin_SCRIPTS_PERL = \
242 amlibexec_SCRIPTS_PERL =
244 sbin_SCRIPTS_SHELL = \
250 amlibexec_SCRIPTS_SHELL =
255 EXTRA_DIST += amanda-sh-lib.sh.in
257 SCRIPTS_PERL = $(sbin_SCRIPTS_PERL) $(amlibexec_SCRIPTS_PERL)
258 SCRIPTS_SHELL = $(sbin_SCRIPTS_SHELL) $(amlibexec_SCRIPTS_SHELL)
260 amlibexec_DATA = $(SCRIPTS_INCLUDE)
261 amlibexec_SCRIPTS = $(amlibexec_SCRIPTS_PERL) $(amlibexec_SCRIPTS_SHELL)
262 sbin_SCRIPTS = $(sbin_SCRIPTS_PERL) $(sbin_SCRIPTS_SHELL)
267 @echo $(LINT) $(libamanda_la_SOURCES)
268 @$(LINT) $(LINTFLAGS) $(CPPFLAGS) $(DEFS) -I. -I$(top_builddir)/config $(INCLUDES) $(libamanda_la_SOURCES)
269 @echo $(LINT) $(genversion_SOURCES)
270 @$(LINT) $(LINTFLAGS) $(CPPFLAGS) $(DEFS) -I. -I$(top_builddir)/config $(INCLUDES) $(genversion_SOURCES)
273 @ for p in $(libamanda_la_SOURCES) $(REGEXCSRC); do \
274 listlibsrcs="$$listlibsrcs `pwd`/$$p"; \
276 echo $$listlibsrcs >listlibsrc.output
278 %.test.c: $(srcdir)/%.c
279 echo '#define TEST' >$@
280 echo '#include "$<"' >>$@
283 if test `cd $(srcdir) && pwd` != `pwd`; then rm -f svn-info.h; fi
284 MAINTAINERCLEANFILES+=svn-info.h