1d237ead48c7a89a7e5873650aada6b3155972ba
[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       \
12         bsd-security.c  \
13         clock.c         \
14         debug.c         dgram.c         \
15         event.c         error.c         \
16         amfeatures.c    \
17         file.c          fileheader.c    \
18         krb4-security.c krb5-security.c \
19         match.c         \
20         packet.c        pipespawn.c     protocol.c      \
21         regcomp.c       regerror.c      regexec.c       regfree.c       \
22         rsh-security.c  \
23         security.c      sl.c            ssh-security.c  statfs.c        \
24         stream.c        tapelist.c      \
25         token.c         \
26         util.c          \
27         versuff.c       version.c
28
29 libamanda_la_LIBADD =   @LTLIBOBJS@ @LTALLOCA@
30 libamanda_la_LDFLAGS =  -release $(VERSION)
31
32 noinst_HEADERS =        amanda.h        amregex.h       arglist.h       \
33                         clock.h         \
34                         dgram.h         \
35                         event.h         \
36                         amfeatures.h    \
37                         packet.h        pipespawn.h     protocol.h      \
38                         queue.h         \
39                         sl.h            security.h      statfs.h        \
40                         stream.h        \
41                         tapelist.h      \
42                         token.h         \
43                         util.h          \
44                         version.h       \
45                         fileheader.h
46
47 .sh:
48         cat $< > $@
49         chmod a+x $@
50
51 EXTRA_PROGRAMS = genversion $(TEST_PROGS)
52
53 genversion_SOURCES = genversion.c
54 genversion_LDADD = $(libamanda_la_LIBADD) versuff.o
55
56 genversion.@OBJEXT@: genversion.h
57 genversion.h: $(top_builddir)/config.status
58         -rm -f $@ $@.new
59         echo '#define CC "$(CC)"' > $@.new
60         echo '#define BUILT_DATE "'`date`'"' >> $@.new
61         echo '#define BUILT_MACH "'`uname -a || echo UNKNOWN HOST`'"' >> $@.new
62         mv $@.new $@
63
64 version.c:      genversion$(EXEEXT)
65         -rm -f version.c
66         ./genversion > version.c
67
68 match.@OBJEXT@ match.lo: regex.h
69 regcomp.@OBJEXT@ regcomp.lo: regex.h regcomp.ih
70 regexec.@OBJEXT@ regexec.lo: regex.h engine.ih
71 regerror.@OBJEXT@ regerror.lo: regex.h regerror.ih
72 regfree.@OBJEXT@ regfree.lo: regex.h
73
74 REGEXHSRC =     $(REGsrcdir)/regex2.h \
75                 $(REGsrcdir)/regcomp.c \
76                 $(REGsrcdir)/regexec.c \
77                 $(REGsrcdir)/regerror.c \
78                 $(REGsrcdir)/regfree.c
79
80 # these are used for testing only:
81 TEST_PROGS = statfs token file bsdsecurity amfeatures
82
83 CLEANFILES = regex.h regcomp.ih engine.ih regerror.ih *.test.c
84
85 DISTCLEANFILES = version.c genversion.h genversion amanda-int.h
86
87 regex.h: $(REGEXHSRC) $(REGsrcdir)/mkh
88         sh $(REGsrcdir)/mkh -o -i _REGEX_H_ $(REGEXHSRC) >$@
89
90 regcomp.ih: $(REGsrcdir)/regcomp.c $(REGsrcdir)/mkh
91         sh $(REGsrcdir)/mkh -o -p $(REGsrcdir)/regcomp.c >$@
92
93 engine.ih: $(REGsrcdir)/engine.c $(REGsrcdir)/mkh
94         sh $(REGsrcdir)/mkh -o -p $(REGsrcdir)/engine.c >$@
95
96 regerror.ih: $(REGsrcdir)/regerror.c $(REGsrcdir)/mkh
97         sh $(REGsrcdir)/mkh -o -p $(REGsrcdir)/regerror.c >$@
98
99 # used for testing only
100
101 STANDARD_COMMON_STUFF_NOT_FILE = \
102         alloc.$(OBJEXT) \
103         clock.$(OBJEXT) \
104         debug.$(OBJEXT) \
105         error.$(OBJEXT) \
106         util.$(OBJEXT)
107
108 STANDARD_COMMON_STUFF = \
109         $(STANDARD_COMMON_STUFF_NOT_FILE) \
110         file.$(OBJEXT)
111
112 statfs_SOURCES = statfs.test.c
113 statfs_LDADD = $(libamanda_la_LIBADD) $(STANDARD_COMMON_STUFF)
114
115 token_SOURCES = token.test.c
116 token_LDADD = $(libamanda_la_LIBADD) $(STANDARD_COMMON_STUFF)
117
118 file_SOURCES = file.test.c
119 file_LDADD = $(libamanda_la_LIBADD) $(STANDARD_COMMON_STUFF_NOT_FILE)
120
121 bsdsecurity_SOURCES = bsd-security.test.c
122 bsdsecurity_LDADD = $(libamanda_a_LIBADD) \
123                     alloc.$(OBJEXT) \
124                     clock.$(OBJEXT) \
125                     debug.$(OBJEXT) \
126                     dgram.$(OBJEXT) \
127                     error.$(OBJEXT) \
128                     event.$(OBJEXT) \
129                     file.$(OBJEXT) \
130                     packet.$(OBJEXT) \
131                     security.$(OBJEXT) \
132                     ssh-security.$(OBJEXT) \
133                     versuff.$(OBJEXT)
134
135 amfeatures_SOURCES = amfeatures.test.c
136 amfeatures_LDADD = $(libamanda_la_LIBADD) $(STANDARD_COMMON_STUFF)
137
138 %.test.c: $(srcdir)/%.c
139         echo '#define TEST' >$@
140         echo '#include "$<"' >>$@