summaryrefslogtreecommitdiff
path: root/rvs/wrapper
diff options
context:
space:
mode:
Diffstat (limited to 'rvs/wrapper')
-rw-r--r--rvs/wrapper/Makefile.in84
-rw-r--r--rvs/wrapper/main.mk.in22
2 files changed, 96 insertions, 10 deletions
diff --git a/rvs/wrapper/Makefile.in b/rvs/wrapper/Makefile.in
new file mode 100644
index 0000000..fe2a268
--- /dev/null
+++ b/rvs/wrapper/Makefile.in
@@ -0,0 +1,84 @@
+#!/usr/bin/make -f
+#name = Luke's Makefile
+#ver = 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>.
+
+# Directories ########################################################
+DESTDIR = @DESTDIR@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+dirs = $(DESTDIR) $(prefix) $(exec_prefix) $(bindir) $(sbindir) $(libexecdir)
+srcdir = @srcdir@
+
+# Programs ###########################################################
+SHELL = /bin/sh
+CC = gcc
+INSTALL = install
+INSTALL_PROGRAM = $(INSTALL)
+INSTALL_DATA = $(INSTALL) -m 644
+MKDIR = $(INSTALL) -d #mkdir -p
+RM = rm -f
+SED = sed
+
+include main.mk
+
+# dist ###############################################################
+d = $(name)-$(ver)
+.PHONY : dist
+dist : $(d).tar.gz
+
+$(d).tar.gz : $(d) $(addprefix $(d)/,$(filelist))
+ tar -czf $@ $<
+
+$(d) :
+ $(INSTALL) -m 777 -d $@
+
+$(d)/% : $(srcdir)/% $(d)
+ cp $< $@
+
+# implicit rules #####################################################
+$(dirs) :
+ $(MKDIR) $@
+
+% : %.sh
+ $(SED) 's/@VER@/$(ver)/g' < $< > $@
+
+$(DESTDIR)$(bindir)/% : % $(DESTDIR)$(bindir)
+ $(INSTALL_PROGRAM) $< $@
+
+csources = $(filter %.c,$(filelist))
+Makefiles : $(shell find '$(srcdir)' -type f -name Makefile.in) \
+ $(shell find '$(srcdir)' -type f -name Makefile.in) \
+ $(csources:.c=.d)
+
+%Makefile %.mk : $(srcdir)/configure
+ $<
+
+# This is taken straight from the GNU `make' manual.
+# That makes it GFDL, which is incompatible with the GPL
+# I claim `fair-use'
+ %.d: %.c
+ @set -e; rm -f $@; \
+ $(CC) -M $(CPPFLAGS) $< > $@.$$$$; \
+ sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
+ rm -f $@.$$$$
+
+include $(csources:.c=.d)
+
diff --git a/rvs/wrapper/main.mk.in b/rvs/wrapper/main.mk.in
index 8d53d3b..7959612 100644
--- a/rvs/wrapper/main.mk.in
+++ b/rvs/wrapper/main.mk.in
@@ -1,6 +1,6 @@
#!/usr/bin/make -f
name = @name@
-ver = 0.8r60
+ver = 0.9
# Copyright (C) 2009 Luke Shumaker
#
# This file is part of rvs.
@@ -28,10 +28,11 @@ CFLAGS = -g \
-Dplugin_conf=\"plugin.conf\"
# phony targets ####################################################
-all : rvs runcom
+all : rvs runcom Makefiles
.PHONY : install uninstall clean distclean dist install-runcom
.SUFFIXES : .c .o
VPATH = $(srcdir)/wrapper
+filelist=$(patsubst $(srcdir)/wrapper/%,%,$(shell find $(srcdir)/wrapper/* -type f))
# most everything ##################################################
RUNCOM = $(DESTDIR)$(libexecdir)/$(rvs)/runcom
@@ -39,15 +40,15 @@ install : $(RVS) $(RUNCOM)
$(RVS) : rvs $(dir $(RVS))
$(INSTALL_PROGRAM) $< $@
-#OBJ = runcom.o rvs.o plugins.o \
-# plugin-depend.o \
-# plugin-find.o \
-# plugin-load.o \
-# plugin-parse.o \
-# plugin-run.o \
+OBJ = runcom.o rvs.o plugins.o \
+ plugin-depend.o \
+ plugin-find.o \
+ plugin-load.o \
+ plugin-parse.o \
+ plugin-run.o \
-#runcom: $(OBJ)
-# gcc -o $@ $^
+runcom: $(OBJ)
+ $(CC) -o $@ $^
$(RUNCOM): runcom $(dir $(RUNCOM))
$(INSTALL_PROGRAM) $< $@
@@ -67,6 +68,7 @@ uninstall :
$(RM) $(DESTDIR)$(libexecdir)/$(rvs)/runcom
clean :
+ $(RM) *.o *.d
distclean : clean
$(RM) rvs