diff options
Diffstat (limited to 'main.mk.in')
-rw-r--r-- | main.mk.in | 127 |
1 files changed, 64 insertions, 63 deletions
@@ -1,84 +1,85 @@ #!/usr/bin/make -f -name = @name@ -ver = 0.9 -# Copyright (C) 2009 Luke Shumaker -# -# This program 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 of the -# License, or (at your option) any later version. -# -# This program 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 this program; see the file COPYING. -# If not, see <http://www.gnu.org/licenses>. - -rvs = $(name) -RVS = @RVS@ -# 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)) +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@ # phony targets #################################################### -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) - +all : $(name) +.PHONY : $(name) install uninstall clean distclean dist .SUFFIXES : -# install ########################################################## +# build ############################################################ +mysrcdir = $(srcdir)/plugins/$(name) +myoutdir = outs + +srcFiles = $(filter-out %/Makefile.in,$(shell find $(mysrcdir)/ -type f)) + +shSrcFiles = $(filter %.sh,$(srcFiles)) +shOutFiles = $(patsubst $(mysrcdir)/%,$(myoutdir)/%,$(basename $(shSrcFiles))) -install : install-wrapper libexec $(install-plugins) +$(name) : $(myoutdir) $(shOutFiles) $(myoutdir)/plugin.conf -# $(libexecdir)/rvs/* -libexec : $(libexecdir)/$(rvs)/plugins -$(libexecdir)/$(rvs)/plugins : $(libexecdir)/$(rvs) - $(TOUCH) $@ +$(myoutdir)/plugin.conf : $(mysrcdir)/plugin.conf + $(INSTALL_DATA) $< $@ -# uninstall ######################################################## +# (un)install ###################################################### + +install : all + $(RVS) install $(name)-$(ver) $(myoutdir) uninstall : - $(RM) $(bindir)/$(rvs) - $(RM) -r $(libexecdir)/$(rvs) + $(RVS) uninstall $(name) # clean ############################################################ -clean : $(clean-plugins) clean-wrapper +clean : -distclean : clean $(distclean-plugins) distclean-wrapper +distclean : clean $(RM) Makefile + $(RM) -r out + +# dist ############################################################# + +id = $(name)-$(ver) +dist : $(id).tar.gz -# wrapper ########################################################## +$(id).tar.gz : $(id) + tar -czf $@ $< -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 +$(id) : distclean + $(INSTALL) -m 777 -d $@ + $(CP) -r $(mysrcdir)/* $@ -install-wrapper : wrapper/ wrapper/Makefile wrapper; $(MAKE) -C $< install -$(RVS) : install-wrapper +# implicit rules ################################################### -# plugins ########################################################## +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' \ + $@ -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 +$(dirs) $(libexecdir)/$(rvs) $(myoutdir) : + $(MKDIR) $@ |