]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/cats/Makefile.in
Drop the usage of macros within macros as it seems some platforms native makes don...
[bacula/bacula] / bacula / src / cats / Makefile.in
index 3be938d7cf314713b7f18b3e10aaf5fa8ef89811..5ed376f9909edf7ee5d1f5a0556801bf330551f8 100644 (file)
@@ -11,7 +11,10 @@ topdir = ../..
 # this dir relative to top dir
 thisdir = src/cats
 
+CPPFLAGS += -DBUILDING_CATS @DBI_DBD_DRIVERDIR@
+
 DEBUG=@DEBUG@
+MKDIR=$(topdir)/autoconf/mkinstalldirs
 
 SQL_INC=@SQL_INCLUDE@
 
@@ -19,68 +22,163 @@ first_rule: all
 dummy:
 
 #
-SVRSRCS = cats.c sql.c
-SVROBJS = cats.o sql.o
-
-LIBSRCS = mysql.c bdb.c bdb_create.c bdb_get.c bdb_update.c \
-         bdb_delete.c bdb_find.c bdb_list.c \
-         sql.c sql_create.c sql_delete.c sql_find.c \
-         sql_get.c sql_list.c sql_update.c sqlite.c 
-LIBOBJS = mysql.o bdb.o bdb_create.o bdb_get.o bdb_update.o \
-         bdb_delete.o bdb_find.o bdb_list.o \
-         sql.o sql_create.o sql_delete.o sql_find.o \
-         sql_get.o sql_list.o sql_update.o sqlite.o
-
-.SUFFIXES:     .c .o
+# include files installed when using libtool
+#
+INCLUDE_FILES = bdb.h cats.h protos.h sql_cmds.h
+
+LIBBACSQL_SRCS = mysql.c bdb.c dbi.c \
+                 sql.c sql_cmds.c sql_create.c sql_delete.c sql_find.c \
+                 sql_get.c sql_list.c sql_update.c sqlite.c \
+                 postgresql.c bvfs.c
+LIBBACSQL_OBJS = $(LIBBACSQL_SRCS:.c=.o)
+LIBBACSQL_LOBJS = $(LIBBACSQL_SRCS:.c=.lo)
+
+LIBBACSQL_LT_CURRENT = 1
+LIBBACSQL_LT_REVISION = 0
+LIBBACSQL_LT_AGE = 0
+
+.SUFFIXES:     .c .o .lo
 .PHONY:
 .DONTCARE:
 
 # inference rules
 .c.o:
