diff options
Diffstat (limited to 'main.mk.in')
-rw-r--r-- | main.mk.in | 121 |
1 files changed, 81 insertions, 40 deletions
@@ -1,6 +1,6 @@ #!/usr/bin/make -f -name=repo -ver=0.8r61 +name = @name@ +ver = 0.8r58 # Copyright (C) 2009 Luke Shumaker # # This file is part of rvs. @@ -19,67 +19,108 @@ ver=0.8r61 # If not, write to the Free Software Foundation, # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -export rvs = @name@ +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 : $(name) -.PHONY : $(name) install uninstall clean distclean dist -.SUFFIXES : - -# build ############################################################ -mysrcdir = $(srcdir)/plugins/$(name) -myoutdir = outs - -srcFiles = $(filter-out %/Makefile.in,$(shell find $(mysrcdir)/ -type f)) +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) -shSrcFiles = $(filter %.sh,$(srcFiles)) -shOutFiles = $(patsubst $(mysrcdir)/%,$(myoutdir)/%,$(basename $(shSrcFiles))) +.SUFFIXES : -$(name) : $(myoutdir) $(shOutFiles) $(myoutdir)/plugin.conf +# install ########################################################## -$(myoutdir)/plugin.conf : $(mysrcdir)/plugin.conf - $(INSTALL_DATA) $< $@ +install : install-wrapper libexec $(install-plugins) -# (un)install ###################################################### +# $(libexecdir)/rvs/* +libexec : $(libexecdir)/$(rvs)/plugins +$(libexecdir)/$(rvs)/plugins : $(libexecdir)/$(rvs) + $(TOUCH) $@ -install : all - $(RVS) install $(name)-$(ver) $(myoutdir) +# uninstall ######################################################## uninstall : - $(RVS) uninstall $(name) + $(RM) $(bindir)/$(rvs) + $(RM) -r $(libexecdir)/$(rvs) # clean ############################################################ -clean : +clean : $(clean-plugins) clean-wrapper -distclean : clean +distclean : clean $(distclean-plugins) distclean-wrapper $(RM) Makefile - $(RM) -r out # dist ############################################################# -id = $(name)-$(ver) -dist : $(id).tar.gz +d = $(name)-$(ver) +dist : $(d).tar.gz -$(id).tar.gz : $(id) +$(d).tar.gz : $(d) tar -czf $@ $< -$(id) : distclean +$(d) : distclean $(INSTALL) -m 777 -d $@ - $(CP) -r $(mysrcdir)/* $@ + $(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 ################################################### -b := @ -# build shell scripts -$(myoutdir)/% : $(mysrcdir)/%.sh $(myoutdir) - $(INSTALL_PROGRAM) $< $@ - $(SED) -i \ - -e 's/$bSHELL@/$(subst /,\/,$(SHELL))/g' \ - -e 's/$blibexecdir@/$(subst /,\/,$(libexecdir))/g' \ - -e 's/$bID@/$(subst /,\/,$(id))/g' \ - $@ - -$(dirs) $(libexecdir)/$(rvs) $(myoutdir) : +$(dirs) $(libexecdir)/$(rvs) : $(MKDIR) $@ |