diff options
-rw-r--r-- | rvs/main.mk.in | 121 | ||||
-rw-r--r-- | rvs/plugins/repo/main.mk.in | 108 | ||||
-rw-r--r-- | rvs/plugins/users/main.mk.in | 108 |
3 files changed, 297 insertions, 40 deletions
diff --git a/rvs/main.mk.in b/rvs/main.mk.in index 46fa64a..9b884e4 100644 --- a/rvs/main.mk.in +++ b/rvs/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/rvs/plugins/repo/main.mk.in b/rvs/plugins/repo/main.mk.in new file mode 100644 index 0000000..7078bb6 --- /dev/null +++ b/rvs/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/rvs/plugins/users/main.mk.in b/rvs/plugins/users/main.mk.in new file mode 100644 index 0000000..0ac9cf5 --- /dev/null +++ b/rvs/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) $@ + |