#!/usr/bin/make -f #name=rvs plugin Makefile #ver=0.9 include info.mk # this contains the actuall name/version for the plugin # 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 . sysconfdir = @sysconfdir@ BINDIR = @BINDIR@ TMPDIR = @TMPDIR@ LIBDIR = @LIBDIR@ ETCDIR = @ETCDIR@ dirs += $(sysconfdir) $(BINDIR) $(TMPDIR) $(LIBDIR) $(ETCDIR) rvs = @rvs@ RVS = @RVS@ id = $(name)-$(ver) # phony targets #################################################### all : $(name) .PHONY : $(name) install uninstall clean distclean .SUFFIXES : # build ############################################################ srcFiles = $(filter-out %/Makefile.in,$(shell find $(srcdir)/ -type f)) shSrcFiles = $(filter %.sh,$(srcFiles)) shOutFiles = $(patsubst $(srcdir)/%,%,$(basename $(shSrcFiles))) outFiles = $(shOutFiles) outBin = $(addprefix bin-,$(notdir $(filter bin/%,$(outFiles)))) outEtc = $(addprefix $(ETCDIR)/$(name)/,$(notdir $(filter etc/%,$(outFiles)))) outLib = $(addprefix $(LIBDIR)/$(name)/,$(notdir $(filter lib/%,$(outFiles)))) $(name) : $(myoutdir) $(shOutFiles) # (un)install ###################################################### install : $(outBin) $(outEtc) $(outLib) unbin-% : bin/% $(RVS) uninstall $(notdir $<) $(name) bin-% : bin/% $(RVS) install $< $(notdir $<) $(name) $(priority) $(outEtc) : $(ETCDIR)/$(name)/% : etc/% $(MKDIR) $(dir $@) $(INSTALL_PROGRAM) $< $@ $(outLib) : $(LIBDIR)/$(name)/% : lib/% $(MKDIR) $(dir $@) $(INSTALL_DATA) $< $@ uninstall : $(addprefix un,$(outBin)) $(RM) -r $(ETCDIR)/$(name) $(RM) -r $(LIBDIR)/$(name) # clean ############################################################ clean : distclean : clean find ./ -name Makefile -exec $(RM) '{}' \; find ./ -name '*.mk' -exec $(RM) '{}' \; # implicit rules ################################################### b := @ # build shell scripts $(shOutFiles) : % : %.sh $(INSTALL_PROGRAM) $< $@ $(SED) -i \ -e 's/$bSHELL@/$(subst /,\/,$(SHELL))/g' \ -e 's/$blibexecdir@/$(subst /,\/,$(libexecdir))/g' \ -e 's/$bID@/$(subst /,\/,$(id))/g' \ $@