summaryrefslogtreecommitdiff
path: root/src/lib/Makefile
blob: e0067be7b4da7674c6a550275c93189d97eae116 (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
include ../../common-devtools.mk

pkglibexecdir=$(libexecdir)/libretools

# Copy from devtools #################################################

copy: common.sh.in

common.sh.in: $(devtoolsdir)/lib/common.sh    ; cp $< $@

# Build ##############################################################

build: common.sh

common.sh: %: %.in %.top Makefile
	@echo "GEN $@"
	@{ \
	cat "$*.top" && \
	echo 'if [[ -z $${_INCLUDE_COMMON_SH:-} ]]; then' && \
	echo '_INCLUDE_COMMON_SH=true' && \
	cat "$*.in" && \
	echo 'fi'; } > "$@"

# Install ############################################################

libexecs = $(filter-out librelib,$(wildcard libre*))
libs = $(wildcard *.sh)

# relative path to `/` from $(bindir)
rootdir=$(shell sed -r 's|^/||;s|[^/]+|..|g'<<<$(bindir))

install: \
	$(addprefix $(DESTDIR)$(bindir)/,$(libexecs) librelib) \
	$(addprefix $(DESTDIR)$(pkglibexecdir)/,$(libexecs) $(libs))

$(DESTDIR)$(bindir)/librelib: librelib
	install -Dm755 '$<' '$@'

$(DESTDIR)$(bindir)/%: %
	install -d '$(@D)'
	ln -sf '$(rootdir)$(pkglibexecdir)/$(@F)' "$@"

$(DESTDIR)$(pkglibexecdir)/libre%: libre%
	install -Dm755 '$<' '$@'

$(DESTDIR)$(pkglibexecdir)/%.sh: %.sh
	install -Dm644 '$<' '$@'