File: Makefile

package info (click to toggle)
sysv-rc-conf 1.3.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 344 kB
  • sloc: perl: 1,790; sh: 69; makefile: 53
file content (61 lines) | stat: -rw-r--r-- 2,100 bytes parent folder | download | duplicates (2)
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