summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main.mk.in121
-rw-r--r--plugins/repo/main.mk.in108
-rw-r--r--plugins/users/main.mk.in108
3 files changed, 297 insertions, 40 deletions
diff --git a/main.mk.in b/main.mk.in
index 46fa64a..9b884e4 100644
--- a/main.mk.in
+++ b/main.mk.in
@@ -1,6 +1,6 @@
#!/usr/bin/make -f
-name=repo
-ver=0.8r61
+name = @name@
+ver = 0.8r58
# Copyright (C) 2009 Luke Shumaker
#
# This file is part of rvs.
@@ -19,67 +19,108 @@ ver=0.8r61
# If not, write to the Free Software Foundation,
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-export rvs = @name@
+export rvs = $(name)
+# directories ######################################################
+srcdir = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+dirs = $(srcdir) $(prefix) $(exec_prefix) $(bindir) $(sbindir) $(libexecdir)
+export srcdir prefix exec_prefix bindir sbindir libexecdir
+
+# programs #########################################################
+CC = @CC@
+RVS = @RVS@
+SHELL = @SHELL@
+RM = rm -f
+CP = cp
+SED = sed
+INSTALL = install
+MKDIR = $(INSTALL) -d #mkdir -p
+INSTALL_PROGRAM = $(INSTALL)
+INSTALL_DATA = $(INSTALL) -m 644
+TOUCH = touch
+export RVS SHELL RM CP SED INSTALL MKDIR INSTALL_PROGRAM INSTALL_DATA TOUCH
+
+# plugins ##########################################################
+plugins = $(patsubst $(srcdir)/plugins/%,%, \
+ $(shell find $(srcdir)/plugins/* -maxdepth 0 -type d))
+
+build-plugins = $(addprefix p-,$(plugins))
+install-plugins = $(addprefix install-p-,$(plugins))
+uninstall-plugins = $(addprefix uninstall-p-,$(plugins))
+clean-plugins = $(addprefix clean-p-,$(plugins))
+distclean-plugins = $(addprefix distclean-p-,$(plugins))
+dist-plugins = $(addprefix dist-p-,$(plugins))
# phony targets ####################################################
-all : $(name)
-.PHONY : $(name) install uninstall clean distclean dist
-.SUFFIXES :
-
-# build ############################################################
-mysrcdir = $(srcdir)/plugins/$(name)
-myoutdir = outs
-
-srcFiles = $(filter-out %/Makefile.in,$(shell find $(mysrcdir)/ -type f))
+all : wrapper $(build-plugins)
+.PHONY : install uninstall clean distclean dist libexec \
+ build-wrapper install-wrapper uninstall-wrapper clean-wrapper distclean-wrapper dist-wrapper
+#$(build-plugins) $(install-plugins) $(uninstall-plugins) $(clean-plugins) $(distclean-plugins) $(dist-plugins)
-shSrcFiles = $(filter %.sh,$(srcFiles))
-shOutFiles = $(patsubst $(mysrcdir)/%,$(myoutdir)/%,$(basename $(shSrcFiles)))
+.SUFFIXES :
-$(name) : $(myoutdir) $(shOutFiles) $(myoutdir)/plugin.conf
+# install ##########################################################
-$(myoutdir)/plugin.conf : $(mysrcdir)/plugin.conf
- $(INSTALL_DATA) $< $@
+install : install-wrapper libexec $(install-plugins)
-# (un)install ######################################################
+# $(libexecdir)/rvs/*
+libexec : $(libexecdir)/$(rvs)/plugins
+$(libexecdir)/$(rvs)/plugins : $(libexecdir)/$(rvs)
+ $(TOUCH) $@
-install : all
- $(RVS) install $(name)-$(ver) $(myoutdir)
+# uninstall ########################################################
uninstall :
- $(RVS) uninstall $(name)
+ $(RM) $(bindir)/$(rvs)
+ $(RM) -r $(libexecdir)/$(rvs)
# clean ############################################################
-clean :
+clean : $(clean-plugins) clean-wrapper
-distclean : clean
+distclean : clean $(distclean-plugins) distclean-wrapper
$(RM) Makefile
- $(RM) -r out
# dist #############################################################
-id = $(name)-$(ver)
-dist : $(id).tar.gz
+d = $(name)-$(ver)
+dist : $(d).tar.gz
-$(id).tar.gz : $(id)
+$(d).tar.gz : $(d)
tar -czf $@ $<
-$(id) : distclean
+$(d) : distclean
$(INSTALL) -m 777 -d $@
- $(CP) -r $(mysrcdir)/* $@
+ $(CP) -r $(srcdir)/* $@
+
+# wrapper ##########################################################
+
+wrapper : build-wrapper
+build-wrapper : wrapper/ wrapper/Makefile; $(MAKE) -C $<
+uninstall-wrapper : wrapper/ wrapper/Makefile; $(MAKE) -C $< uninstall
+clean-wrapper : wrapper/ wrapper/Makefile; $(MAKE) -C $< clean
+distclean-wrapper : wrapper/ wrapper/Makefile; $(MAKE) -C $< distclean
+dist-wrapper : wrapper/ wrapper/Makefile; $(MAKE) -C $< dist
+
+install-wrapper : wrapper/ wrapper/Makefile wrapper; $(MAKE) -C $< install
+$(RVS) : install-wrapper
+
+# plugins ##########################################################
+
+install-p-% : plugins/% plugins/%/Makefile p-% libexec $(RVS)
+ $(MAKE) -C $< install
+p-% : plugins/% plugins/%/Makefile ; $(MAKE) -C $<
+uninstall-p-% : plugins/% plugins/%/Makefile ; $(MAKE) -C $< uninstall
+clean-p-% : plugins/% plugins/%/Makefile ; $(MAKE) -C $< clean
+distclean-p-% : plugins/% plugins/%/Makefile ; $(MAKE) -C $< distclean
+dist-p-% : plugins/% plugins/%/Makefile ; $(MAKE) -C $< dist
# implicit rules ###################################################
-b := @
-# build shell scripts
-$(myoutdir)/% : $(mysrcdir)/%.sh $(myoutdir)
- $(INSTALL_PROGRAM) $< $@
- $(SED) -i \
- -e 's/$bSHELL@/$(subst /,\/,$(SHELL))/g' \
- -e 's/$blibexecdir@/$(subst /,\/,$(libexecdir))/g' \
- -e 's/$bID@/$(subst /,\/,$(id))/g' \
- $@
-
-$(dirs) $(libexecdir)/$(rvs) $(myoutdir) :
+$(dirs) $(libexecdir)/$(rvs) :
$(MKDIR) $@
diff --git a/plugins/repo/main.mk.in b/plugins/repo/main.mk.in
new file mode 100644
index 0000000..7078bb6
--- /dev/null
+++ b/plugins/repo/main.mk.in
@@ -0,0 +1,108 @@
+#!/usr/bin/make -f
+name=repo
+ver=0.8r61
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+export rvs ?= @name@
+# directories ######################################################
+srcdir ?= @srcdir@
+prefix ?= @prefix@
+exec_prefix ?= @exec_prefix@
+bindir ?= @bindir@
+sbindir ?= @sbindir@
+libexecdir ?= @libexecdir@
+dirs = $(srcdir) $(prefix) $(exec_prefix) $(bindir) $(sbindir) $(libexecdir)/
+#export srcdir prefix exec_prefix bindir sbindir libexecdir
+
+# programs #########################################################
+CC ?= @CC@
+RVS ?= @RVS@
+SHELL ?= @SHELL@
+RM ?= rm
+CP ?= cp
+SED ?= sed
+INSTALL ?= install
+MKDIR ?= $(INSTALL) -d #mkdir -p
+INSTALL_PROGRAM ?= $(INSTALL)
+INSTALL_DATA ?= $(INSTALL) -m 644
+TOUCH ?= touch # This file doesn't use touch
+#export RVS SHELL RM CP SED INSTALL MKDIR INSTALL_PROGRAM INSTALL_DATA TOUCH
+
+# phony targets ####################################################
+all : $(name)
+.PHONY : $(name) install uninstall clean distclean dist
+.SUFFIXES :
+
+# build ############################################################
+mysrcdir = $(srcdir)/plugins/$(name)
+myoutdir = out
+
+srcFiles = $(filter-out %/Makefile.in,$(shell find $(mysrcdir)/ -type f))
+
+shSrcFiles = $(filter %.sh,$(srcFiles))
+shOutFiles = $(patsubst $(mysrcdir)/%,$(myoutdir)/%,$(basename $(shSrcFiles)))
+
+$(name) : $(myoutdir) $(shOutFiles) $(myoutdir)/plugin.conf
+
+$(myoutdir)/plugin.conf : $(mysrcdir)/plugin.conf
+ $(INSTALL_DATA) $< $@
+
+# (un)install ######################################################
+
+install : all
+ $(RVS) install $(name)-$(ver) $(myoutdir)
+
+uninstall :
+ $(RVS) uninstall $(name)
+
+# clean ############################################################
+
+clean :
+
+distclean : clean
+ $(RM) Makefile
+ $(RM) -r out
+
+# dist #############################################################
+
+id = $(name)-$(ver)
+dist : $(id).tar.gz
+
+$(id).tar.gz : $(id)
+ tar -czf $@ $<
+
+$(id) : distclean
+ $(INSTALL) -m 777 -d $@
+ $(CP) -r $(mysrcdir)/* $@
+
+# implicit rules ###################################################
+
+b := @
+# build shell scripts
+$(myoutdir)/% : $(mysrcdir)/%.sh $(myoutdir)
+ $(INSTALL_PROGRAM) $< $@
+ $(SED) -i \
+ -e 's/$bSHELL@/$(subst /,\/,$(SHELL))/g' \
+ -e 's/$blibexecdir@/$(subst /,\/,$(libexecdir))/g' \
+ -e 's/$bID@/$(subst /,\/,$(id))/g' \
+ $@
+
+$(dirs) $(libexecdir)/$(rvs) $(myoutdir) :
+ $(MKDIR) $@
+
diff --git a/plugins/users/main.mk.in b/plugins/users/main.mk.in
new file mode 100644
index 0000000..0ac9cf5
--- /dev/null
+++ b/plugins/users/main.mk.in
@@ -0,0 +1,108 @@
+#!/usr/bin/make -f
+name=users
+ver=0.8r61
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+export rvs ?= @name@
+# directories ######################################################
+srcdir ?= @srcdir@
+prefix ?= @prefix@
+exec_prefix ?= @exec_prefix@
+bindir ?= @bindir@
+sbindir ?= @sbindir@
+libexecdir ?= @libexecdir@
+dirs = $(srcdir) $(prefix) $(exec_prefix) $(bindir) $(sbindir) $(libexecdir)/
+#export srcdir prefix exec_prefix bindir sbindir libexecdir
+
+# programs #########################################################
+CC ?= @CC@
+RVS ?= @RVS@
+SHELL ?= @SHELL@
+RM ?= rm
+CP ?= cp
+SED ?= sed
+INSTALL ?= install
+MKDIR ?= $(INSTALL) -d #mkdir -p
+INSTALL_PROGRAM ?= $(INSTALL)
+INSTALL_DATA ?= $(INSTALL) -m 644
+TOUCH ?= touch # This file doesn't use touch
+#export RVS SHELL RM CP SED INSTALL MKDIR INSTALL_PROGRAM INSTALL_DATA TOUCH
+
+# phony targets ####################################################
+all : $(name)
+.PHONY : $(name) install uninstall clean distclean dist
+.SUFFIXES :
+
+# build ############################################################
+mysrcdir = $(srcdir)/plugins/$(name)
+myoutdir = out
+
+srcFiles = $(filter-out %/Makefile.in,$(shell find $(mysrcdir)/ -type f))
+
+shSrcFiles = $(filter %.sh,$(srcFiles))
+shOutFiles = $(patsubst $(mysrcdir)/%,$(myoutdir)/%,$(basename $(shSrcFiles)))
+
+$(name) : $(myoutdir) $(shOutFiles) $(myoutdir)/plugin.conf
+
+$(myoutdir)/plugin.conf : $(mysrcdir)/plugin.conf
+ $(INSTALL_DATA) $< $@
+
+# (un)install ######################################################
+
+install : all
+ $(RVS) install $(name)-$(ver) $(myoutdir)
+
+uninstall :
+ $(RVS) uninstall $(name)
+
+# clean ############################################################
+
+clean :
+
+distclean : clean
+ $(RM) Makefile
+ $(RM) -r out
+
+# dist #############################################################
+
+id = $(name)-$(ver)
+dist : $(id).tar.gz
+
+$(id).tar.gz : $(id)
+ tar -czf $@ $<
+
+$(id) : distclean
+ $(INSTALL) -m 777 -d $@
+ $(CP) -r $(mysrcdir)/* $@
+
+# implicit rules ###################################################
+
+b := @
+# build shell scripts
+$(myoutdir)/% : $(mysrcdir)/%.sh $(myoutdir)
+ $(INSTALL_PROGRAM) $< $@
+ $(SED) -i \
+ -e 's/$bSHELL@/$(subst /,\/,$(SHELL))/g' \
+ -e 's/$blibexecdir@/$(subst /,\/,$(libexecdir))/g' \
+ -e 's/$bID@/$(subst /,\/,$(id))/g' \
+ $@
+
+$(dirs) $(libexecdir)/$(rvs) $(myoutdir) :
+ $(MKDIR) $@
+