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 = \
45 # version.c is generated; see below
46 nodist_libamanda_la_SOURCES = version.c
48 libamanda_la_LIBADD = \
52 libamanda_la_SOURCES += amflock-posix.c
56 libamanda_la_SOURCES += amflock-flock.c
60 libamanda_la_SOURCES += amflock-lockf.c
63 if WANT_AMFLOCK_LNLOCK
64 libamanda_la_SOURCES += amflock-lnlock.c
69 libamanda_la_SOURCES += rsh-security.c
72 libamanda_la_SOURCES += ssh-security.c
75 libamanda_la_SOURCES += bsd-security.c
77 if WANT_BSDTCP_SECURITY
78 libamanda_la_SOURCES += bsdtcp-security.c
80 if WANT_BSDUDP_SECURITY
81 libamanda_la_SOURCES += bsdudp-security.c
84 libamanda_la_SOURCES += krb4-security.c
87 libamanda_la_SOURCES += krb5-security.c
90 libamanda_la_SOURCES += local-security.c
92 libamanda_la_LDFLAGS = -release $(VERSION)
127 EXTRA_PROGRAMS = genversion $(TEST_PROGS)
129 # Version-building steps:
131 # 1. configure builds svn-info.h, if svn info is available; this
132 # file is included in distribution tarballs
133 # 2. Makefile creates genversion.h with build-time information
134 # 3. Makefile builds genversion
135 # 4. Makefile runs genversion to create version.c
136 # 5. version.c is compiled into libamanda normally
138 genversion_SOURCES = genversion.c genversion.h svn-info.h
139 genversion_LDADD = $(libamanda_la_LIBADD) \
143 genversion.h: $(top_builddir)/config.status
145 echo '#define CC "$(CC)"' > $@.new
146 echo '#define BUILT_DATE "'`date`'"' >> $@.new
147 echo '#define BUILT_MACH "$(target)"' >> $@.new
150 version.c: genversion$(EXEEXT)
152 ./genversion$(EXEEXT) > version.c
154 BUILT_SOURCES += genversion.h version.c
156 # these are used for testing only:
157 TEST_PROGS = token file bsdsecurity amfeatures
159 CLEANFILES += *.test.c
160 DISTCLEANFILES += version.c genversion genversion.h
162 # used for testing only
164 STANDARD_COMMON_STUFF_NOT_FILE = \
172 STANDARD_COMMON_STUFF = \
173 $(STANDARD_COMMON_STUFF_NOT_FILE) \
176 token_SOURCES = token.test.c
177 token_LDADD = $(libamanda_la_LIBADD) $(STANDARD_COMMON_STUFF)
179 file_SOURCES = file.test.c
180 file_LDADD = $(libamanda_la_LIBADD) $(STANDARD_COMMON_STUFF_NOT_FILE)
182 bsdsecurity_SOURCES = bsd-security.test.c
183 bsdsecurity_LDADD = $(libamanda_a_LIBADD) \
195 amfeatures_SOURCES = amfeatures.test.c
196 amfeatures_LDADD = $(libamanda_la_LIBADD) $(STANDARD_COMMON_STUFF)
198 # automake-style tests
201 noinst_PROGRAMS = $(TESTS)
203 amflock_test_SOURCES = amflock-test.c
204 amflock_test_LDADD = libamanda.la
208 # divide scripts up both by language and by destination directory.
209 sbin_SCRIPTS_PERL = \
213 sbin_SCRIPTS_SHELL = \
219 amlibexec_SCRIPTS_PERL =
224 EXTRA_DIST += amanda-sh-lib.sh.in
226 CHECK_PERL = $(sbin_SCRIPTS_PERL) $(amlibexec_SCRIPTS_PERL)
227 SCRIPTS_PERL = $(CHECK_PERL)
228 SCRIPTS_SHELL = $(sbin_SCRIPTS_SHELL) $(amlibexec_SCRIPTS_SHELL)
229 amlibexec_DATA = $(SCRIPTS_INCLUDE)
230 amlibexec_SCRIPTS = $(amlibexec_SCRIPTS_PERL) $(amlibexec_SCRIPTS_SHELL)
231 sbin_SCRIPTS = $(sbin_SCRIPTS_PERL) $(sbin_SCRIPTS_SHELL)
235 INSTALLPERMS_data = dest=$(sbindir) chown=amanda $(sbin_SCRIPTS) \
236 dest=$(amlibexecdir) chown=amanda $(amlibexec_SCRIPTS) $(amlibexec_DATA)
239 @echo $(LINT) $(libamanda_la_SOURCES)
240 @$(LINT) $(LINTFLAGS) $(CPPFLAGS) $(DEFS) -I. -I$(top_builddir)/config $(INCLUDES) $(libamanda_la_SOURCES)
241 @echo $(LINT) $(genversion_SOURCES)
242 @$(LINT) $(LINTFLAGS) $(CPPFLAGS) $(DEFS) -I. -I$(top_builddir)/config $(INCLUDES) $(genversion_SOURCES)
245 @ for p in $(libamanda_la_SOURCES) $(REGEXCSRC); do \
246 listlibsrcs="$$listlibsrcs `pwd`/$$p"; \
248 echo $$listlibsrcs >listlibsrc.output
250 %.test.c: $(srcdir)/%.c
251 echo '#define TEST' >$@
252 echo '#include "$<"' >>$@