-# $Id$
+#
@MCOMMON@
srcdir = .
VPATH = .
.PATH: .
+sd_group=@sd_group@
+
# one up
basedir = ..
# top dir
DEBUG=@DEBUG@
-first_rule: all
-dummy:
-
-#
-SVRSRCS = stored.c append.c askdir.c authenticate.c block.c dev.c \
- device.c dircmd.c fd_cmds.c fdmsg.c job.c \
- label.c read.c record.c stored_conf.c
-SVROBJS = stored.o append.o askdir.o authenticate.o block.o dev.o \
- device.o dircmd.o fd_cmds.o fdmsg.o job.o \
- label.o read.o record.o stored_conf.o
-
-# bpool is depricated
-#POOLSRCS = bpool.c block.c dev.c device.c askdir.c label.c \
-# record.c stored_conf.c
-#POOLOBJS = bpool.o block.o dev.o device.o askdir.o label.o \
-# record.o stored_conf.o
-
-#
-TAPESRCS = btape.c block.c dev.c device.c askdir.c label.c \
- record.c stored_conf.c
-TAPEOBJS = btape.o block.o dev.o device.o askdir.o label.o \
- record.o stored_conf.o
+GETTEXT_LIBS = @LIBINTL@
-BLSOBJS = bls.o block.o device.o dev.o askdir.o label.o record.o
+DB_LIBS=@DB_LIBS@
-BEXTOBJS = bextract.o block.o device.o dev.o askdir.o label.o record.o
+first_rule: all
+dummy:
-SCNOBJS = bscan.o block.o device.o dev.o askdir.o label.o record.o
+# bacula-sd
+SDOBJS = stored.o ansi_label.o vtape_dev.o \
+ autochanger.o acquire.o append.o \
+ askdir.o authenticate.o \
+ block.o block_util.o butil.o dev.o os.o file_dev.o tape_dev.o \
+ device.o dircmd.o ebcdic.o fd_cmds.o job.o \
+ label.o lock.o match_bsr.o mount.o parse_bsr.o \
+ read.o read_records.o \
+ record_read.o record_write.o record_util.o \
+ reserve.o scan.o sd_plugins.o \
+ spool.o status.o stored_conf.o \
+ vbackup.o vol_mgr.o wait.o
+
+# btape
+TAPEOBJS = btape.o block.o block_util.o butil.o \
+ dev.o os.o file_dev.o tape_dev.o \
+ device.o label.o vtape_dev.o \
+ lock.o ansi_label.o ebcdic.o \
+ autochanger.o acquire.o mount.o record_util.o \
+ read_records.o record_read.o record_write.o \
+ reserve.o stored_conf.o match_bsr.o parse_bsr.o scan.o \
+ sd_plugins.o status.o spool.o vol_mgr.o wait.o
+
+# bls
+BLSOBJS = bls.o block.o block_util.o butil.o device.o \
+ dev.o os.o file_dev.o tape_dev.o label.o match_bsr.o vtape_dev.o \
+ ansi_label.o ebcdic.o lock.o \
+ autochanger.o acquire.o mount.o parse_bsr.o \
+ record_read.o record_write.o record_util.o \
+ read_records.o reserve.o scan.o stored_conf.o spool.o \
+ sd_plugins.o status.o vol_mgr.o wait.o
+
+# bextract
+BEXTOBJS = bextract.o block.o block_util.o device.o \
+ dev.o os.o file_dev.o tape_dev.o label.o vtape_dev.o \
+ ansi_label.o ebcdic.o lock.o \
+ autochanger.o acquire.o mount.o match_bsr.o parse_bsr.o butil.o \
+ read_records.o record_read.o record_write.o record_util.o \
+ reserve.o scan.o stored_conf.o spool.o \
+ sd_plugins.o status.o vol_mgr.o wait.o
+
+# bscan
+SCNOBJS = bscan.o block.o block_util.o device.o \
+ dev.o os.o file_dev.o tape_dev.o label.o vtape_dev.o \
+ ansi_label.o ebcdic.o lock.o \
+ autochanger.o acquire.o mount.o \
+ record_read.o record_write.o read_records.o record_util.o \
+ match_bsr.o parse_bsr.o \
+ butil.o scan.o reserve.o stored_conf.o spool.o \
+ sd_plugins.o status.o vol_mgr.o wait.o
+
+# bcopy
+COPYOBJS = bcopy.o block.o block_util.o device.o \
+ dev.o os.o file_dev.o tape_dev.o label.o vtape_dev.o \
+ ansi_label.o ebcdic.o lock.o \
+ autochanger.o acquire.o mount.o \
+ record_read.o record_write.o read_records.o record_util.o \
+ match_bsr.o parse_bsr.o butil.o reserve.o \
+ sd_plugins.o scan.o status.o stored_conf.o spool.o \
+ vol_mgr.o wait.o
-# it was ``be kind to gmake week''. Now it's ``autoconf week''
-#OBJS = $(SRCS:S,.c,.o,)
# these are the objects that are changed by the .configure process
EXTRAOBJS = @OBJLIST@
-FDLIBS=@FDLIBS@
+CAP_LIBS = @CAP_LIBS@
+ZLIBS=@ZLIBS@
+LZO_LIBS= @LZO_LIBS@
+LZO_INC= @LZO_INC@
.SUFFIXES: .c .o
# inference rules
.c.o:
- $(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
+ @echo "Compiling $<"
+ $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) $(PYTHON_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
#-------------------------------------------------------------------------
-all: Makefile bacula-sd bls bextract bscan btape
+
+all: Makefile bacula-sd @STATIC_SD@ bls bextract bscan btape bcopy
@echo "===== Make of stored is good ===="
@echo " "
-bacula-sd: $(SVROBJS) ../lib/libbac.a
- $(CXX) $(LDFLAGS) -L../lib -o $@ $(SVROBJS) $(LIBS) $(DLIB) $(FDLIBS) -lbac -lm
-
-#bpool: $(POOLOBJS) ../lib/libbac.a ../cats/libsql.a
-# $(CXX) $(LDFLAGS) -L../lib -L../cats -o $@ $(POOLOBJS) -lsql $(LIBS) $(DLIB) -lbac -lm
-
-btape: $(TAPEOBJS) ../lib/libbac.a ../cats/libsql.a
- $(CXX) $(LDFLAGS) -L../lib -L../cats -o $@ $(TAPEOBJS) -lsql $(LIBS) $(DLIB) -lbac -lm
-
-bls: ../findlib/libfind.a $(BLSOBJS) ../lib/libbac.a
- $(CXX) $(LDFLAGS) -L../lib -L../findlib -o $@ $(BLSOBJS) $(LIBS) $(DLIB) -lbac -lfind -lm
-
-bextract: ../findlib/libfind.a $(BEXTOBJS)
- $(CXX) $(LDFLAGS) -L../lib -L../findlib -o $@ $(BEXTOBJS) $(LIBS) $(DLIB) $(FDLIBS) -lbac -lfind -lm
-
-bscan: ../findlib/libfind.a $(SCNOBJS) ../cats/libsql.a
- $(CXX) $(LDFLAGS) -L../lib -L../cats -L../findlib -o $@ $(SCNOBJS) -lsql $(LIBS) $(DLIB) $(FDLIBS) -lbac -lfind -lm
-
-
-
+bacula-sd: Makefile $(SDOBJS) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE)
+ @echo "Linking $@ ..."
+ $(LIBTOOL_LINK) $(CXX) $(WLDFLAGS) $(LDFLAGS) -L../lib -o $@ $(SDOBJS) $(ZLIBS) \
+ -lbaccfg -lbac -lm $(PYTHON_LIBS) $(DLIB) $(LIBS) $(WRAPLIBS) \
+ $(GETTEXT_LIBS) $(OPENSSL_LIBS) $(CAP_LIBS)
+
+static-bacula-sd: Makefile $(SDOBJS) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE)
+ $(LIBTOOL_LINK) $(CXX) $(WLDFLAGS) $(LDFLAGS) -static -L../lib -o $@ $(SDOBJS) $(ZLIBS) \
+ -lbaccfg -lbac -lm $(PYTHON_LIBS) $(DLIB) $(LIBS) $(WRAPLIBS) \
+ $(GETTEXT_LIBS) $(OPENSSL_LIBS) $(CAP_LIBS)
+ strip $@
+
+btape.o: btape.c
+ @echo "Compiling $<"
+ $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) \
+ -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
+
+btape: Makefile $(TAPEOBJS) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE)
+ $(LIBTOOL_LINK) $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -o $@ $(TAPEOBJS) \
+ -lbaccfg -lbac $(DLIB) -lm $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
+
+bls.o: bls.c
+ @echo "Compiling $<"
+ $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) \
+ -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
+
+bls: Makefile $(BLSOBJS) ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE)
+ @echo "Compiling $<"
+ $(LIBTOOL_LINK) $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(BLSOBJS) $(DLIB) \
+ -lbacfind -lbaccfg -lbac -lm $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
+
+bextract.o: bextract.c
+ @echo "Compiling $<"
+ $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) \
+ -I$(basedir) $(DINCLUDE) $(CFLAGS) $(LZO_INC) $<
+
+bextract: Makefile $(BEXTOBJS) ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE)
+ @echo "Compiling $<"
+ $(LIBTOOL_LINK) $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(BEXTOBJS) $(DLIB) $(ZLIBS) $(LZO_LIBS) \
+ -lbacfind -lbaccfg -lbac -lm $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
+
+bscan.o: bscan.c
+ @echo "Compiling $<"
+ $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) \
+ -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
+
+bscan: Makefile $(SCNOBJS) ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) \
+ ../cats/libbacsql$(DEFAULT_ARCHIVE_TYPE) ../cats/libbaccats$(DEFAULT_ARCHIVE_TYPE)
+ $(LIBTOOL_LINK) $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../cats -L../findlib -o $@ $(SCNOBJS) \
+ -lbacsql -lbaccats $(DB_LIBS) $(ZLIBS) -lbacfind -lbaccfg -lbac -lm $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
+
+bcopy.o: bcopy.c
+ @echo "Compiling $<"
+ $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) \
+ -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
+
+bcopy: Makefile $(COPYOBJS) ../findlib/libbacfind$(DEFAULT_ARCHIVE_TYPE) ../lib/libbaccfg$(DEFAULT_ARCHIVE_TYPE) ../lib/libbac$(DEFAULT_ARCHIVE_TYPE)
+ $(LIBTOOL_LINK) $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -o $@ $(COPYOBJS) \
+ -lbaccfg -lbac -lm $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS)
Makefile: $(srcdir)/Makefile.in $(topdir)/config.status
cd $(topdir) \
&& CONFIG_FILES=$(thisdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
install: all
- $(INSTALL_PROGRAM) bacula-sd $(DESTDIR)$(sbindir)/bacula-sd
- $(INSTALL_PROGRAM) bls $(DESTDIR)$(sbindir)/bls
- $(INSTALL_PROGRAM) bextract $(DESTDIR)$(sbindir)/bextract
-# $(INSTALL_PROGRAM) bpool $(DESTDIR)$(sbindir)/bpool
- $(INSTALL_PROGRAM) btape $(DESTDIR)$(sbindir)/btape
+ $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) bacula-sd $(DESTDIR)$(sbindir)/bacula-sd
+ $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) bls $(DESTDIR)$(sbindir)/bls
+ $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) bextract $(DESTDIR)$(sbindir)/bextract
+ $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) bcopy $(DESTDIR)$(sbindir)/bcopy
+ $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) bscan $(DESTDIR)$(sbindir)/bscan
+ $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) btape $(DESTDIR)$(sbindir)/btape
@srcconf=bacula-sd.conf; \
if test -f ${DESTDIR}${sysconfdir}/$$srcconf; then \
destconf=$$srcconf.new; \
else \
destconf=$$srcconf; \
fi; \
- echo "${INSTALL_DATA} $$srcconf ${DESTDIR}${sysconfdir}/$$destconf"; \
- ${INSTALL_DATA} $$srcconf ${DESTDIR}${sysconfdir}/$$destconf
+ echo "${INSTALL_CONFIG} $$srcconf ${DESTDIR}${sysconfdir}/$$destconf"; \
+ ${INSTALL_CONFIG} $$srcconf ${DESTDIR}${sysconfdir}/$$destconf
+ @if test "x${sd_group}" != "x"; then \
+ chgrp -f ${sd_group} ${DESTDIR}${sysconfdir}/$$destconf; \
+ fi
+ @if test -f static-bacula-sd; then \
+ $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) static-bacula-sd $(DESTDIR)$(sbindir)/static-bacula-sd; \
+ fi
uninstall:
(cd $(DESTDIR)$(sbindir); $(RMF) bacula-sd)
(cd $(DESTDIR)$(sbindir); $(RMF) bls)
(cd $(DESTDIR)$(sbindir); $(RMF) bextract)
-# (cd $(DESTDIR)$(sbindir); $(RMF) bpool)
- (cd $(DESTDIR)$(sysconfdir); $(RMF) bacula-sd.conf)
+ (cd $(DESTDIR)$(sbindir); $(RMF) bcopy)
+ (cd $(DESTDIR)$(sbindir); $(RMF) bscan)
+ (cd $(DESTDIR)$(sbindir); $(RMF) btape)
+ (cd $(DESTDIR)$(sysconfdir); $(RMF) bacula-sd.conf bacula-sd.conf.new)
+libtool-clean:
+ @$(RMF) -r .libs _libs
-clean:
+clean: libtool-clean
@$(RMF) bacula-sd stored bls bextract bpool btape shmfree core core.* a.out *.o *.bak *~ *.intpro *.extpro 1 2 3
- @$(RMF) bscan
+ @$(RMF) bscan bcopy static-bacula-sd
realclean: clean
@$(RMF) tags bacula-sd.conf
if test $(srcdir) = .; then $(MAKE) realclean; fi
(cd $(srcdir); $(RMF) Makefile)
+devclean: realclean
+ if test $(srcdir) = .; then $(MAKE) realclean; fi
+ (cd $(srcdir); $(RMF) Makefile)
# Semi-automatic generation of dependencies:
# Use cc -M because X11 `makedepend' doesn't work on all systems
@$(MV) Makefile Makefile.bak
@$(SED) "/^# DO NOT DELETE:/,$$ d" Makefile.bak > Makefile
@$(ECHO) "# DO NOT DELETE: nice dependency list follows" >> Makefile
- @$(CC) -S -M $(CPPFLAGS) $(XINC) -I$(srcdir) -I$(basedir) $(SQL_INC) *.c >> Makefile
+ @$(CXX) -S -M $(CPPFLAGS) $(XINC) $(PYTHON_INC) -I$(srcdir) -I$(basedir) *.c >> Makefile
@if test -f Makefile ; then \
$(RMF) Makefile.bak; \
else \
$(MV) Makefile.bak Makefile; \
- echo -e "Something went wrong with make depend\n\a"; \
+ echo " ======= Something went wrong with make depend. ======="; \
fi
# -----------------------------------------------------------------------