summaryrefslogtreecommitdiffstats
path: root/Makefile.am
blob: 2ddc96d3d39895032abbc6a3f4eb4083b7280ae0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# not a GNU package. You can remove this line, if
# have all needed files, that a GNU package needs
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/99-openocd.rules

if INTERNAL_JIMTCL
SUBDIRS = jimtcl
else
SUBDIRS =
endif

SUBDIRS += src doc

EXTRA_DIST = \
	BUGS \
	HACKING \
	NEWTAPS \
	README.Windows \
	README.OSX \
	$(wildcard $(srcdir)/NEWS*) \
	Doxyfile.in \
	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
	rm -f $(srcdir)/jimtcl/configure.gnu

DISTCLEANFILES = doxygen.log

MAINTAINERCLEANFILES = \
	$(srcdir)/INSTALL \
	$(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