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 97
|
# GNU Makefile
SHELL = /bin/sh
prefix = $(HOME)
bindir = $(prefix)/bin
datarootdir = $(prefix)/share
datadir = $(datarootdir)
mandir = $(datarootdir)/man
man1dir = $(mandir)/man1
INSTALL = install -c
INSTALL_D = install -d
INSTALL_M = install -c -m 444
RM = rm -f
PERL = perl
POD2MAN = pod2man
AWK = awk
TR = tr
WITH_MAN = yes
WITH_CHECK = yes
.PHONY: all checks
all: checks
MODULES = \
Config::Tiny WWW::Curl Tk Tk::Tree Tk::DialogBox HTML::TokeParser \
XML::RSS::LibXML URI::Escape HTML::Strip Crypt::PasswdMD5 Crypt::Twofish \
MODULES_OPTIONAL = \
Clipboard Tk::FontDialog
checks:
ifeq ($(WITH_CHECK),yes)
@echo == Required Perl modules:
@for m in $(MODULES); \
do \
result=`$(PERL) -M$$m -e "print 'yes'" 2>/dev/null || echo no`;\
echo "$$m ...$$result"; \
done
@echo == Optional Perl modules:
@for m in $(MODULES_OPTIONAL); \
do \
result=`$(PERL) -M$$m -e "print 'yes'" 2>/dev/null || echo no`;\
echo "$$m ...$$result"; \
done
else
@echo Disable module checking.
endif
.PHONY: install uninstall
SCRIPTS = clivefeed clivescan clivepass
install:
$(INSTALL_D) $(DESTDIR)$(bindir)
@for s in $(SCRIPTS); \
do \
echo "$(INSTALL) $$s $(DESTDIR)$(bindir)/$$s"; \
$(INSTALL) $$s $(DESTDIR)$(bindir)/$$s; \
done
ifeq ($(WITH_MAN),yes)
$(INSTALL_D) $(DESTDIR)$(man1dir)
@for s in $(SCRIPTS); \
do \
echo "$(INSTALL_M) $$s.1 $(DESTDIR)$(man1dir)/$$s.1"; \
$(INSTALL_M) $$s.1 $(DESTDIR)$(man1dir)/$$s.1; \
done
endif
uninstall:
# TODO: Merge these two loops
@for s in $(SCRIPTS); \
do \
echo "$(RM) $(DESTDIR)$(bindir)/$$s"; \
$(RM) $(DESTDIR)$(bindir)/$$s; \
done
ifeq ($(WITH_MAN),yes)
@for s in $(SCRIPTS); \
do \
echo "$(RM) $(DESTDIR)$(man1dir)/$$s.1"; \
$(RM) $(DESTDIR)$(man1dir)/$$s.1; \
done
endif
.PHONY: man
man:
@for s in $(SCRIPTS); \
do \
release=`$(AWK) '/constant VERSION/ {print \$$5}' $$s | \
$(TR) -d '["\;]'`; \
echo $(POD2MAN) -c "$$s manual" -n $$s \
-s 1 -r $$release $$s.pod $$s.1; \
$(POD2MAN) -c "$$s manual" -n $$s \
-s 1 -r $$release $$s.pod $$s.1; \
done
|