#!/usr/bin/make -f name = @name@ ver = 0.8r58 # 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 -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 # plugins ########################################################## plugins = $(patsubst $(srcdir)/plugins/%,%, \ $(shell find $(srcdir)/plugins/* -maxdepth 0 -type d)) build-plugins = $(addprefix p-,$(plugins)) install-plugins = $(addprefix install-p-,$(plugins)) uninstall-plugins = $(addprefix uninstall-p-,$(plugins)) clean-plugins = $(addprefix clean-p-,$(plugins)) distclean-plugins = $(addprefix distclean-p-,$(plugins)) dist-plugins = $(addprefix dist-p-,$(plugins)) # phony targets #################################################### all : wrapper $(build-plugins) .PHONY : install uninstall clean distclean dist libexec \ build-wrapper install-wrapper uninstall-wrapper clean-wrapper distclean-wrapper dist-wrapper #$(build-plugins) $(install-plugins) $(uninstall-plugins) $(clean-plugins) $(distclean-plugins) $(dist-plugins) .SUFFIXES : # install ########################################################## install : install-wrapper libexec $(install-plugins) # $(libexecdir)/rvs/* libexec : $(libexecdir)/$(rvs)/plugins $(libexecdir)/$(rvs)/plugins : $(libexecdir)/$(rvs) $(TOUCH) $@ # uninstall ######################################################## uninstall : $(RM) $(bindir)/$(rvs) $(RM) -r $(libexecdir)/$(rvs) # clean ############################################################ clean : $(clean-plugins) clean-wrapper distclean : clean $(distclean-plugins) distclean-wrapper $(RM) Makefile # dist ############################################################# d = $(name)-$(ver) dist : $(d).tar.gz $(d).tar.gz : $(d) tar -czf $@ $< $(d) : distclean $(INSTALL) -m 777 -d $@ $(CP) -r $(srcdir)/* $@ # wrapper ########################################################## wrapper : build-wrapper build-wrapper : wrapper/ wrapper/Makefile; $(MAKE) -C $< uninstall-wrapper : wrapper/ wrapper/Makefile; $(MAKE) -C $< uninstall clean-wrapper : wrapper/ wrapper/Makefile; $(MAKE) -C $< clean distclean-wrapper : wrapper/ wrapper/Makefile; $(MAKE) -C $< distclean dist-wrapper : wrapper/ wrapper/Makefile; $(MAKE) -C $< dist install-wrapper : wrapper/ wrapper/Makefile wrapper; $(MAKE) -C $< install $(RVS) : install-wrapper # plugins ########################################################## install-p-% : plugins/% plugins/%/Makefile p-% libexec $(RVS) $(MAKE) -C $< install p-% : plugins/% plugins/%/Makefile ; $(MAKE) -C $< uninstall-p-% : plugins/% plugins/%/Makefile ; $(MAKE) -C $< uninstall clean-p-% : plugins/% plugins/%/Makefile ; $(MAKE) -C $< clean distclean-p-% : plugins/% plugins/%/Makefile ; $(MAKE) -C $< distclean dist-p-% : plugins/% plugins/%/Makefile ; $(MAKE) -C $< dist # implicit rules ################################################### $(dirs) $(libexecdir)/$(rvs) : $(MKDIR) $@