summaryrefslogtreecommitdiff
path: root/Makefile.in
blob: 9f7b61eb16641c18d679904f49e338046fef70c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#!/usr/bin/make -f
name = @name@
# version 0.7.1
# Copyright (C) 2009 Luke Shumaker
# 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.
# 
# Originally written by Luke Shumaker <lukeshu@sbcglobal.net>.


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)/$(rvs)
export   srcdir    prefix    exec_prefix    bindir    sbindir    libexecdir

# Programs #########################################################
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

# plugin targets ###################################################
plugins = $(patsubst $(srcdir)/plugins/%,%,\
  $(shell find $(srcdir)/plugins/* -maxdepth 0 -type d))
make-plugins    = $(addprefix         p-,$(plugins))
install-plugins = $(addprefix install-p-,$(plugins))
remove-plugins  = $(addprefix  remove-p-,$(plugins))
all-plugins = $(make-plugins) $(install-plugins) $(remove-plugins)

# phony targets ####################################################
all : $(rvs) $(make-plugins)
#.PHONY : install uninstall clean distclean $(all-plugins)
.PHONY : install uninstall clean distclean
.SUFFIXES :

# targets ##########################################################
b := @
$(rvs) : $(srcdir)/rvs.sh
	$(SED) \
  -e 's/$bSHELL@/$(subst      /,\/,$(SHELL))/g' \
  -e 's/$blibexecdir@/$(subst /,\/,$(libexecdir))/g' \
  -e 's/$bname@/$(subst       /,\/,$(name))/g' \
    < $< > $@

$(RVS) : $(rvs) $(bindir)
	$(INSTALL_PROGRAM) $< $@

$(libexecdir)/$(rvs)/plugins : $(libexecdir)/$(rvs)
	$(TOUCH) $@

# install/clean/remove #############################################

install : install-$(name) $(libexecdir)/$(rvs)/plugins $(install-plugins)
install-$(name) : $(bindir)/$(rvs)


uninstall :
	$(RM) $(bindir)/$(rvs)
	$(RM) -r $(libexecdir)/$(rvs)

clean :
	$(RM) var.sed

distclean : clean
	$(RM) Makefile
	$(RM) $(rvs)

# implicit rules ###################################################

$(dirs) :
	$(MKDIR) $@

# make/install/uninstall plugins
p-% :           plugins/% plugins/%/Makefile $(srcdir)/plugins/%
	$(MAKE) -C $<

install-p-% :   plugins/% plugins/%/Makefile $(srcdir)/plugins/% p-%
	$(MAKE) -C $< install

uninstall-p-% : plugins/% plugins/%/Makefile
	$(MAKE) -C $< uninstall