-# Set PREFIX to wherever you want to install TopGit
-PREFIX = $(HOME)
-bindir = $(PREFIX)/bin
-cmddir = $(PREFIX)/libexec/topgit
-sharedir = $(PREFIX)/share/topgit
-hooksdir = $(cmddir)/hooks
+prefix ?= $(HOME)
+bindir := $(prefix)/bin
+cmddir := $(prefix)/share/topgit
+docdir := $(prefix)/share/doc/topgit
+hooksdir := $(cmddir)/hooks
-commands_in = tg-create.sh tg-delete.sh tg-info.sh tg-patch.sh tg-summary.sh tg-update.sh
+commands_in := $(wildcard tg-*.sh)
hooks_in = hooks/pre-commit.sh
-commands_out = $(patsubst %.sh,%,$(commands_in))
-hooks_out = $(patsubst %.sh,%,$(hooks_in))
-help_out = $(patsubst %.sh,%.txt,$(commands_in))
+commands_out := $(patsubst %.sh,%,$(commands_in))
+hooks_out := $(patsubst %.sh,%,$(hooks_in))
+help_out := $(patsubst %.sh,%.txt,$(commands_in))
all:: tg $(commands_out) $(hooks_out) $(help_out)
-tg $(commands_out) $(hooks_out): % : %.sh
+tg $(commands_out) $(hooks_out): % : %.sh Makefile
@echo "[SED] $@"
@sed -e 's#@cmddir@#$(cmddir)#g;' \
-e 's#@hooksdir@#$(hooksdir)#g' \
-e 's#@bindir@#$(bindir)#g' \
- -e 's#@sharedir@#$(sharedir)#g' \
+ -e 's#@docdir@#$(docdir)#g' \
$@.sh >$@+ && \
chmod +x $@+ && \
mv $@+ $@
./create-help.sh $$CMD
install:: all
- install tg "$(bindir)"
- install -d -m 755 "$(cmddir)"
- install $(commands_out) "$(cmddir)"
- install -d -m 755 "$(hooksdir)"
- install $(hooks_out) "$(hooksdir)"
- install -d -m 755 "$(sharedir)"
- install -m 644 $(help_out) "$(sharedir)"
+ install -d -m 755 "$(DESTDIR)$(bindir)"
+ install tg "$(DESTDIR)$(bindir)"
+ install -d -m 755 "$(DESTDIR)$(cmddir)"
+ install $(commands_out) "$(DESTDIR)$(cmddir)"
+ install -d -m 755 "$(DESTDIR)$(hooksdir)"
+ install $(hooks_out) "$(DESTDIR)$(hooksdir)"
+ install -d -m 755 "$(DESTDIR)$(docdir)"
+ install -m 644 $(help_out) "$(DESTDIR)$(docdir)"
clean::
rm -f tg $(commands_out) $(hooks_out) $(help_out)