$(call v-tag,MKM3U)./mkm3u $(MKM3UFLAGS) $($*_MKM3UFLAGS) \
-M$*.m3u-dep -O$@ -o"$@.new" "$<" && mv "$@.new" "$@"
+PLS = $(sort $(foreach p,$(PLAYLISTS), \
+ $($p_EPLS:.epls=.pl)))
+DEPFILES += $(addsuffix -dep,$(PLS))
+TARGETS += $(PLS)
+CLEANFILES += *.pl.new
+$(PLS): %.pl: %.epls mkm3u mkm3u.cache-stamp
+ $(call v-tag,MKPL)./mkm3u -D $(MKM3UFLAGS) $($*_MKM3UFLAGS) \
+ -M$*.pl-dep -O$@ -o"$@.new" "$<" && mv "$@.new" "$@"
+
CHECKS = $(foreach p,$(PLAYLISTS), check/$p)
check: $(CHECKS)
$(CHECKS): check/%: %.m3u8