Imported Upstream version 2.5.1
[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 LINT=@AMLINT@
11 LINTFLAGS=@AMLINTFLAGS@
12
13 libamanda_la_SOURCES =          \
14         alloc.c                 \
15         amfeatures.c            \
16         amflock.c               \
17         bsd-security.c          \
18         bsdtcp-security.c       \
19         bsdudp-security.c       \
20         clock.c                 \
21         debug.c                 \
22         dgram.c                 \
23         error.c                 \
24         event.c                 \
25         file.c                  \
26         fileheader.c            \
27         krb4-security.c         \
28         krb5-security.c         \
29         match.c                 \
30         packet.c                \
31         pipespawn.c             \
32         protocol.c              \
33         regcomp.c               \
34         regerror.c              \
35         regexec.c               \
36         regfree.c               \
37         rsh-security.c          \
38         security.c              \
39         security-util.c         \
40         sl.c                    \
41         ssh-security.c          \
42         statfs.c                \
43         stream.c                \
44         tapelist.c              \
45         token.c                 \
46         util.c                  \
47         version.c               \
48         versuff.c
49
50 libamanda_la_LIBADD =   @LTLIBOBJS@ @LTALLOCA@
51 libamanda_la_LDFLAGS =  -release $(VERSION)
52
53 noinst_HEADERS =                \
54         amanda.h                \
55         amfeatures.h            \
56         amregex.h               \
57         arglist.h               \
58         clock.h                 \
59         dgram.h                 \
60         event.h                 \
61         fileheader.h            \
62         packet.h                \
63         pipespawn.h             \
64         protocol.h              \
65         queue.h                 \
66         security.h              \
67         security-util.h         \
68         sl.h                    \
69         statfs.h                \
70         stream.h                \
71         tapelist.h              \
72         token.h                 \
73         util.h                  \
74         version.h
75
76 .sh:
77         cat $< > $@
78         chmod a+x $@
79
80 EXTRA_PROGRAMS = genversion $(TEST_PROGS)
81
82 genversion_SOURCES = genversion.c
83 genversion_LDADD = $(libamanda_la_LIBADD) versuff.lo
84
85 genversion.@OBJEXT@: genversion.h
86 genversion.h: $(top_builddir)/config.status
87         -rm -f $@ $@.new
88         echo '#define CC "$(CC)"' > $@.new
89         echo '#define BUILT_DATE "'`date`'"' >> $@.new
90         echo '#define BUILT_MACH "'`uname -a || echo UNKNOWN HOST`'"' >> $@.new
91         mv $@.new $@
92
93 version.c:      genversion$(EXEEXT)
94         -rm -f version.c
95         ./genversion > version.c
96
97 match.@OBJEXT@ match.lo: regex.h
98 regcomp.@OBJEXT@ regcomp.lo: regex.h regcomp.ih
99 regexec.@OBJEXT@ regexec.lo: regex.h engine.ih
100 regerror.@OBJEXT@ regerror.lo: regex.h regerror.ih
101 regfree.@OBJEXT@ regfree.lo: regex.h
102
103 REGEXCSRC =     $(REGsrcdir)/regcomp.c  \
104                 $(REGsrcdir)/regexec.c  \
105                 $(REGsrcdir)/regerror.c \
106                 $(REGsrcdir)/regfree.c
107
108 REGEXHSRC =     $(REGsrcdir)/regex2.h   \
109                 $(REGEXCSRC)
110
111 # these are used for testing only:
112 TEST_PROGS = statfs token file bsdsecurity amfeatures
113
114 CLEANFILES = regex.h regcomp.ih engine.ih regerror.ih *.test.c
115
116 DISTCLEANFILES = version.c genversion.h genversion amanda-int.h
117
118 regex.h: $(REGEXHSRC) $(REGsrcdir)/mkh
119         sh $(REGsrcdir)/mkh -i _REGEX_H_ $(REGEXHSRC) >$@
120
121 regcomp.ih: $(REGsrcdir)/regcomp.c $(REGsrcdir)/mkh
122         sh $(REGsrcdir)/mkh -p $(REGsrcdir)/regcomp.c >$@
123
124 engine.ih: $(REGsrcdir)/engine.c $(REGsrcdir)/mkh
125         sh $(REGsrcdir)/mkh -p $(REGsrcdir)/engine.c >$@
126
127 regerror.ih: $(REGsrcdir)/regerror.c $(REGsrcdir)/mkh
128         sh $(REGsrcdir)/mkh -p $(REGsrcdir)/regerror.c >$@
129
130 # used for testing only
131
132 STANDARD_COMMON_STUFF_NOT_FILE = \
133         alloc.$(OBJEXT) \
134         clock.$(OBJEXT) \
135         debug.$(OBJEXT) \
136         error.$(OBJEXT) \
137         util.$(OBJEXT) \
138         match.$(OBJEXT)
139
140 STANDARD_COMMON_STUFF = \
141         $(STANDARD_COMMON_STUFF_NOT_FILE) \
142         file.$(OBJEXT)
143
144 statfs_SOURCES = statfs.test.c
145 statfs_LDADD = $(libamanda_la_LIBADD) $(STANDARD_COMMON_STUFF)
146
147 token_SOURCES = token.test.c
148 token_LDADD = $(libamanda_la_LIBADD) $(STANDARD_COMMON_STUFF)
149
150 file_SOURCES = file.test.c
151 file_LDADD = $(libamanda_la_LIBADD) $(STANDARD_COMMON_STUFF_NOT_FILE)
152
153 bsdsecurity_SOURCES = bsd-security.test.c
154 bsdsecurity_LDADD = $(libamanda_a_LIBADD) \
155                     alloc.$(OBJEXT) \
156                     clock.$(OBJEXT) \
157                     debug.$(OBJEXT) \
158                     dgram.$(OBJEXT) \
159                     error.$(OBJEXT) \
160                     event.$(OBJEXT) \
161                     file.$(OBJEXT) \
162                     packet.$(OBJEXT) \
163                     security.$(OBJEXT) \
164                     ssh-security.$(OBJEXT) \
165                     versuff.$(OBJEXT)
166
167 amfeatures_SOURCES = amfeatures.test.c
168 amfeatures_LDADD = $(libamanda_la_LIBADD) $(STANDARD_COMMON_STUFF)
169
170 lint:
171         @echo $(LINT) $(libamanda_la_SOURCES)
172         @$(LINT) $(LINTFLAGS) $(CPPFLAGS) $(DEFS) -I. -I../config $(INCLUDES) $(libamanda_la_SOURCES)
173         @echo $(LINT) $(genversion_SOURCES)
174         @$(LINT) $(LINTFLAGS) $(CPPFLAGS) $(DEFS) -I. -I../config $(INCLUDES) $(genversion_SOURCES)
175
176 listlibsrc:
177         @ for p in $(libamanda_la_SOURCES) $(REGEXCSRC); do     \
178                 listlibsrcs="$$listlibsrcs `pwd`/$$p";          \
179         done;                                                   \
180         echo $$listlibsrcs >listlibsrc.output
181
182 %.test.c: $(srcdir)/%.c
183         echo '#define TEST' >$@
184         echo '#include "$<"' >>$@