#!/usr/bin/make -f name = @name@ # version 0.7.1 # Copyright (C) 2009 Luke Shumaker # 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. # # Originally written by Luke Shumaker . 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)/$(rvs) export srcdir prefix exec_prefix bindir sbindir libexecdir # Programs ######################################################### 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 # plugin targets ################################################### plugins = $(patsubst $(srcdir)/plugins/%,%,\ $(shell find $(srcdir)/plugins/* -maxdepth 0 -type d)) make-plugins = $(addprefix p-,$(plugins)) install-plugins = $(addprefix install-p-,$(plugins)) remove-plugins = $(addprefix remove-p-,$(plugins)) all-plugins = $(make-plugins) $(install-plugins) $(remove-plugins) # phony targets #################################################### all : $(rvs) $(make-plugins) #.PHONY : install uninstall clean distclean $(all-plugins) .PHONY : install uninstall clean distclean .SUFFIXES : # targets ########################################################## b := @ $(rvs) : $(srcdir)/rvs.sh $(SED) \ -e 's/$bSHELL@/$(subst /,\/,$(SHELL))/g' \ -e 's/$blibexecdir@/$(subst /,\/,$(libexecdir))/g' \ -e 's/$bname@/$(subst /,\/,$(name))/g' \ < $< > $@ $(RVS) : $(rvs) $(bindir) $(INSTALL_PROGRAM) $< $@ $(libexecdir)/$(rvs)/plugins : $(libexecdir)/$(rvs) $(TOUCH) $@ # install/clean/remove ############################################# install : install-$(name) $(libexecdir)/$(rvs)/plugins $(install-plugins) install-$(name) : $(bindir)/$(rvs) uninstall : $(RM) $(bindir)/$(rvs) $(RM) -r $(libexecdir)/$(rvs) clean : $(RM) var.sed distclean : clean $(RM) Makefile $(RM) $(rvs) # implicit rules ################################################### $(dirs) : $(MKDIR) $@ # make/install/uninstall plugins p-% : plugins/% plugins/%/Makefile $(srcdir)/plugins/% $(MAKE) -C $< install-p-% : plugins/% plugins/%/Makefile $(srcdir)/plugins/% p-% $(MAKE) -C $< install uninstall-p-% : plugins/% plugins/%/Makefile $(MAKE) -C $< uninstall