summaryrefslogtreecommitdiff
path: root/build-aux/Makefile.once.head/10-lt.mk
blob: b014a0f2a40912bfc9662cd0553c1df40fcb7e0f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
mod.lt.description = (systemd) Easy handling of libtool dependencies
mod.lt.deps += files

_lt.dups = $(sort $(foreach l,$1,$(if $(filter-out 1,$(words $(filter $l,$1))),$l)))
_lt.patsubst-all = $(if $1,$(call _lt.patsubst-all,$(wordlist 2,$(words $1),$1),$2,$(patsubst $(firstword $1),$2,$3)),$3)
_lt.unLIBPATTERNS = $(foreach _lt.tmp,$1,$(if $(filter $(.LIBPATTERNS),$(notdir $(_lt.tmp))),$(call _lt.patsubst-all,$(.LIBPATTERNS),-l%,$(notdir $(_lt.tmp))),$(_lt.tmp)))

# The semantics for the de-dup bit are a bit weird.  My head hurts thinking
# about them.  TODO: clarify/simplify/something
lt.rpath = $(dir $(patsubst $(DESTDIR)%,%,$(filter %/$(@F),$(files.sys))))
_lt.link_files = $(filter %.o %.lo %.la -l%,$(call _lt.unLIBPATTERNS,$^))
lt.link_files = $(filter-out $(call _lt.dups,$(_lt.link_files)),$(_lt.link_files))