-       $(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(SQL_INC) $(DINCLUDE) $(CFLAGS) $<
+       @echo "Compiling $<"
+       $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(SQL_INC) $(DINCLUDE) $(CFLAGS) $<
+
+.c.lo:
+       @echo "Compiling $<"
+       $(NO_ECHO)$(LIBTOOL_COMPILE) $(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(SQL_INC) $(DINCLUDE) $(CFLAGS) $<
 #-------------------------------------------------------------------------
-all: Makefile libsql.a
-       @echo "==== Make of cats is good ===="
+all: Makefile libbacsql$(DEFAULT_ARCHIVE_TYPE)
+       @echo "==== Make of sqllib is good ===="
        @echo " "
 
-libsql.a: $(LIBOBJS)
-       $(AR) rcs $@ $(LIBOBJS)
+libbacsql.a: $(LIBBACSQL_OBJS)
+       @echo "Making $@ ..."     
+       $(AR) rc  $@ $(LIBBACSQL_OBJS)
        $(RANLIB) $@
 
-cats: $(SVROBJS) ../findlib/libfind.a
-       $(CC) $(LDFLAGS) -L../findlib -L../lib -o $@ $(SVROBJS) $(LIBS) $(DLIB) -lfind -lbac
+libbacsql.la: Makefile $(LIBBACSQL_LOBJS)
+       @echo "Making $@ ..."     
+       $(LIBTOOL_LINK) $(CXX) $(DEFS) $(DEBUG) $(LDFLAGS) -o $@ $(LIBBACSQL_LOBJS) -export-dynamic -rpath $(libdir) -version-info $(LIBBACSQL_LT_CURRENT):$(LIBBACSQL_LT_REVISION):$(LIBBACSQL_LT_AGE) $(DB_LIBS)
 
 Makefile: $(srcdir)/Makefile.in $(topdir)/config.status
        cd $(topdir) \
          && CONFIG_FILES=$(thisdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
+libtool-clean:
+       @find . -name '*.lo' -print | xargs $(LIBTOOL_CLEAN) $(RMF)
+       @$(RMF) *.la
+       @$(RMF) -r .libs _libs
 
-clean:
-       $(RMF) cats core a.out *.o *.a *.bak *~ *.intpro *.extpro 1 2 3
+clean: libtool-clean
+       @$(RMF) core a.out *.o *.bak *~ *.intpro *.extpro 1 2 3
 
 realclean: clean
        $(RMF) tags
-       $(RMF) make_mysql_tables grant_mysql_privileges drop_mysql_tables
-       $(RMF) create_mysql_database make_sqlite_tables sqlite
-       $(RMF) create_bdb_database drop_bdb_tables make_dbd_tables
+
+       $(RMF) create_bacula_database      update_bacula_tables     make_bacula_tables
+       $(RMF) grant_bacula_privileges     drop_bacula_tables       drop_bacula_database
+
+       $(RMF) create_bdb_database         update_bdb_tables        make_bdb_tables
+       $(RMF) grant_bdb_privileges        drop_bdb_tables          drop_bdb_database
+
+       $(RMF) create_mysql_database       update_mysql_tables      make_mysql_tables
+       $(RMF) grant_mysql_privileges      drop_mysql_tables        drop_mysql_database
+
+       $(RMF) create_postgresql_database  update_postgresql_tables make_postgresql_tables
+       $(RMF) grant_postgresql_privileges drop_postgresql_tables   drop_postgresql_database
+
+       $(RMF) create_sqlite_database      update_sqlite_tables     make_sqlite_tables
+       $(RMF) grant_sqlite_privileges     drop_sqlite_tables       drop_sqlite_database
+
+       $(RMF) create_sqlite3_database     update_sqlite3_tables     make_sqlite3_tables
+       $(RMF) grant_sqlite3_privileges    drop_sqlite3_tables      drop_sqlite3_database
+
+       $(RMF) mysql sqlite postgresql
+       $(RMF) make_catalog_backup delete_catalog_backup
 
 distclean: realclean
        if test $(srcdir) = .; then $(MAKE) realclean; fi
        (cd $(srcdir); $(RMF) Makefile)
 
-install:
-       $(INSTALL_SCRIPT) create_@DB_NAME@_database $(DESTDIR)$(sysconfdir)/create_@DB_NAME@_database
-       $(INSTALL_SCRIPT) drop_@DB_NAME@_tables $(DESTDIR)$(sysconfdir)/drop_@DB_NAME@_tables
-       $(INSTALL_SCRIPT) make_@DB_NAME@_tables $(DESTDIR)$(sysconfdir)/make_@DB_NAME@_tables
-
-uninstall:
-       (cd $(DESTDIR)$(sysconfdir); $(RMF) create_@DB_NAME@_database)
-       (cd $(DESTDIR)$(sysconfdir); $(RMF) drop_@DB_NAME@_tables)
-       (cd $(DESTDIR)$(sysconfdir); $(RMF) make_@DB_NAME@_tables)
+devclean: realclean
+       if test $(srcdir) = .; then $(MAKE) realclean; fi
+       (cd $(srcdir); $(RMF) Makefile)
 
+install-includes:
+       $(MKDIR) $(DESTDIR)/$(includedir)/bacula/sql
+       for I in $(INCLUDE_FILES); do \
+          $(INSTALL_DATA) $$I $(DESTDIR)$(includedir)/bacula/sql/`basename $$I`; \
+       done
+
+uninstall-includes:
+       for I in $(INCLUDE_FILES); do \
+          $(RMF) $(DESTDIR)$(includedir)/bacula/sql/`basename $$I`; \
+       done
+
+libtool-install: all
+       $(MKDIR) $(DESTDIR)$(libdir)
+       $(LIBTOOL_INSTALL_FINISH) $(INSTALL_PROGRAM) libbacsql$(DEFAULT_ARCHIVE_TYPE) $(DESTDIR)$(libdir)
+
+libtool-uninstall:
+       $(LIBTOOL_UNINSTALL) $(RMF) $(DESTDIR)$(libdir)/libbacsql.la
+
+install: @LIBTOOL_INSTALL_TARGET@ @INCLUDE_INSTALL_TARGET@
+       $(INSTALL_SCRIPT) create_@DB_TYPE@_database $(DESTDIR)$(scriptdir)/create_@DB_TYPE@_database
+       $(INSTALL_SCRIPT) update_@DB_TYPE@_tables $(DESTDIR)$(scriptdir)/update_@DB_TYPE@_tables
+       $(INSTALL_SCRIPT) make_@DB_TYPE@_tables $(DESTDIR)$(scriptdir)/make_@DB_TYPE@_tables
+       $(INSTALL_SCRIPT) grant_@DB_TYPE@_privileges $(DESTDIR)$(scriptdir)/grant_@DB_TYPE@_privileges
+       $(INSTALL_SCRIPT) drop_@DB_TYPE@_tables $(DESTDIR)$(scriptdir)/drop_@DB_TYPE@_tables
+       $(INSTALL_SCRIPT) drop_@DB_TYPE@_database $(DESTDIR)$(scriptdir)/drop_@DB_TYPE@_database
+
+       $(INSTALL_SCRIPT) create_bacula_database $(DESTDIR)$(scriptdir)/create_bacula_database
+       $(INSTALL_SCRIPT) update_bacula_tables $(DESTDIR)$(scriptdir)/update_bacula_tables
+       $(INSTALL_SCRIPT) make_bacula_tables $(DESTDIR)$(scriptdir)/make_bacula_tables
+       $(INSTALL_SCRIPT) grant_bacula_privileges $(DESTDIR)$(scriptdir)/grant_bacula_privileges
+       $(INSTALL_SCRIPT) drop_bacula_tables $(DESTDIR)$(scriptdir)/drop_bacula_tables
+       $(INSTALL_SCRIPT) drop_bacula_database $(DESTDIR)$(scriptdir)/drop_bacula_database
+
+       @filename=make_catalog_backup; \
+          if  test -f $(DESTDIR)$(scriptdir)/$$filename; then \
+             destname=$$filename.new; \
+             echo "  ==> Found existing $$filename, installing new file as $$destname"; \
+          else \
+             destname=$$filename; \
+          fi; \
+          echo "$(INSTALL_SCRIPT) $$filename $(DESTDIR)$(scriptdir)/$$destname"; \
+          $(INSTALL_SCRIPT) $$filename $(DESTDIR)$(scriptdir)/$$destname
+       @filename=delete_catalog_backup; \
+          if  test -f $(DESTDIR)$(scriptdir)/$$filename; then \
+             destname=$$filename.new; \
+             echo "  ==> Found existing $$filename, installing new file as $$destname"; \
+          else \
+             destname=$$filename; \
+          fi; \
+          echo "$(INSTALL_SCRIPT) $$filename $(DESTDIR)$(scriptdir)/$$destname"; \
+          $(INSTALL_SCRIPT) $$filename $(DESTDIR)$(scriptdir)/$$destname
+
+uninstall: @LIBTOOL_UNINSTALL_TARGET@ @INCLUDE_UNINSTALL_TARGET@
+       (cd $(DESTDIR)$(scriptdir); $(RMF) create_@DB_TYPE@_database)
+       (cd $(DESTDIR)$(scriptdir); $(RMF) update_@DB_TYPE@_tables)
+       (cd $(DESTDIR)$(scriptdir); $(RMF) make_@DB_TYPE@_tables)
+       (cd $(DESTDIR)$(scriptdir); $(RMF) grant_@DB_TYPE@_privileges)
+       (cd $(DESTDIR)$(scriptdir); $(RMF) drop_@DB_TYPE@_tables)
+       (cd $(DESTDIR)$(scriptdir); $(RMF) drop_@DB_TYPE@_database)
+
+       (cd $(DESTDIR)$(scriptdir); $(RMF) create_bacula_database)
+       (cd $(DESTDIR)$(scriptdir); $(RMF) update_bacula_tables)
+       (cd $(DESTDIR)$(scriptdir); $(RMF) make_bacula_tables)
+       (cd $(DESTDIR)$(scriptdir); $(RMF) grant_bacula_privileges)
+       (cd $(DESTDIR)$(scriptdir); $(RMF) drop_bacula_tables)
+       (cd $(DESTDIR)$(scriptdir); $(RMF) drop_bacula_database)
+
+       (cd $(DESTDIR)$(scriptdir); $(RMF) make_catalog_backup)
+       (cd $(DESTDIR)$(scriptdir); $(RMF) delete_catalog_backup)
 
 # Semi-automatic generation of dependencies:
-# Use gcc -MM because X11 `makedepend' doesn't work on all systems
+# Use gcc -M because X11 `makedepend' doesn't work on all systems
 # and it also includes system headers.
 # `semi'-automatic since dependencies are generated at distribution time.
 
@@ -88,12 +186,14 @@ depend:
        @$(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
+       @for src in $(LIBSRCS); do \
+           $(CXX) -S -M -MT `basename $$src .c`$(DEFAULT_OBJECT_TYPE) $(CPPFLAGS) $(XINC) -I$(srcdir) -I$(basedir) $(SQL_INC) $$src >> Makefile; \
+       done
        @if test -f Makefile ; then \
            $(RMF) Makefile.bak; \
        else \
           $(MV) Makefile.bak Makefile; \
-          echo -e "Something went wrong\n\a"; \
+          echo " ===== Something went wrong in make depend ====="; \
        fi
 
 # -----------------------------------------------------------------------