#!/usr/bin/make -f name = repo ver = 0.7beta # 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 ############################################################# d = $(name)-$(ver) dist : $(d).tar.gz $(d).tar.gz : $(d) tar -czf $@ $< $(d) : distclean $(INSTALL) -m 777 -d $@ $(CP) -r $(mysrcdir)/* $@ # implicit rules ################################################### b := @ # build shell scripts $(myoutdir)/% : $(mysrcdir)/%.sh $(myoutdir) $(INSTALL_PROGRAM) $< $@ $(SED) -i 's/$bSHELL@/$(subst /,\/,$(SHELL))/g' $@ $(dirs) $(libexecdir)/$(rvs) $(myoutdir) : $(MKDIR) $@