diff --git a/contrib/rserv/Makefile b/contrib/rserv/Makefile index 984a839415..f6b202db50 100644 --- a/contrib/rserv/Makefile +++ b/contrib/rserv/Makefile @@ -6,47 +6,33 @@ top_builddir = ../.. include $(top_builddir)/src/Makefile.global NAME = rserv -SONAME = $(NAME)$(DLSUFFIX) -SQLS = master.sql slave.sql -TCLS = RservTest -PERLS = MasterInit MasterAddTable Replicate MasterSync CleanLog -PERLS += SlaveInit SlaveAddTable GetSyncID -PERLS += PrepareSnapshot ApplySnapshot -SCRIPTS = InitRservTest +MODULES = rserv +DATA = RServ.pm +DATA_built = master.sql slave.sql +SQLS = $(DATA_built) +DOCS = README.rserv +SCRIPTS = RservTest +SCRIPTS += MasterInit MasterAddTable Replicate MasterSync CleanLog +SCRIPTS += SlaveInit SlaveAddTable GetSyncID +SCRIPTS += PrepareSnapshot ApplySnapshot +SCRIPTS += InitRservTest +EXTRA_CLEAN = $(SCRIPTS) override CPPFLAGS := -I$(srcdir) $(CPPFLAGS) override CFLAGS += $(CFLAGS_SL) SHLIB_LINK = $(BE_DLLLIBS) -all: $(SQLS) $(TCLS) $(PERLS) $(SCRIPTS) $(SONAME) +all: $(SCRIPTS) $(SQLS) $(addsuffix $(DLSUFFIX), $(MODULES)) -%.sql: %.sql.in +$(SQLS): %.sql: %.sql.in sed 's,@MODULE_FILENAME@,$$libdir/$(NAME),g' $< >$@ -$(PERLS) $(TCLS) $(SCRIPTS): %: %.in +$(SCRIPTS): %: %.in sed -e 's,@MODULE_FILENAME@,$$libdir/$(NAME),g' \ -e 's:@SQLDIR@:$(datadir)/contrib:g' \ -e 's:@BINDIR@:$(bindir):g' \ -e 's:@LIBDIR@:$(datadir)/contrib:g' $< >$@ chmod a+x $@ - -install: all installdirs - for file in $(SQLS); do \ - $(INSTALL_DATA) $$file $(DESTDIR)$(datadir)/contrib || exit ; \ - done - for file in $(TCLS) $(PERLS) $(SCRIPTS); do \ - $(INSTALL_SCRIPT) $$file $(DESTDIR)$(bindir) || exit ; \ - done - $(INSTALL_DATA) $(srcdir)/RServ.pm $(DESTDIR)$(datadir)/contrib - $(INSTALL_SHLIB) $(SONAME) $(DESTDIR)$(pkglibdir) - $(INSTALL_DATA) $(srcdir)/README.$(NAME) $(DESTDIR)$(docdir)/contrib - -installdirs: - $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(datadir)/contrib \ - $(DESTDIR)$(pkglibdir) $(DESTDIR)$(docdir)/contrib - - -clean distclean maintainer-clean: - rm -f $(SQLS) $(TCLS) $(PERLS) $(SCRIPTS) $(SONAME) $(NAME).o +include $(top_srcdir)/contrib/contrib-global.mk diff --git a/contrib/rserv/MasterInit.in b/contrib/rserv/MasterInit.in index 1bfe1c9776..0c9b648c21 100644 --- a/contrib/rserv/MasterInit.in +++ b/contrib/rserv/MasterInit.in @@ -22,6 +22,8 @@ if (defined($opt_help) || (scalar(@ARGV) < 1)) { exit ((scalar(@ARGV) < 1)? 1:0); } +my $module_filename = '@MODULE_FILENAME@'; + my $master = $ARGV[0] || "master"; my $minfo = "dbname=$master"; @@ -90,15 +92,15 @@ $result = $conn->exec("create sequence _rserv_sync_seq_"); RollbackAndQuit($conn) if ($result->resultStatus ne PGRES_COMMAND_OK); $result = $conn->exec("CREATE FUNCTION _rserv_log_() RETURNS trigger" . - " AS '@MODULE_FILENAME@' LANGUAGE 'c'"); + " AS '$module_filename' LANGUAGE 'c'"); RollbackAndQuit($conn) if ($result->resultStatus ne PGRES_COMMAND_OK); $result = $conn->exec("CREATE FUNCTION _rserv_sync_(int4) RETURNS int4" . - " AS '@MODULE_FILENAME@' LANGUAGE 'c'"); + " AS '$module_filename' LANGUAGE 'c'"); RollbackAndQuit($conn) if ($result->resultStatus ne PGRES_COMMAND_OK); $result = $conn->exec("CREATE FUNCTION _rserv_debug_(int4) RETURNS int4" . - " AS '@MODULE_FILENAME@' LANGUAGE 'c'"); + " AS '$module_filename' LANGUAGE 'c'"); RollbackAndQuit($conn) if ($result->resultStatus ne PGRES_COMMAND_OK); $result = $conn->exec("COMMIT");