summaryrefslogtreecommitdiff
path: root/rvs/plugins
diff options
context:
space:
mode:
authorLuke Shumaker <luke@HP-dv6426us-u904.(none)>2009-10-29 18:25:27 -0400
committerLuke Shumaker <lukeshu@sbcglobal.net>2015-06-26 00:30:18 -0600
commit5688c8498f178feb364afdb714f580b295e983a0 (patch)
tree54e4d6570774cfc56f15ae6176018a9f0d705538 /rvs/plugins
parent83befb03851266035094f99f9c31fc7524c9e74a (diff)
rework rvs plugin build process, it's way more elegant now
Diffstat (limited to 'rvs/plugins')
-rw-r--r--rvs/plugins/Makefile42
-rw-r--r--rvs/plugins/filedata/info.mk2
-rw-r--r--rvs/plugins/files/info.mk2
-rw-r--r--rvs/plugins/files/main.mk.in78
-rw-r--r--rvs/plugins/main.mk.in (renamed from rvs/plugins/filedata/main.mk.in)5
-rw-r--r--rvs/plugins/users/info.mk2
-rw-r--r--rvs/plugins/users/main.mk.in78
7 files changed, 51 insertions, 158 deletions
diff --git a/rvs/plugins/Makefile b/rvs/plugins/Makefile
new file mode 100644
index 0000000..53ebc17
--- /dev/null
+++ b/rvs/plugins/Makefile
@@ -0,0 +1,42 @@
+#!/usr/bin/make -f
+name=rvs plugins
+#version='1.0'
+# 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>.
+
+# programs
+SHELL = /bin/sh
+
+# variables
+mods = $(patsubst ./%,%,$(shell find ./* -maxdepth 0 -type d))
+
+.PHONY : all
+all : build
+
+.PHONY : install build
+install : $(addprefix install-,$(mods))
+build : $(addprefix build-,$(mods))
+
+.SECONDARY:
+
+%/main.mk : main.mk %/; cp $< $@
+
+complete-% : %/ %/main.mk
+build-% : %/ complete-% %/main.mk; $(MAKE) -C $<
+install-% : %/ complete-% %/main.mk; $(MAKE) -C $< install
+clean-% : %/ complete-% %/main.mk; $(MAKE) -C $< clean
+distclean-% : %/ complete-% %/main.mk; $(MAKE) -C $< distclean
+
diff --git a/rvs/plugins/filedata/info.mk b/rvs/plugins/filedata/info.mk
new file mode 100644
index 0000000..77643cd
--- /dev/null
+++ b/rvs/plugins/filedata/info.mk
@@ -0,0 +1,2 @@
+name = filedata
+ver = 0.9
diff --git a/rvs/plugins/files/info.mk b/rvs/plugins/files/info.mk
new file mode 100644
index 0000000..d7ccb97
--- /dev/null
+++ b/rvs/plugins/files/info.mk
@@ -0,0 +1,2 @@
+name = files
+ver = 0.9
diff --git a/rvs/plugins/files/main.mk.in b/rvs/plugins/files/main.mk.in
deleted file mode 100644
index 1a04b33..0000000
--- a/rvs/plugins/files/main.mk.in
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/usr/bin/make -f
-name=filedata
-ver=0.9
-# 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) $@
-
diff --git a/rvs/plugins/filedata/main.mk.in b/rvs/plugins/main.mk.in
index 1a04b33..ed5dca8 100644
--- a/rvs/plugins/filedata/main.mk.in
+++ b/rvs/plugins/main.mk.in
@@ -1,6 +1,7 @@
#!/usr/bin/make -f
-name=filedata
-ver=0.9
+#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
diff --git a/rvs/plugins/users/info.mk b/rvs/plugins/users/info.mk
new file mode 100644
index 0000000..8289128
--- /dev/null
+++ b/rvs/plugins/users/info.mk
@@ -0,0 +1,2 @@
+name = users
+ver = 0.9
diff --git a/rvs/plugins/users/main.mk.in b/rvs/plugins/users/main.mk.in
deleted file mode 100644
index 1a04b33..0000000
--- a/rvs/plugins/users/main.mk.in
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/usr/bin/make -f
-name=filedata
-ver=0.9
-# 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) $@
-