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
|
PREFIX ?= /usr/local
SBINDIR = $(DESTDIR)$(PREFIX)/sbin
MANDIR = $(DESTDIR)$(PREFIX)/share/man/man
MENUDIR = $(DESTDIR)$(PREFIX)/share/applications
ICONDIR = $(DESTDIR)$(PREFIX)/share/icons/hicolor/64x64/apps
LIBEXECDIR = $(DESTDIR)$(PREFIX)/libexec
ifeq ("$(PREFIX)", "/usr")
PERLDIR = $(DESTDIR)$(PREFIX)/share/perl5
else
PERLDIR = $(DESTDIR)$(PREFIX)/lib/site_perl
endif
perl_modules = Multistate LSB
pm_files = $(addsuffix .pm,$(addprefix lib/App/SysVRcConf/,$(perl_modules)))
pm_manpages = $(addsuffix .3perl,$(addprefix App::SysVRcConf::,$(perl_modules)))
xdg_entries = sysv-rc-conf
stripdest = $(patsubst $(DESTDIR)%,%,$1)
pathsubsts = $(addprefix -e,s,/usr/sbin,$(call stripdest,$(SBINDIR)),g \
s,/usr/libexec,$(call stripdest,$(LIBEXECDIR)),g)
all: man sysv-rc-conf.png
.PHONY: man
man:
pod2man -s 8 -c ' ' sysv-rc-conf.pl sysv-rc-conf.8
pod2man -s 3perl -c ' ' $(foreach pm,$(perl_modules),lib/App/SysVRcConf/$(pm).pm App::SysVRcConf::$(pm).3perl)
sysv-rc-conf.png: sysv-rc-conf.svg
rsvg-convert --width 64 --output $@ $<
.PHONY: install
install: man
mkdir -p $(SBINDIR) $(MANDIR)8 $(MENUDIR) $(ICONDIR) $(LIBEXECDIR)
install -m644 -D -t $(PERLDIR)/App/SysVRcConf $(pm_files)
install -m755 sysv-rc-conf.pl $(SBINDIR)/sysv-rc-conf
install -m644 sysv-rc-conf.8 $(MANDIR)8
install -m644 sysv-rc-conf.png $(ICONDIR)
sed $(pathsubsts) sysv-rc-conf.desktop > $(MENUDIR)/sysv-rc-conf.desktop
sed $(pathsubsts) sysv-rc-conf-desktop-wrapper > $(LIBEXECDIR)/sysv-rc-conf-desktop-wrapper
chmod +x $(LIBEXECDIR)/sysv-rc-conf-desktop-wrapper
install-dev: install
mkdir -p $(MANDIR)3
install -m644 $(pm_manpages) $(MANDIR)3
.PHONY: uninstall
uninstall:
$(RM) $(SBINDIR)/sysv-rc-conf
$(RM) $(MANDIR)8/sysv-rc-conf.8.gz
$(RM) $(addprefix $(MANDIR)3/,$(pm_manpages))
$(RM) $(foreach pm,$(perl_modules),$(PERLDIR)/App/SysVRcConf/$(pm).pm)
$(RM) $(foreach xdg,$(xdg_entries),$(MENUDIR)/$(xdg).desktop)
$(RM) $(ICONDIR)/sysv-rc-conf.png
$(RM) $(LIBEXECDIR)/sysv-rc-conf-desktop-wrapper
.PHONY: clean
clean:
$(RM) *.8 $(pm_manpages) sysv-rc-conf.png
|