]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/stored/Makefile.in
Apply patches from bugs #2325 and #2326 to fix FIFO bugs
[bacula/bacula] / bacula / src / stored / Makefile.in
1 #
2 # Copyright (C) 2000-2017 Kern Sibbald
3 # License: BSD 2-Clause; see file LICENSE-FOSS
4 #
5 @MCOMMON@
6
7 srcdir =        .
8 VPATH =         .
9 .PATH:          .
10
11 sd_group=@sd_group@
12
13 # one up
14 basedir = ..
15 # top dir
16 topdir = ../..
17 # this dir relative to top dir
18 thisdir = src/stored
19
20 DEBUG=@DEBUG@
21
22 GETTEXT_LIBS = @LIBINTL@
23
24 S3_LIBS=@S3_LIBS@
25 S3_INC=@S3_INC@
26
27 DB_LIBS=@DB_LIBS@
28
29 first_rule: all
30 dummy:
31
32 # Bacula SD core objects needed by all executables
33 SDCORE_OBJS = \
34    stored_conf.o global.o
35
36 # bacula-sd
37 SDOBJS = \
38    stored.o append.o authenticate.o dircmd.o fd_cmds.o job.o \
39    hello.o status.o vbackup.o \
40    $(SDCORE_OBJS)
41
42 JSONOBJS = bsdjson.o stored_conf.o
43
44 # btape
45 TAPEOBJS = btape.o $(SDCORE_OBJS)
46
47 # bls
48 BLSOBJS = bls.o $(SDCORE_OBJS)
49
50 # bextract
51 BEXTOBJS = bextract.o $(SDCORE_OBJS)
52
53 # bscan
54 SCNOBJS = bscan.o  $(SDCORE_OBJS)
55
56 # bcopy
57 COPYOBJS = bcopy.o $(SDCORE_OBJS)
58
59 ALIGNED_SRCS = \
60    aligned_dev.c aligned_read.c aligned_write.c
61
62 ALIGNED_OBJS = $(ALIGNED_SRCS:.c=.o)
63 ALIGNED_LOBJS = $(ALIGNED_SRCS:.c=.lo)
64
65 CLOUD_SRCS = \
66    cloud_dev.c cloud_parts.c cloud_transfer_mgr.c s3_driver.c file_driver.c
67
68 CLOUD_OBJS = $(CLOUD_SRCS:.c=.o)
69 CLOUD_LOBJS = $(CLOUD_SRCS:.c=.lo)
70
71 # cloud_test
72 CLOUDTESTOBJS = cloud_test.o $(SDCORE_OBJS)
73
74 # libbacsd objects
75 LIBBACSD_SRCS = \
76    acquire.c ansi_label.c askdir.c autochanger.c \
77    block.c block_util.c butil.c dev.c device.c ebcdic.c \
78    init_dev.c label.c lock.c match_bsr.c mount.c \
79    null_dev.c os.c parse_bsr.c read.c read_records.c \
80    record_read.c record_util.c record_write.c reserve.c \
81    scan.c sd_plugins.c spool.c tape_alert.c vol_mgr.c wait.c \
82    fifo_dev.c file_dev.c tape_dev.c vtape_dev.c
83
84 LIBBACSD_OBJS = $(LIBBACSD_SRCS:.c=.o)
85 LIBBACSD_LOBJS = $(LIBBACSD_SRCS:.c=.lo)
86 LIBBACSD_LT_RELEASE = @LIBBAC_LT_RELEASE@
87
88
89 # these are the objects that are changed by the .configure process
90 EXTRAOBJS = @OBJLIST@
91
92 CAP_LIBS = @CAP_LIBS@
93 ZLIBS=@ZLIBS@
94 LZO_LIBS= @LZO_LIBS@
95 LZO_INC= @LZO_INC@
96
97 SD_LIBS = -lbacsd -lbaccfg -lbac
98
99
100 .SUFFIXES:      .c .o .lo
101 .PHONY:
102 .DONTCARE:
103
104 # inference rules
105 .c.o:
106         @echo "Compiling $<"
107         $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
108
109 .c.lo:
110         @echo "LT Compiling $<"
111         $(NO_ECHO)$(LIBTOOL_COMPILE) $(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) $(TOKYOCABINET_INC) $(S3_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
112
113
114 #-------------------------------------------------------------------------
115
116 all: Makefile libbacsd.la drivers bacula-sd @STATIC_SD@ \
117            bls bextract bscan bcopy \
118            bsdjson btape
119         @echo "===== Make of stored is good ===="
120         @echo " "
121
122 bacula-sd: Makefile libbacsd.la $(SDOBJS) \
123         ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) \
124         ../lib/libbac$(DEFAULT_ARCHIVE_TYPE)
125         @echo "Linking $@ ..."
126         $(LIBTOOL_LINK) $(CXX) $(WLDFLAGS) $(LDFLAGS) -L. -L../lib -o $@ $(SDOBJS) $(ZLIBS) \
127            $(SD_LIBS) -lm $(DLIB) $(LIBS) $(WRAPLIBS) \
128            $(GETTEXT_LIBS) $(OPENSSL_LIBS) $(CAP_LIBS)
129
130 libbacsd.a: $(LIBBACSD_OBJS)
131         @echo "Making $@ ..."
132         $(AR) rc  $@ $(LIBBACSD_OBJS)
133         $(RANLIB) $@
134
135 libbacsd.la: Makefile $(LIBBACSD_LOBJS)
136         @echo "Making $@ ..."
137         $(LIBTOOL_LINK) $(CXX) $(DEFS) $(DEBUG) $(LDFLAGS) -o $@ \
138           $(TOKYOCABINET_LIBS) $(LIBBACSD_LOBJS) \
139           -export-dynamic -rpath $(libdir) -release $(LIBBACSD_LT_RELEASE)
140
141 #
142 # Loadable driver
143 #
144 drivers: bacula-sd-cloud-driver.la bacula-sd-aligned-driver.la
145
146 bacula-sd-cloud-driver.la: Makefile $(CLOUD_LOBJS)
147          $(LIBTOOL_LINK) $(CXX) $(LDFLAGS) -shared $(CLOUD_LOBJS) -o $@ $(S3_LIBS) -rpath $(libdir) -module -export-dynamic -release $(LIBBACSD_LT_RELEASE)
148
149 bacula-sd-aligned-driver.la: Makefile $(ALIGNED_LOBJS)
150          $(LIBTOOL_LINK) $(CXX) $(LDFLAGS) -shared $(ALIGNED_LOBJS) -o $@ -rpath $(plugindir) \
151              -module -export-dynamic -release $(LIBBACSD_LT_RELEASE)
152
153
154 bsdjson: Makefile $(JSONOBJS) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE)
155         @echo "Linking $@ ..."
156         $(LIBTOOL_LINK) $(CXX) $(WLDFLAGS) $(LDFLAGS) -L../lib -o $@ $(JSONOBJS) $(ZLIBS) \
157            -lbaccfg -lbac -lm $(DLIB) $(LIBS) $(WRAPLIBS) \
158            $(GETTEXT_LIBS) $(OPENSSL_LIBS) $(CAP_LIBS)
159
160 static-bacula-sd: Makefile $(SDOBJS) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE)
161         $(LIBTOOL_LINK) $(CXX) $(WLDFLAGS) $(LDFLAGS) -static -L../lib -o $@ $(SDOBJS) $(ZLIBS) \
162            $(SD_LIBS) -lm $(DLIB) $(LIBS) $(WRAPLIBS) \
163            $(GETTEXT_LIBS) $(OPENSSL_LIBS) $(CAP_LIBS)
164         strip $@
165
166 btape.o: btape.c
167         @echo "Compiling $<"
168         $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) \
169            -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
170
171 btape: Makefile  $(TAPEOBJS) libbacsd.la drivers ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE)
172         $(LIBTOOL_LINK) $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -o $@ $(TAPEOBJS) \
173           $(SD_LIBS) $(DLIB) -lm $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
174
175
176 cloud_test.o: cloud_test.c
177         @echo "Compiling $<"
178         $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) \
179            -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
180
181 cloud_test: Makefile cloud_test.o ../lib/libbac$(DEFAULT_ARCHIVE_TYPE)  $(BLSOBJS)  libbacsd.la drivers
182         $(LIBTOOL_LINK) $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(CLOUDTESTOBJS) $(DLIB) \
183            $(SD_LIBS) -lm $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
184
185 bls.o:  bls.c
186         @echo "Compiling $<"
187         $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) \
188            -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
189
190 bls:    Makefile $(BLSOBJS) libbacsd.la drivers  ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE)
191         @echo "Compiling $<"
192         $(LIBTOOL_LINK) $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(BLSOBJS) $(DLIB) \
193            $(SD_LIBS) -lbacfind -lm $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
194
195 bextract.o: bextract.c
196         @echo "Compiling $<"
197         $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) \
198            -I$(basedir) $(DINCLUDE) $(CFLAGS) $(LZO_INC) $<
199
200 bextract: Makefile $(BEXTOBJS) libbacsd.la drivers ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE)
201         @echo "Compiling $<"
202         $(LIBTOOL_LINK) $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(BEXTOBJS) $(DLIB) $(ZLIBS) $(LZO_LIBS) \
203            $(SD_LIBS) -lbacfind -lm $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
204
205 bscan.o: bscan.c
206         @echo "Compiling $<"
207         $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) \
208            -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
209
210 bscan:  Makefile $(SCNOBJS) libbacsd.la drivers ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) \
211         ../cats/libbacsql$(DEFAULT_ARCHIVE_TYPE) ../cats/libbaccats$(DEFAULT_ARCHIVE_TYPE)
212         $(LIBTOOL_LINK) $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../cats -L../findlib -o $@ $(SCNOBJS) \
213            $(SD_LIBS) -lbacsql -lbaccats $(DB_LIBS) $(ZLIBS) -lbacfind -lbaccfg -lbac -lm $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
214
215 bcopy.o: bcopy.c
216         @echo "Compiling $<"
217         $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) \
218            -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
219
220 bcopy:  Makefile $(COPYOBJS) libbacsd.la drivers ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE)
221         $(LIBTOOL_LINK) $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -o $@ $(COPYOBJS) \
222            $(SD_LIBS) -lm $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
223
224 cloud_parts_test: Makefile cloud_parts.c
225         $(RMF) cloud_parts.o
226         $(CXX) -DTEST_PROGRAM $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE)  $(CFLAGS) cloud_parts.c
227         $(LIBTOOL_LINK) $(CXX) $(LDFLAGS) -L../lib -o $@ cloud_parts.o $(DLIB) -lbac -lm $(LIBS) $(OPENSSL_LIBS)
228         rm -f cloud_parts.o
229         $(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) cloud_parts.c
230
231
232 Makefile: $(srcdir)/Makefile.in $(topdir)/config.status
233         cd $(topdir) \
234           && CONFIG_FILES=$(thisdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
235
236 libtool-install: all
237         $(MKDIR) $(DESTDIR)$(libdir)
238         $(RMF) $(DESTDIR)$(libdir)/libbacsd-*.so $(DESTDIR)$(libdir)/libbacsd.la
239         $(LIBTOOL_INSTALL_FINISH) $(INSTALL_LIB) libbacsd.la $(DESTDIR)$(libdir)
240
241 libtool-uninstall:
242         $(LIBTOOL_UNINSTALL) $(RMF) $(DESTDIR)$(libdir)/libbacsd.la
243
244 install: all @LIBTOOL_INSTALL_TARGET@
245         $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) bacula-sd $(DESTDIR)$(sbindir)/bacula-sd
246         $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) bsdjson $(DESTDIR)$(sbindir)/bsdjson
247         $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) bls $(DESTDIR)$(sbindir)/bls
248         $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) bextract $(DESTDIR)$(sbindir)/bextract
249         $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) bcopy $(DESTDIR)$(sbindir)/bcopy
250         $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) bscan $(DESTDIR)$(sbindir)/bscan
251         $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) btape $(DESTDIR)$(sbindir)/btape
252         @if test -f static-bacula-sd; then \
253            $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) static-bacula-sd $(DESTDIR)$(sbindir)/static-bacula-sd; \
254         fi
255         @srcconf=bacula-sd.conf; \
256         if  test -f ${DESTDIR}${sysconfdir}/$$srcconf; then \
257            destconf=$$srcconf.new; \
258            echo "  ==> Found existing $$srcconf, installing new conf file as $$destconf"; \
259         else \
260            destconf=$$srcconf; \
261         fi; \
262         echo "${INSTALL_CONFIG} $$srcconf ${DESTDIR}${sysconfdir}/$$destconf"; \
263         ${INSTALL_CONFIG} $$srcconf ${DESTDIR}${sysconfdir}/$$destconf
264         @if test "x${sd_group}" != "x" -a "x${DESTDIR}" = "x" ; then \
265            chgrp -f ${sd_group} ${DESTDIR}${sysconfdir}/$$destconf; \
266         fi
267
268 install-cloud: bacula-sd-cloud-driver.la
269         $(MKDIR) $(DESTDIR)$(plugindir)
270         $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) bacula-sd-cloud-driver$(DEFAULT_SHARED_OBJECT_TYPE) $(DESTDIR)$(plugindir)
271         $(RMF) $(DESTDIR)$(plugindir)/bacula-sd-cloud-driver.la
272
273 install-aligned:  bacula-sd-aligned-driver.la 
274         $(MKDIR) $(DESTDIR)$(plugindir)
275         $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) bacula-sd-aligned-driver$(DEFAULT_SHARED_OBJECT_TYPE) $(DESTDIR)$(plugindir)
276         $(RMF) $(DESTDIR)$(plugindir)/bacula-sd-aligned-driver.la
277
278 uninstall:
279         (cd $(DESTDIR)$(sbindir); $(RMF) bacula-sd bsdjson)
280         (cd $(DESTDIR)$(sbindir); $(RMF) bls)
281         (cd $(DESTDIR)$(sbindir); $(RMF) bextract)
282         (cd $(DESTDIR)$(sbindir); $(RMF) bcopy)
283         (cd $(DESTDIR)$(sbindir); $(RMF) bscan)
284         (cd $(DESTDIR)$(sbindir); $(RMF) btape)
285         (cd $(DESTDIR)$(sysconfdir); $(RMF) bacula-sd.conf bacula-sd.conf.new)
286
287 libtool-clean:
288         @find . -name '*.lo' -print | xargs $(LIBTOOL_CLEAN) $(RMF)
289         @$(RMF) -r .libs _libs
290         @$(RMF) *.la
291
292 clean:  libtool-clean
293         @$(RMF) bacula-sd stored bls bextract bpool btape shmfree core core.* a.out *.o *.bak *~ *.intpro *.extpro 1 2 3
294         @$(RMF) bscan bsdjson bcopy static-bacula-sd
295
296 realclean: clean
297         @$(RMF) tags bacula-sd.conf
298
299 distclean: realclean
300         if test $(srcdir) = .; then $(MAKE) realclean; fi
301         (cd $(srcdir); $(RMF) Makefile)
302
303 devclean: realclean
304         if test $(srcdir) = .; then $(MAKE) realclean; fi
305         (cd $(srcdir); $(RMF) Makefile)
306
307 # Semi-automatic generation of dependencies:
308 # Use cc -M because X11 `makedepend' doesn't work on all systems
309 # and it also includes system headers.
310 # `semi'-automatic since dependencies are generated at distribution time.
311
312 depend:
313         @$(MV) Makefile Makefile.bak
314         @$(SED) "/^# DO NOT DELETE:/,$$ d" Makefile.bak > Makefile
315         @$(ECHO) "# DO NOT DELETE: nice dependency list follows" >> Makefile
316         @$(CXX) -S -M $(CPPFLAGS) $(XINC) $(S3_INC) $(TOKYOCABINET_INC) -I$(srcdir) -I$(basedir) *.c >> Makefile
317         @if test -f Makefile ; then \
318             $(RMF) Makefile.bak; \
319         else \
320            $(MV) Makefile.bak Makefile; \
321            echo " ======= Something went wrong with make depend. ======="; \
322         fi
323
324 # -----------------------------------------------------------------------
325 # DO NOT DELETE: nice dependency list follows