riscv-openocd/Makefile.am

163 lines
3.9 KiB
Makefile
Raw Normal View History

# SPDX-License-Identifier: GPL-2.0-or-later
# not a GNU package. You can remove this line, if
# have all needed files, that a GNU package needs
AUTOMAKE_OPTIONS = gnu 1.6
.DELETE_ON_ERROR:
# make sure we pass the correct jimtcl flags to distcheck
DISTCHECK_CONFIGURE_FLAGS = --disable-install-jim
# do not run Jim Tcl tests (esp. during distcheck)
check-recursive: SUBDIRS :=
nobase_dist_pkgdata_DATA = \
contrib/libdcc/dcc_stdio.c \
contrib/libdcc/dcc_stdio.h \
contrib/libdcc/example.c \
contrib/libdcc/README \
contrib/60-openocd.rules
SUBDIRS =
DIST_SUBDIRS =
bin_PROGRAMS =
noinst_LTLIBRARIES =
info_TEXINFOS =
dist_man_MANS =
EXTRA_DIST =
build: fix distcheck for jimtcl The issues have been highlighted while integrated jimtcl 0.82, but were already present. While building jimtcl as submodule, OpenOCD generates the file jimtcl/configure.gnu to pass specific configure flags. Issue 1: this file is not included in the distribution. This causes the rebuild from the distribution to have a jimtcl built with different (the default) configure flags. With jimtcl 0.82 the new default is to enable all the features, but a bug causes the build to fail when openssl is not installed in the build system (the bug is already fixed but after 0.82 [1]). All these together cause OpenOCD Jenkins to fail the build for target 'distcheck' with jimtcl 0.82. Add jimtcl/configure.gnu to OpenOCD distribution's file list. The build system considers jimtcl/configure.gnu as a temporarily file that should be removed during 'distclean'. Issue 2: 'distcheck' set read-only permission to the source files, including jimtcl/configure.gnu, so 'distclean' fails removing it. Add a leading '-' to ignore errors while trying to remove the file. Issue 3: Now that 'distcheck' properly configures and builds jimtcl, 'distcheck' still fails because we have enabled jimtcl json support in [2] and jimtcl 'distclean' fails to properly remove one object file (fixed after 0.82 [3]). Make OpenOCD removing the file jimtcl/jsmn/jsmn.o to complete the execution of 'distcheck'. Add a comment specifying which of the jimtcl versions are affected. Change-Id: I2f9153c5a41ba66b989b27c7bc57b38d1744cc29 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Link: [1] https://github.com/msteveb/jimtcl/commit/22277943a19c Link: [2] 0a36acbf6ac6 ("configure: build jimtcl with json extension") Link: [3] https://github.com/msteveb/jimtcl/commit/32a488587a3e Reviewed-on: https://review.openocd.org/c/openocd/+/7527 Tested-by: jenkins Reviewed-by: zapb <dev@zapb.de>
2023-03-05 17:27:58 -06:00
DISTCLEANFILES =
if INTERNAL_JIMTCL
SUBDIRS += jimtcl
DIST_SUBDIRS += jimtcl
build: fix distcheck for jimtcl The issues have been highlighted while integrated jimtcl 0.82, but were already present. While building jimtcl as submodule, OpenOCD generates the file jimtcl/configure.gnu to pass specific configure flags. Issue 1: this file is not included in the distribution. This causes the rebuild from the distribution to have a jimtcl built with different (the default) configure flags. With jimtcl 0.82 the new default is to enable all the features, but a bug causes the build to fail when openssl is not installed in the build system (the bug is already fixed but after 0.82 [1]). All these together cause OpenOCD Jenkins to fail the build for target 'distcheck' with jimtcl 0.82. Add jimtcl/configure.gnu to OpenOCD distribution's file list. The build system considers jimtcl/configure.gnu as a temporarily file that should be removed during 'distclean'. Issue 2: 'distcheck' set read-only permission to the source files, including jimtcl/configure.gnu, so 'distclean' fails removing it. Add a leading '-' to ignore errors while trying to remove the file. Issue 3: Now that 'distcheck' properly configures and builds jimtcl, 'distcheck' still fails because we have enabled jimtcl json support in [2] and jimtcl 'distclean' fails to properly remove one object file (fixed after 0.82 [3]). Make OpenOCD removing the file jimtcl/jsmn/jsmn.o to complete the execution of 'distcheck'. Add a comment specifying which of the jimtcl versions are affected. Change-Id: I2f9153c5a41ba66b989b27c7bc57b38d1744cc29 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Link: [1] https://github.com/msteveb/jimtcl/commit/22277943a19c Link: [2] 0a36acbf6ac6 ("configure: build jimtcl with json extension") Link: [3] https://github.com/msteveb/jimtcl/commit/32a488587a3e Reviewed-on: https://review.openocd.org/c/openocd/+/7527 Tested-by: jenkins Reviewed-by: zapb <dev@zapb.de>
2023-03-05 17:27:58 -06:00
EXTRA_DIST += jimtcl/configure.gnu
# jimtcl from 0.79 to 0.82 miss cleaning jsmn.o
DISTCLEANFILES += jimtcl/jsmn/jsmn.o
endif
# common flags used in openocd build
AM_CFLAGS = $(GCC_WARNINGS)
AM_CPPFLAGS = $(HOST_CPPFLAGS)\
-I$(top_srcdir)/src \
-I$(top_builddir)/src \
-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.macOS \
$(EXTRA_DIST_NEWS) \
Doxyfile.in \
LICENSES/license-rules.txt \
LICENSES/exceptions/eCos-exception-2.0 \
LICENSES/preferred/BSD-1-Clause \
LICENSES/preferred/BSD-2-Clause \
LICENSES/preferred/BSD-2-Clause-Views \
LICENSES/preferred/BSD-3-Clause \
LICENSES/preferred/BSD-Source-Code \
LICENSES/preferred/GFDL-1.2 \
LICENSES/preferred/gfdl-1.2.texi.readme \
LICENSES/preferred/GPL-2.0 \
LICENSES/preferred/MIT \
LICENSES/stand-alone/GPL-3.0 \
tools/logger.pl \
tools/rlink_make_speed_table \
tools/st7_dtc_as \
contrib
libtool: $(LIBTOOL_DEPS)
$(SHELL) ./config.status --recheck
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),' \
-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' -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)" && \
$(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
build: fix distcheck for jimtcl The issues have been highlighted while integrated jimtcl 0.82, but were already present. While building jimtcl as submodule, OpenOCD generates the file jimtcl/configure.gnu to pass specific configure flags. Issue 1: this file is not included in the distribution. This causes the rebuild from the distribution to have a jimtcl built with different (the default) configure flags. With jimtcl 0.82 the new default is to enable all the features, but a bug causes the build to fail when openssl is not installed in the build system (the bug is already fixed but after 0.82 [1]). All these together cause OpenOCD Jenkins to fail the build for target 'distcheck' with jimtcl 0.82. Add jimtcl/configure.gnu to OpenOCD distribution's file list. The build system considers jimtcl/configure.gnu as a temporarily file that should be removed during 'distclean'. Issue 2: 'distcheck' set read-only permission to the source files, including jimtcl/configure.gnu, so 'distclean' fails removing it. Add a leading '-' to ignore errors while trying to remove the file. Issue 3: Now that 'distcheck' properly configures and builds jimtcl, 'distcheck' still fails because we have enabled jimtcl json support in [2] and jimtcl 'distclean' fails to properly remove one object file (fixed after 0.82 [3]). Make OpenOCD removing the file jimtcl/jsmn/jsmn.o to complete the execution of 'distcheck'. Add a comment specifying which of the jimtcl versions are affected. Change-Id: I2f9153c5a41ba66b989b27c7bc57b38d1744cc29 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Link: [1] https://github.com/msteveb/jimtcl/commit/22277943a19c Link: [2] 0a36acbf6ac6 ("configure: build jimtcl with json extension") Link: [3] https://github.com/msteveb/jimtcl/commit/32a488587a3e Reviewed-on: https://review.openocd.org/c/openocd/+/7527 Tested-by: jenkins Reviewed-by: zapb <dev@zapb.de>
2023-03-05 17:27:58 -06:00
-rm -f $(srcdir)/jimtcl/configure.gnu
build: fix distcheck for jimtcl The issues have been highlighted while integrated jimtcl 0.82, but were already present. While building jimtcl as submodule, OpenOCD generates the file jimtcl/configure.gnu to pass specific configure flags. Issue 1: this file is not included in the distribution. This causes the rebuild from the distribution to have a jimtcl built with different (the default) configure flags. With jimtcl 0.82 the new default is to enable all the features, but a bug causes the build to fail when openssl is not installed in the build system (the bug is already fixed but after 0.82 [1]). All these together cause OpenOCD Jenkins to fail the build for target 'distcheck' with jimtcl 0.82. Add jimtcl/configure.gnu to OpenOCD distribution's file list. The build system considers jimtcl/configure.gnu as a temporarily file that should be removed during 'distclean'. Issue 2: 'distcheck' set read-only permission to the source files, including jimtcl/configure.gnu, so 'distclean' fails removing it. Add a leading '-' to ignore errors while trying to remove the file. Issue 3: Now that 'distcheck' properly configures and builds jimtcl, 'distcheck' still fails because we have enabled jimtcl json support in [2] and jimtcl 'distclean' fails to properly remove one object file (fixed after 0.82 [3]). Make OpenOCD removing the file jimtcl/jsmn/jsmn.o to complete the execution of 'distcheck'. Add a comment specifying which of the jimtcl versions are affected. Change-Id: I2f9153c5a41ba66b989b27c7bc57b38d1744cc29 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Link: [1] https://github.com/msteveb/jimtcl/commit/22277943a19c Link: [2] 0a36acbf6ac6 ("configure: build jimtcl with json extension") Link: [3] https://github.com/msteveb/jimtcl/commit/32a488587a3e Reviewed-on: https://review.openocd.org/c/openocd/+/7527 Tested-by: jenkins Reviewed-by: zapb <dev@zapb.de>
2023-03-05 17:27:58 -06:00
DISTCLEANFILES += doxygen.log
METASOURCES = AUTO
BUILT_SOURCES =
CLEANFILES =
MAINTAINERCLEANFILES = \
%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