summaryrefslogtreecommitdiff
path: root/rvs/main.mk.in
diff options
context:
space:
mode:
Diffstat (limited to 'rvs/main.mk.in')
-rw-r--r--rvs/main.mk.in69
1 files changed, 69 insertions, 0 deletions
diff --git a/rvs/main.mk.in b/rvs/main.mk.in
new file mode 100644
index 0000000..622607f
--- /dev/null
+++ b/rvs/main.mk.in
@@ -0,0 +1,69 @@
+#!/usr/bin/make -f
+name = @name@
+ver = 0.8r58
+
+rvs = $(name)
+RVS = @RVS@
+# 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
+
+# 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
+