#
-# Version $Id$
-#
+# Master Makefile
+#
+# Author: Kern Sibbald
+# License: LGPLv3
+#
@MCOMMON@
working_dir=@working_dir@
+dir_group=@dir_group@
+dir_user=@dir_user@
srcdir = @srcdir@
VPATH = @srcdir@
first_rule: all
dummy:
-fd_subdirs = src scripts doc src/lib src/findlib src/filed \
- rescue rescue/linux
-
+# --client-only directories
+fd_subdirs = src scripts src/lib src/findlib src/filed \
+ @READLINE_SRC@ @BAT_DIR@ src/console @FD_PLUGIN_DIR@
-subdirs = src/cats @READLINE_SRC@ src/console src/dird \
- src/stored @GNOME_DIR@ src/tools
+# Non-client-only directores
+subdirs = src/cats @DIRD_DIR@ @STORED_DIR@ src/tools
-all_subdirs = ${fd_subdirs} ${@ALL_DIRS@}
+all_subdirs = ${fd_subdirs} ${@ALL_DIRS@} manpages
DIST = INSTALL README.configure configure Makefile Makefile.in ChangeLog
autoconf/config.h.in autoconf/acconfig.h autoconf/Make.common.in \
autoconf/install-sh autoconf/mkinstalldirs
+doc_files = VERIFYING technotes ChangeLog README ReleaseNotes LICENSE \
+ INSTALL
+
MKDIR = $(srcdir)/autoconf/mkinstalldirs
+LIBTOOL_DEPS = @LIBTOOL_DEPS@
#-------------------------------------------------------------------------
all: Makefile
@for I in ${all_subdirs}; \
do (cd $$I; echo "==>Entering directory `pwd`"; \
- $(MAKE) $@ || (echo ""; echo ""; echo -e " \a\a ====== Error in `pwd` ======\a\a"; \
- echo ""; echo "";)); \
+ $(MAKE) DESTDIR=$(DESTDIR) $@ || (echo ""; echo ""; echo " ====== Error in `pwd` ======"; \
+ echo ""; echo ""; false ) || false) || exit 1; \
done
depend:
bacula-fd: Makefile
@for I in ${fd_subdirs}; \
do (cd $$I; echo "==>Entering directory `pwd`"; \
- $(MAKE) all || (echo ""; echo ""; echo -e " \a\a ====== Error in `pwd` ======\a\a"; \
- echo ""; echo "";)); \
+ $(MAKE) DESTDIR=$(DESTDIR) all || \
+ (echo ""; echo ""; echo " ====== Error in `pwd` ======"; \
+ echo ""; echo ""; false ) || false) || exit 1; \
done
#-------------------------------------------------------------------------
+
+autoconf/aclocal.m4: autoconf/configure.in autoconf/bacula-macros/* autoconf/gettext-macros/* autoconf/libtool/*
+
+# Note, the following is needed in the above if ever any new macro is added.
+# However, at the current time, the -I libtool causes the autoconf/aclocal.m4
+# get messed up, so this is commented out
+# cd autoconf && aclocal -I bacula-macros -I gettext-macros -I libtool
+
configure: autoconf/configure.in autoconf/aclocal.m4 autoconf/acconfig.h autoconf/config.h.in
cd $(srcdir);
- ${RMF} -f config.cache config.log config.out config.status src/config.h
+ ${RMF} config.cache config.log config.out config.status src/config.h
+ ${RMF} -r autoconf/autom4te.cache autom4te.cache
autoconf --prepend-include=$(srcdir)/autoconf \
autoconf/configure.in > configure
chmod 755 configure
-
-old-configure: autoconf/configure.in autoconf/aclocal.m4 autoconf/acconfig.h
- cd $(srcdir);
- ${RMF} -f config.cache config.log config.out config.status src/config.h
- autoconf --include=$(srcdir)/autoconf \
- autoconf/configure.in > configure
- chmod 755 configure
- @rm -f config.cache
+ ${RMF} -r autoconf/autom4te.cache autom4te.cache
config.status:
if test -x config.status; then config.status --recheck; \
autoconf/config.h.in: autoconf/configure.in autoconf/acconfig.h
cd $(srcdir);
- ${RMF} -f config.cache config.log config.out config.status src/config.h
+ ${RMF} config.cache config.log config.out config.status src/config.h
autoheader --prepend-include=$(srcdir)/autoconf \
autoconf/configure.in > autoconf/config.h.in
chmod 644 autoconf/config.h.in
+libtool: Makefile $(LIBTOOL_DEPS)
+ $(SHELL) ./config.status --recheck
+
installdirs:
$(MKDIR) $(DESTDIR)$(sbindir)
$(MKDIR) $(DESTDIR)$(sysconfdir)
+ chmod 770 $(DESTDIR)$(sysconfdir)
+ -if test "x$(dir_user)" != "x" ; then \
+ chown $(dir_user) $(DESTDIR)$(sysconfdir); \
+ fi
+ -if test "x$(dir_group)" != "x" ; then \
+ chgrp $(dir_group) $(DESTDIR)$(sysconfdir); \
+ fi
$(MKDIR) $(DESTDIR)$(scriptdir)
- $(MKDIR) $(DESTDIR)$(working_dir)
-# $(MKDIR) $(DESTDIR)$(mandir)
-
-gnomedirs:
- $(MKDIR) $(DESTDIR)/usr/share/pixmaps
- $(MKDIR) $(DESTDIR)/usr/share/gnome/apps/System
- $(MKDIR) $(DESTDIR)/usr/share/applications
- $(MKDIR) $(DESTDIR)/etc/security/console.apps
- $(MKDIR) $(DESTDIR)/etc/pam.d
-
-install-menu: installdirs gnomedirs
- ${INSTALL_DATA} scripts/bacula.png $(DESTDIR)/usr/share/pixmaps/bacula.png
- ${INSTALL_DATA} scripts/bacula.desktop.gnome1 $(DESTDIR)/usr/share/gnome/apps/System/bacula.desktop
- ${INSTALL_DATA} scripts/bacula.desktop.gnome2 $(DESTDIR)/usr/share/applications/bacula.desktop
-
-install-menu-xsu: installdirs gnomedirs
- ${INSTALL_DATA} scripts/bacula.png $(DESTDIR)/usr/share/pixmaps/bacula.png
- ${INSTALL_DATA} scripts/bacula.desktop.gnome1.xsu $(DESTDIR)/usr/share/gnome/apps/System/bacula.desktop
- ${INSTALL_DATA} scripts/bacula.desktop.gnome2.xsu $(DESTDIR)/usr/share/applications/bacula.desktop
-
-install-menu-consolehelper: installdirs gnomedirs
- ${INSTALL_DATA} scripts/bacula.png $(DESTDIR)/usr/share/pixmaps/bacula.png
- ${INSTALL_DATA} scripts/bacula.desktop.gnome1.consolehelper $(DESTDIR)/usr/share/gnome/apps/System/bacula.desktop
- ${INSTALL_DATA} scripts/bacula.desktop.gnome2.consolehelper $(DESTDIR)/usr/share/applications/bacula.desktop
- ${INSTALL_DATA} scripts/gnome-console.console_apps $(DESTDIR)/etc/security/console.apps/gnome-console
- ${INSTALL_DATA} scripts/gnome-console.pamd $(DESTDIR)/etc/pam.d/gnome-console
- ln -s $(DESTDIR)/usr/bin/consolehelper $(DESTDIR)/usr/bin/gnome-console
+ $(MKDIR) $(DESTDIR)$(docdir)
+ $(MKDIR) $(DESTDIR)$(archivedir)
+ -if test ! -d $(DESTDIR)$(working_dir) ; then \
+ $(MKDIR) $(DESTDIR)$(working_dir); \
+ chmod 770 $(DESTDIR)$(working_dir); \
+ fi
+ -if test "x$(dir_user)" != "x" ; then \
+ chown $(dir_user) $(DESTDIR)$(working_dir); \
+ fi
+ -if test "x$(dir_group)" != "x" ; then \
+ chgrp $(dir_group) $(DESTDIR)$(working_dir); \
+ fi
install: installdirs
- @for I in $(all_subdirs); do (cd $$I; $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1); done
+ @for I in $(doc_files) ; do $(INSTALL_DATA) $$I $(DESTDIR)${docdir}; done
+ @for I in $(all_subdirs); do (cd $$I && $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1); done
uninstall:
- @for I in $(all_subdirs); do (cd $$I; $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1); done
+ @for I in $(all_subdirs); do (cd $$I && $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1); done
install-autostart:
- (cd platforms; $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1)
+ (cd platforms && $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1)
install-autostart-dir:
- (cd platforms; $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1)
+ (cd platforms && $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1)
install-autostart-fd:
- (cd platforms; $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1)
+ (cd platforms && $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1)
install-autostart-sd:
- (cd platforms; $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1)
+ (cd platforms && $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1)
uninstall-autostart:
- (cd platforms; $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1)
+ (cd platforms && $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1)
uninstall-autostart-dir:
- (cd platforms; $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1)
+ (cd platforms && $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1)
uninstall-autostart-fd:
- (cd platforms; $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1)
+ (cd platforms && $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1)
uninstall-autostart-sd:
- (cd platforms; $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1)
-
-uninstall-menu:
- rm -f $(DESTDIR)/usr/share/pixmaps/bacula.png
- rm -f $(DESTDIR)/usr/share/gnome/apps/System/bacula.desktop
- rm -f $(DESTDIR)/usr/share/applications/bacula.desktop
-
-uninstall-menu-consolehelper:
- rm -f $(DESTDIR)/usr/share/pixmaps/bacula.png
- rm -f $(DESTDIR)/usr/share/gnome/apps/System/bacula.desktop
- rm -f $(DESTDIR)/usr/share/applications/bacula.desktop
- rm -f $(DESTDIR)/etc/security/console.apps/gnome-console
- rm -f $(DESTDIR)/etc/pam.d/gnome-console
- rm -f $(DESTDIR)/usr/bin/gnome-console
-
+ (cd platforms && $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1)
Makefile: Makefile.in
cd $(topdir) \
Makefiles:
$(SHELL) config.status
(cd scripts; \
- chmod 755 startmysql stopmysql bacula fd startit stopit btraceback; \
- chmod 755 mtx-changer bconsole gconsole devel_bacula)
-
+ chmod 755 startmysql stopmysql bacula startit stopit btraceback \
+ mtx-changer bconsole gconsole devel_bacula dvd-handler)
(cd src/cats; \
- chmod 755 create_bacula_database update_bacula_tables make_bacula_tables; \
- chmod 755 grant_bacula_privileges drop_bacula_tables drop_bacula_database; \
- \
- chmod 755 create_@DB_NAME@_database update_@DB_NAME@_tables make_@DB_NAME@_tables; \
- chmod 755 grant_@DB_NAME@_privileges drop_@DB_NAME@_tables drop_@DB_NAME@_database; \
- \
- chmod 755 make_catalog_backup delete_catalog_backup)
+ chmod 755 create_bacula_database update_bacula_tables \
+ make_bacula_tables grant_bacula_privileges drop_bacula_tables \
+ drop_bacula_database make_catalog_backup delete_catalog_backup)
+ @for I in @DB_BACKENDS@ ; do \
+ (cd src/cats; \
+ chmod 755 create_$${I}_database update_$${I}_tables \
+ make_$${I}_tables grant_$${I}_privileges drop_$${I}_tables \
+ drop_$${I}_database); \
+ done
+ (cd src/qt-console; \
+ chmod 755 install_conf_file build-depkgs-qt-console)
clean:
- @for I in ${all_subdirs}; \
+ @for I in ${all_subdirs} ; \
do (cd $$I; echo "==>Entering directory `pwd`"; ${MAKE} $@ || exit 1); done
@(cd platforms; echo "==>Entering directory `pwd`"; ${MAKE} $@ || exit 1)
@$(RMF) *~ 1 2 3 core core.* config.guess console.log console.sum
@$(RMF) examples/1 examples/2 examples/devices/1 examples/devices/2
+ @$(RMF) -r autom4te.cache
+ @find . -name ".#*" -exec $(RMF) {} \;
# clean for distribution
distclean:
- @for I in $(all_subdirs); do (cd $$I; $(MAKE) $@ || exit 1); done
- @for I in $(all_subdirs); do (cd $$I; $(RMF) startit stopit btraceback); done
- @(cd $(srcdir); $(RMF) *~ config.cache config.h config.log config.status config.out)
- @(cd $(srcdir); $(RMF) Makefile autoconf/Make.common)
+ @for I in $(all_subdirs); do (cd $$I && $(MAKE) $@ || exit 1); done
+ @for I in $(all_subdirs); do (cd $$I && $(RMF) startit stopit btraceback); done
+ @(cd $(srcdir) && $(RMF) *~ config.cache config.h config.log config.status config.out)
+ @(cd $(srcdir) && $(RMF) Makefile autoconf/Make.common)
@(cd platforms; echo "==>Entering directory `pwd`"; ${MAKE} $@ || exit 1)
@$(RMF) bacula fd Makefile startmysql stopmysql startit stopit btraceback
@$(RMF) bconsole gconsole
@$(RMF) *~ 1 2 3 core core.* config.guess console.log console.sum
- @$(RMF) working/*
- @$(RMF) -r examples/devices/CVS autoconf/CVS autoconf/gnome-macros/CVS
- @$(RMF) -r doc/techlogs/2002/CVS doc/techlogs/2001/CVS doc/techlogs/1.27/CVS
- @$(RMF) -r examples/CVS intl/CVS scripts/CVS
- @$(RMF) -r po/CVS src/immortal/CVS rescue/freebsd/CVS rescue/solaris/CVS
- @$(RMF) -r CVS src/gnome-console/CVS src/tconsole/CVS
+ @$(RMF) working/* kerns-*
+ @$(RMF) -rf txt diff src/python src/testprogs
+ @$(RMF) libtool
devclean:
- @for I in $(all_subdirs); do (cd $$I; $(MAKE) $@ || exit 1); done
- @for I in $(all_subdirs); do (cd $$I; $(RMF) startit stopit btraceback); done
- @(cd $(srcdir); $(RMF) *~ config.cache config.h config.log config.status config.out)
- @(cd $(srcdir); $(RMF) Makefile autoconf/Make.common)
+ @for I in $(all_subdirs); do (cd $$I && $(MAKE) $@ || exit 1); done
+ @for I in $(all_subdirs); do (cd $$I && $(RMF) startit stopit btraceback); done
+ @(cd $(srcdir) && $(RMF) *~ config.cache config.h config.log config.status config.out)
+ @(cd $(srcdir) && $(RMF) Makefile autoconf/Make.common)
@(cd platforms; echo "==>Entering directory `pwd`"; ${MAKE} $@ || exit 1)
@$(RMF) bacula fd Makefile startmysql stopmysql startit stopit btraceback
@$(RMF) bconsole gconsole
distdirs:
mkdir ../$(VERNAME);
mkdir ../$(VERNAME)/autoconf;
- @for I in $(all_subdirs); do (cd $$I; $(MAKE) DESTDIR=$(DESTDIR) $@ || (echo "Failed to make distclean in $$I"; exit 0) ); done
+ @for I in $(all_subdirs); do (cd $$I && $(MAKE) DESTDIR=$(DESTDIR) $@ || (echo "Failed to make distclean in $$I"; exit 0) ); done
distcopy:
$(CP) -p $(DIST) ../$(VERNAME);
$(CP) -p $(DIST_CFG) ../$(VERNAME)/autoconf;
- @for I in $(all_subdirs); do (cd $$I; $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1); done
+ @for I in $(all_subdirs); do (cd $$I && $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1); done
distrib: configure autoconf/config.h.in distdirs distcopy