Convert to non-recursive make
[openocd.git] / Makefile.am
index 245b5e7..579d3a7 100644 (file)
@@ -1,19 +1,59 @@
 # not a GNU package. You can remove this line, if
 # have all needed files, that a GNU package needs
-AUTOMAKE_OPTIONS = foreign 1.6
+AUTOMAKE_OPTIONS = gnu 1.6
+
+# make sure we pass the correct jimtcl flags to distcheck
+DISTCHECK_CONFIGURE_FLAGS = --disable-install-jim
 
 nobase_dist_pkgdata_DATA = \
        contrib/libdcc/dcc_stdio.c \
        contrib/libdcc/dcc_stdio.h \
        contrib/libdcc/example.c \
        contrib/libdcc/README \
-       contrib/openocd.udev
+       contrib/99-openocd.rules
+
+SUBDIRS =
+DIST_SUBDIRS =
+bin_PROGRAMS =
+noinst_LTLIBRARIES =
+info_TEXINFOS =
+dist_man_MANS =
+EXTRA_DIST =
+
+if INTERNAL_JIMTCL
+SUBDIRS += jimtcl
+DIST_SUBDIRS += jimtcl
+endif
 
-SUBDIRS = src doc
+# common flags used in openocd build
+AM_CFLAGS = $(GCC_WARNINGS)
 
-EXTRA_DIST = \
+AM_CPPFLAGS = $(HOST_CPPFLAGS)\
+                         -I$(top_srcdir)/src \
+                         -I$(top_builddir)/src \
+                         -I$(top_srcdir)/src/helper \
+                         -DPKGDATADIR=\"$(pkgdatadir)\" \
+                         -DBINDIR=\"$(bindir)\"
+
+if INTERNAL_JIMTCL
+AM_CPPFLAGS += -I$(top_srcdir)/jimtcl \
+                          -I$(top_builddir)/jimtcl
+endif
+EXTRA_DIST += \
+       BUGS \
+       HACKING \
+       NEWTAPS \
+       README.Windows \
+       README.OSX \
+       $(wildcard $(srcdir)/NEWS*) \
        Doxyfile.in \
-       tools/logger.pl
+       tools/logger.pl \
+       tools/rlink_make_speed_table \
+       tools/st7_dtc_as \
+       contrib
+
+libtool: $(LIBTOOL_DEPS)
+       $(SHELL) ./config.status --recheck
 
 docs: pdf html doxygen
 
@@ -22,19 +62,37 @@ Doxyfile: $(srcdir)/Doxyfile.in
        @( \
          echo "### @@@ -= DO NOT EDIT THIS FILE =- @@@ ###" && \
          echo "### @@@ Make changes to Doxyfile.in @@@ ###" && \
-         sed -e 's,@srcdir\@,$(srcdir),' $< \
+         sed -e 's,@srcdir\@,$(srcdir),' \
+           -e 's,@builddir\@,$(builddir),' \
+           -e 's,@doxygen_as_html\@,$(doxygen_as_html),' \
+           -e 's,@doxygen_as_pdf\@,$(doxygen_as_pdf),' $< \
        ) > $@
 
+THE_MANUAL = doxygen/latex/refman.pdf
+
 doxygen::
        $(MAKE) Doxyfile
        doxygen Doxyfile 2>&1 | perl $(srcdir)/tools/logger.pl > doxygen.log
+       @if [ -f doxygen/latex/refman.tex ]; then \
+               echo "Creating $(THE_MANUAL)..."; \
+               $(MAKE) $(THE_MANUAL); \
+       else \
+               echo "Skipping Doxygen PDF..."; \
+       fi
+
+$(THE_MANUAL): %.pdf: %.tex
+       -cd $$(dirname $*) && pdflatex $$(basename $*)
+       -cd $$(dirname $*) && pdflatex $$(basename $*)
 
 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' | \
+TCL_FILES = find $(srcdir)/$(TCL_PATH) -name '*.cfg' -o -name '*.tcl' -o -name '*.txt' | \
                sed -e 's,^$(srcdir)/$(TCL_PATH),,'
 
 dist-hook:
+       if test -d $(srcdir)/.git -a \( ! -e $(distdir)/ChangeLog -o -w $(distdir)/ChangeLog \) ; then \
+               git --git-dir $(srcdir)/.git log | $(srcdir)/tools/git2cl/git2cl > $(distdir)/ChangeLog ; \
+       fi
        for i in $$($(TCL_FILES)); do \
                j="$(distdir)/$(TCL_PATH)/$$i" && \
                mkdir -p "$$(dirname $$j)" && \
@@ -51,22 +109,32 @@ install-data-hook:
 uninstall-hook:
        rm -rf $(DESTDIR)$(pkgdatadir)/scripts
 
-
 distclean-local:
        rm -rf Doxyfile doxygen
+       rm -f $(srcdir)/jimtcl/configure.gnu
 
 DISTCLEANFILES = doxygen.log
 
+METASOURCES = AUTO
+
+BUILT_SOURCES =
+CLEANFILES =
+
 MAINTAINERCLEANFILES = \
-       configure \
-       Makefile.in \
-       depcomp \
-       config.guess \
-       config.sub \
-       config.h.in \
-       config.h.in~ \
-       compile \
-       ltmain.sh \
-       missing \
-       aclocal.m4 \
-       install-sh
+       %D%/INSTALL \
+       %D%/configure \
+       %D%/Makefile.in \
+       %D%/depcomp \
+       %D%/config.guess \
+       %D%/config.sub \
+       %D%/config.h.in \
+       %D%/config.h.in~ \
+       %D%/compile \
+       %D%/ltmain.sh \
+       %D%/missing \
+       %D%/aclocal.m4 \
+       %D%/install-sh \
+       %D%/texinfo.tex
+
+include src/Makefile.am
+include doc/Makefile.am