summaryrefslogtreecommitdiff
path: root/plugins/plugin.mk.in
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/plugin.mk.in')
-rw-r--r--plugins/plugin.mk.in79
1 files changed, 79 insertions, 0 deletions
diff --git a/plugins/plugin.mk.in b/plugins/plugin.mk.in
new file mode 100644
index 0000000..ed5dca8
--- /dev/null
+++ b/plugins/plugin.mk.in
@@ -0,0 +1,79 @@
+#!/usr/bin/make -f
+#name=rvs plugin Makefile
+#ver=0.9
+include info.mk # this contains the actuall name/version for the plugin
+# Copyright (C) 2009 Luke Shumaker
+#
+# This program 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 of the
+# License, or (at your option) any later version.
+#
+# 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; see the file COPYING.
+# If not, see <http://www.gnu.org/licenses>.
+
+rvs = @name@
+id = $(name)-$(ver)
+
+# phony targets ####################################################
+all : $(name)
+.PHONY : $(name) install uninstall clean distclean dist
+.SUFFIXES :
+
+# build ############################################################
+mysrcdir = $(srcdir)/plugins/$(name)
+myoutdir = out
+
+srcFiles = $(filter-out %/Makefile.in,$(shell find $(mysrcdir)/ -type f))
+
+shSrcFiles = $(filter %.sh,$(srcFiles))
+shOutFiles = $(patsubst $(mysrcdir)/%,$(myoutdir)/%,$(basename $(shSrcFiles)))
+
+$(name) : $(myoutdir) $(shOutFiles) $(myoutdir)/plugin.conf
+
+$(myoutdir)/plugin.conf : $(mysrcdir)/plugin.conf
+ $(INSTALL_DATA) $< $@
+
+# (un)install ######################################################
+
+install : all
+ $(RVS) install $(name)-$(ver) $(myoutdir)
+
+uninstall :
+ $(RVS) uninstall $(name)
+
+# clean ############################################################
+
+clean :
+
+distclean : clean
+ $(RM) Makefile
+ $(RM) -r out
+
+# 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' \
+ $@
+
+plugin.conf : plugin.conf.in
+ $(SED) \
+ -e 's/$bname@/$(subst /,\/,$(name))/g' \
+ -e 's/$bver@/$(subst /,\/,$(ver))/g' \
+ $< > $@
+
+$(DESTDIR)$(libexecdir)/$(rvs) $(myoutdir) :
+ $(MKDIR) $@
+