Convert to non-recursive make
[openocd.git] / Makefile.am
1 # not a GNU package. You can remove this line, if
2 # have all needed files, that a GNU package needs
3 AUTOMAKE_OPTIONS = gnu 1.6
4
5 # make sure we pass the correct jimtcl flags to distcheck
6 DISTCHECK_CONFIGURE_FLAGS = --disable-install-jim
7
8 nobase_dist_pkgdata_DATA = \
9         contrib/libdcc/dcc_stdio.c \
10         contrib/libdcc/dcc_stdio.h \
11         contrib/libdcc/example.c \
12         contrib/libdcc/README \
13         contrib/99-openocd.rules
14
15 SUBDIRS =
16 DIST_SUBDIRS =
17 bin_PROGRAMS =
18 noinst_LTLIBRARIES =
19 info_TEXINFOS =
20 dist_man_MANS =
21 EXTRA_DIST =
22
23 if INTERNAL_JIMTCL
24 SUBDIRS += jimtcl
25 DIST_SUBDIRS += jimtcl
26 endif
27
28 # common flags used in openocd build
29 AM_CFLAGS = $(GCC_WARNINGS)
30
31 AM_CPPFLAGS = $(HOST_CPPFLAGS)\
32                           -I$(top_srcdir)/src \
33                           -I$(top_builddir)/src \
34                           -I$(top_srcdir)/src/helper \
35                           -DPKGDATADIR=\"$(pkgdatadir)\" \
36                           -DBINDIR=\"$(bindir)\"
37
38 if INTERNAL_JIMTCL
39 AM_CPPFLAGS += -I$(top_srcdir)/jimtcl \
40                            -I$(top_builddir)/jimtcl
41 endif
42 EXTRA_DIST += \
43         BUGS \
44         HACKING \
45         NEWTAPS \
46         README.Windows \
47         README.OSX \
48         $(wildcard $(srcdir)/NEWS*) \
49         Doxyfile.in \
50         tools/logger.pl \
51         tools/rlink_make_speed_table \
52         tools/st7_dtc_as \
53         contrib
54
55 libtool: $(LIBTOOL_DEPS)
56         $(SHELL) ./config.status --recheck
57
58 docs: pdf html doxygen
59
60 Doxyfile: $(srcdir)/Doxyfile.in
61         @echo "Creating $@ from $<..."
62         @( \
63           echo "### @@@ -= DO NOT EDIT THIS FILE =- @@@ ###" && \
64           echo "### @@@ Make changes to Doxyfile.in @@@ ###" && \
65           sed -e 's,@srcdir\@,$(srcdir),' \
66             -e 's,@builddir\@,$(builddir),' \
67             -e 's,@doxygen_as_html\@,$(doxygen_as_html),' \
68             -e 's,@doxygen_as_pdf\@,$(doxygen_as_pdf),' $< \
69         ) > $@
70
71 THE_MANUAL = doxygen/latex/refman.pdf
72
73 doxygen::
74         $(MAKE) Doxyfile
75         doxygen Doxyfile 2>&1 | perl $(srcdir)/tools/logger.pl > doxygen.log
76         @if [ -f doxygen/latex/refman.tex ]; then \
77                 echo "Creating $(THE_MANUAL)..."; \
78                 $(MAKE) $(THE_MANUAL); \
79         else \
80                 echo "Skipping Doxygen PDF..."; \
81         fi
82
83 $(THE_MANUAL): %.pdf: %.tex
84         -cd $$(dirname $*) && pdflatex $$(basename $*)
85         -cd $$(dirname $*) && pdflatex $$(basename $*)
86
87 TCL_PATH = tcl
88 # command to find paths of script files, relative to TCL_PATH
89 TCL_FILES = find $(srcdir)/$(TCL_PATH) -name '*.cfg' -o -name '*.tcl' -o -name '*.txt' | \
90                 sed -e 's,^$(srcdir)/$(TCL_PATH),,'
91
92 dist-hook:
93         if test -d $(srcdir)/.git -a \( ! -e $(distdir)/ChangeLog -o -w $(distdir)/ChangeLog \) ; then \
94                 git --git-dir $(srcdir)/.git log | $(srcdir)/tools/git2cl/git2cl > $(distdir)/ChangeLog ; \
95         fi
96         for i in $$($(TCL_FILES)); do \
97                 j="$(distdir)/$(TCL_PATH)/$$i" && \
98                 mkdir -p "$$(dirname $$j)" && \
99                 $(INSTALL_DATA) $(srcdir)/$(TCL_PATH)/$$i $$j; \
100         done
101
102 install-data-hook:
103         for i in $$($(TCL_FILES)); do \
104                 j="$(DESTDIR)$(pkgdatadir)/scripts/$$i" && \
105                 mkdir -p "$$(dirname $$j)" && \
106                 $(INSTALL_DATA) $(srcdir)/$(TCL_PATH)/$$i $$j; \
107         done
108
109 uninstall-hook:
110         rm -rf $(DESTDIR)$(pkgdatadir)/scripts
111
112 distclean-local:
113         rm -rf Doxyfile doxygen
114         rm -f $(srcdir)/jimtcl/configure.gnu
115
116 DISTCLEANFILES = doxygen.log
117
118 METASOURCES = AUTO
119
120 BUILT_SOURCES =
121 CLEANFILES =
122
123 MAINTAINERCLEANFILES = \
124         %D%/INSTALL \
125         %D%/configure \
126         %D%/Makefile.in \
127         %D%/depcomp \
128         %D%/config.guess \
129         %D%/config.sub \
130         %D%/config.h.in \
131         %D%/config.h.in~ \
132         %D%/compile \
133         %D%/ltmain.sh \
134         %D%/missing \
135         %D%/aclocal.m4 \
136         %D%/install-sh \
137         %D%/texinfo.tex
138
139 include src/Makefile.am
140 include doc/Makefile.am