#!/usr/bin/make -f name = users # version 0.7.0 # 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 . # Variables ######################################################## RM ?= rm -f CP ?= cp SED ?= sed INSTALL = install MKDIR ?= $(INSTALL) -d #mkdir -p INSTALL_PROGRAM ?= $(INSTALL) INSTALL_DATA ?= $(INSTALL) -m 644 SHELL ?= @SHELL@ rvsdir ?= @rvsdir@/rvs srcdir ?= @srcdir@ libdir = $(rvsdir)/$(name) reldir = plugins/$(name) mysrcdir = $(srcdir)/$(reldir) VPATH = $(mysrcdir) # phony targets #################################################### all : $(name) .PHONY : $(name) install uninstall clean distclean .SUFFIXES : # targets ########################################################## srcFiles = $(filter-out %/Makefile.in,$(shell find $(mysrcdir)/ -type f)) shSrcFiles = $(filter %.sh,$(srcFiles)) shOutFiles = $(patsubst $(mysrcdir)/%,%,$(basename $(shSrcFiles))) shExeFiles = $(patsubst %,$(libdir)/%, $(shOutFiles) ) $(name) : $(shOutFiles) # (un)install ###################################################### install : $(shExeFiles) echo $(name) >> $(rvsdir)/plugins uninstall : $(RM) -r $(libdir) $(SED) -i "/^$(name)$/ d" $(rvsdir)/plugins # clean ############################################################ clean : $(RM) $(shOutFiles) distclean : clean $(RM) Makefile # implicit rules ################################################### b := @ # build shell scripts % : $(mysrcdir)/%.sh $(MKDIR) $(dir $@) $(SED) 's/$bSHELL@/$(subst /,\/,$(SHELL))/g' <$< > $@ # workaround... idk why it doesn't match `lib/' lib/% : $(mysrcdir)/lib/%.sh $(MKDIR) $(dir $@) $(SED) 's/$bSHELL@/$(subst /,\/,$(SHELL))/g' <$< > $@ # install $(libdir)/% : % $(MKDIR) $(dir $@) $(INSTALL_PROGRAM) $< $@