diff options
Diffstat (limited to 'plugins/repo/main.mk.in')
-rw-r--r-- | plugins/repo/main.mk.in | 108 |
1 files changed, 108 insertions, 0 deletions
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) $@ + |