Fix make maintainer-clean for out-of-tree builds.
[fw/openocd] / Makefile.am
index 2fd5e323dec6cee47bbbf25fe7dfc2aabd6be054..52ba595ead513de0d8269289defa7dff584832c1 100644 (file)
@@ -11,26 +11,62 @@ nobase_dist_pkgdata_DATA = \
 
 SUBDIRS = src doc
 
-EXTRA_DIST = Doxyfile
+EXTRA_DIST = \
+       Doxyfile.in \
+       tools/logger.pl
 
 docs: pdf html doxygen
 
+Doxyfile: $(srcdir)/Doxyfile.in
+       @echo "Creating $@ from $<..."
+       @( \
+         echo "### @@@ -= DO NOT EDIT THIS FILE =- @@@ ###" && \
+         echo "### @@@ Make changes to Doxyfile.in @@@ ###" && \
+         sed -e 's,@srcdir\@,$(srcdir),' $< \
+       ) > $@
+
 doxygen::
-       doxygen Doxyfile 2>&1 | perl tools/logger.pl > doxygen.log
+       $(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
 
-doxygen-clean:
-       rm -f -r doxygen doxygen.log
+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