0241740245ea57cdc3b06db728992e17352f36c8
[debian/amanda] / common-src / Makefile.am
1 # Makefile for Amanda library.
2
3 lib_LTLIBRARIES =       libamanda.la
4
5 REGDIR = ../regex-src
6 REGsrcdir = $(srcdir)/$(REGDIR)
7
8 INCLUDES = -I$(REGsrcdir)
9
10 libamanda_la_SOURCES = \
11         alloc.c         amflock.c       clock.c         debug.c         \
12         dgram.c         error.c         file.c          fileheader.c    \
13         amfeatures.c    match.c                                         \
14         protocol.c      regcomp.c       regerror.c      regexec.c       \
15         regfree.c       security.c      statfs.c        stream.c        \
16         token.c         util.c          versuff.c       version.c       \
17         pipespawn.c     sl.c
18
19 libamanda_la_LIBADD =   @LTLIBOBJS@ @LTALLOCA@
20 libamanda_la_LDFLAGS =  -release $(VERSION)
21
22 noinst_HEADERS =        amanda.h        arglist.h       \
23                         clock.h         dgram.h         \
24                         amfeatures.h    protocol.h      \
25                         statfs.h        stream.h        \
26                         token.h         version.h       \
27                         amregex.h       fileheader.h    \
28                         util.h          pipespawn.h     \
29                         sl.h
30
31 STANDARD_COMMON_STUFF_NOT_FILE = \
32         alloc.$(OBJEXT) \
33         clock.$(OBJEXT) \
34         debug.$(OBJEXT) \
35         error.$(OBJEXT) \
36         util.$(OBJEXT)
37
38 STANDARD_COMMON_STUFF = \
39         $(STANDARD_COMMON_STUFF_NOT_FILE) \
40         file.$(OBJEXT)
41
42 .sh:
43         cat $< > $@
44         chmod a+x $@
45
46 EXTRA_PROGRAMS = genversion $(TEST_PROGS)
47
48 EXTRA_DIST = krb4-security.c    krb4-security.h
49
50 genversion_SOURCES = genversion.c
51 genversion_LDADD = $(libamanda_la_LIBADD) $(STANDARD_COMMON_STUFF) versuff.o
52
53 genversion.o: genversion.h
54 genversion.h: $(top_builddir)/config.status
55         -rm -f $@ $@.new
56         echo '#define CC "$(CC)"' > $@.new
57         echo '#define BUILT_DATE "'`date`'"' >> $@.new
58         echo '#define BUILT_MACH "'`uname -a || echo UNKNOWN HOST`'"' >> $@.new
59         mv $@.new $@
60
61 version.c:      genversion$(EXEEXT)
62         -rm -f version.c
63         ./genversion > version.c
64
65 match.@OBJEXT@ match.lo: regex.h
66 regcomp.@OBJEXT@ regcomp.lo: regex.h regcomp.ih
67 regexec.@OBJEXT@ regexec.lo: regex.h engine.ih
68 regerror.@OBJEXT@ regerror.lo: regex.h regerror.ih
69 regfree.@OBJEXT@ regfree.lo: regex.h
70
71 REGEXHSRC =     $(REGsrcdir)/regex2.h \
72                 $(REGsrcdir)/regcomp.c \
73                 $(REGsrcdir)/regexec.c \
74                 $(REGsrcdir)/regerror.c \
75                 $(REGsrcdir)/regfree.c
76
77 # these are used for testing only:
78 TEST_PROGS = statfs token file security amfeatures
79
80 CLEANFILES = regex.h regcomp.ih engine.ih regerror.ih *.test.c
81
82 DISTCLEANFILES = version.c
83
84 regex.h: $(REGEXHSRC) $(REGsrcdir)/mkh
85         sh $(REGsrcdir)/mkh -o -i _REGEX_H_ $(REGEXHSRC) >$@
86
87 regcomp.ih: $(REGsrcdir)/regcomp.c $(REGsrcdir)/mkh
88         sh $(REGsrcdir)/mkh -o -p $(REGsrcdir)/regcomp.c >$@
89
90 engine.ih: $(REGsrcdir)/engine.c $(REGsrcdir)/mkh
91         sh $(REGsrcdir)/mkh -o -p $(REGsrcdir)/engine.c >$@
92
93 regerror.ih: $(REGsrcdir)/regerror.c $(REGsrcdir)/mkh
94         sh $(REGsrcdir)/mkh -o -p $(REGsrcdir)/regerror.c >$@
95
96 # used for testing only
97
98 statfs_SOURCES = statfs.test.c
99 statfs_LDADD = $(libamanda_la_LIBADD) $(STANDARD_COMMON_STUFF)
100
101 token_SOURCES = token.test.c
102 token_LDADD = $(libamanda_la_LIBADD) $(STANDARD_COMMON_STUFF)
103
104 file_SOURCES = file.test.c
105 file_LDADD = $(libamanda_la_LIBADD) $(STANDARD_COMMON_STUFF_NOT_FILE)
106
107 security_SOURCES = security.test.c
108 security_LDADD = $(libamanda_la_LIBADD) $(STANDARD_COMMON_STUFF)
109
110 amfeatures_SOURCES = amfeatures.test.c
111 amfeatures_LDADD = $(libamanda_la_LIBADD) $(STANDARD_COMMON_STUFF)
112
113 %.test.c: $(srcdir)/%.c
114         echo '#define TEST' >$@
115         echo '#include "$<"' >>$@