Fix make maintainer-clean for out-of-tree builds.
[fw/openocd] / Makefile.am
index c14c81f674176ea65fc35aeed9446c1aaa2e49cf..52ba595ead513de0d8269289defa7dff584832c1 100644 (file)
@@ -29,21 +29,44 @@ doxygen::
        $(MAKE) Doxyfile
        doxygen Doxyfile 2>&1 | perl $(srcdir)/tools/logger.pl > doxygen.log
 
+TCL_PATH = tcl
+# command to find paths of script files, relative to TCL_PATH
+TCL_FILES := find $(srcdir)/$(TCL_PATH) -name '*.cfg' -o -name '*.tcl' | \
+               sed -e 's,^$(srcdir)/$(TCL_PATH),,'
+
+dist-hook:
+       for i in $$($(TCL_FILES)); do \
+               j="$(distdir)/$(TCL_PATH)/$$i" && \
+               mkdir -p "$$(dirname $$j)" && \
+               $(INSTALL_DATA) $(srcdir)/$(TCL_PATH)/$$i $$j; \
+       done
+
+install-data-hook:
+       for i in $$($(TCL_FILES)); do \
+               j="$(DESTDIR)$(pkgdatadir)/scripts/$$i" && \
+               mkdir -p "$$(dirname $$j)" && \
+               $(INSTALL_DATA) $(srcdir)/$(TCL_PATH)/$$i $$j; \
+       done
+
+uninstall-hook:
+       rm -rf $(DESTDIR)$(pkgdatadir)/scripts
+
+
 distclean-local:
        rm -rf Doxyfile doxygen
 
 DISTCLEANFILES = doxygen.log
 
 MAINTAINERCLEANFILES = \
-       configure \
-       Makefile.in \
-       depcomp \
-       config.guess \
-       config.sub \
-       config.h.in \
-       config.h.in~ \
-       compile \
-       ltmain.sh \
-       missing \
-       aclocal.m4 \
-       install-sh
+       $(srcdir)/configure \
+       $(srcdir)/Makefile.in \
+       $(srcdir)/depcomp \
+       $(srcdir)/config.guess \
+       $(srcdir)/config.sub \
+       $(srcdir)/config.h.in \
+       $(srcdir)/config.h.in~ \
+       $(srcdir)/compile \
+       $(srcdir)/ltmain.sh \
+       $(srcdir)/missing \
+       $(srcdir)/aclocal.m4 \
+       $(srcdir)/install-sh