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