- [ ! -f $(PERL_SUBDIR)/Makefile ] || $(MAKE) -C $(PERL_SUBDIR) realclean
-
-@srcdir@/perl: $(PERL_SUBDIR)/Makefile
- $(MAKE) -C $(PERL_SUBDIR)
-
-@srcdir@/perl/Makefile: @srcdir@/perl/Makefile.PL @srcdir@/perl/Collectd/Makefile.PL
- cd $(PERL_SUBDIR) && @PERL@ Makefile.PL PREFIX=$(prefix) @PERL_BINDINGS_OPTIONS@
-
-.PHONY: @srcdir@/perl
+ [ ! -f perl/Makefile ] || ( cd perl && $(MAKE) realclean )
+
+perl: perl/Makefile
+ cd perl && $(MAKE)
+
+perl/Makefile: .perl-directory-stamp perl/Makefile.PL \
+ $(top_builddir)/config.status
+ cd perl && @PERL@ Makefile.PL INSTALL_BASE=$(prefix) @PERL_BINDINGS_OPTIONS@
+
+.perl-directory-stamp:
+ if test ! -d perl; then \
+ mkdir -p perl/Collectd/Plugins; \
+ cp $(srcdir)/perl/Collectd.pm perl/; \
+ cp $(srcdir)/perl/Makefile.PL perl/; \
+ cp $(srcdir)/perl/Collectd/Unixsock.pm perl/Collectd/; \
+ cp $(srcdir)/perl/Collectd/Plugins/OpenVZ.pm perl/Collectd/Plugins/; \
+ fi
+ touch $@
+
+.PHONY: perl