annotate scripts/module.mk @ 21959:627f582edbe3

extract documentation from .in.m files instead of generated .m files * scripts/plot/util/gnuplot_binary.in.m: Rename from scripts/plot/util/gnuplot_binary.in. * scripts/module.mk (GEN_FCN_FILES_IN, GEN_FCN_FILES_TEMPLATE): Use ".in.m" instead of ".in". ($(srcdir)/scripts/DOCSTRINGS): Depend on and process $(GEN_FCN_FILES_IN) instead of $(GEN_FCN_FILES). * scripts/mkdoc.pl: Accept .m and .in.m files. Always look in source directory for files.
author John W. Eaton <jwe@octave.org>
date Tue, 21 Jun 2016 12:58:07 -0400
parents 1315aa0ca466
children cfead9fdb968
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
20366
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
1 scripts_EXTRA_DIST =
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
2
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
3 scripts_CLEANFILES =
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
4 scripts_DISTCLEANFILES =
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
5 scripts_MAINTAINERCLEANFILES =
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
6
20328
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
7 include scripts/audio/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
8 include scripts/deprecated/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
9 include scripts/elfun/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
10 include scripts/general/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
11 include scripts/geometry/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
12 include scripts/gui/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
13 include scripts/help/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
14 include scripts/image/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
15 include scripts/io/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
16 include scripts/java/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
17 include scripts/linear-algebra/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
18 include scripts/miscellaneous/module.mk
20533
fcb792acab9b Moving ode45, odeset, odeget, and levenshtein from odepkg to core.
jcorno <jacopo.corno@gmail.com>
parents: 20479
diff changeset
19 include scripts/ode/module.mk
20328
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
20 include scripts/optimization/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
21 include scripts/path/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
22 include scripts/pkg/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
23 include scripts/plot/appearance/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
24 include scripts/plot/draw/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
25 include scripts/plot/util/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
26 include scripts/polynomial/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
27 include scripts/prefs/module.mk
21766
d16d137eb485 [maint] Move profiler scripts to own directory.
Daniel Kraft <dkraft@google.com>
parents: 21673
diff changeset
28 include scripts/profiler/module.mk
20328
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
29 include scripts/set/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
30 include scripts/signal/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
31 include scripts/sparse/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
32 include scripts/specfun/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
33 include scripts/special-matrix/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
34 include scripts/startup/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
35 include scripts/statistics/base/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
36 include scripts/statistics/distributions/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
37 include scripts/statistics/models/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
38 include scripts/statistics/tests/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
39 include scripts/strings/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
40 include scripts/testfun/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
41 include scripts/time/module.mk
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
42
21093
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
43 ## include scripts/@ftp/module.mk
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
44 ## The include above fails because Automake cannot process the '@' character.
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
45 ## As a work around, the contents of scripts/@ftp/module.mk are placed directly
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
46 ## in this module.mk file.
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
47 ######################## include scripts/@ftp/module.mk ########################
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
48 FCN_FILE_DIRS += scripts/@ftp
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
49
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
50 scripts_@ftp_FCN_FILES = \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
51 scripts/@ftp/ascii.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
52 scripts/@ftp/binary.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
53 scripts/@ftp/cd.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
54 scripts/@ftp/close.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
55 scripts/@ftp/delete.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
56 scripts/@ftp/dir.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
57 scripts/@ftp/display.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
58 scripts/@ftp/ftp.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
59 scripts/@ftp/loadobj.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
60 scripts/@ftp/mget.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
61 scripts/@ftp/mkdir.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
62 scripts/@ftp/mput.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
63 scripts/@ftp/rename.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
64 scripts/@ftp/rmdir.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
65 scripts/@ftp/saveobj.m
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
66
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
67 scripts_@ftpdir = $(fcnfiledir)/@ftp
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
68
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
69 scripts_@ftp_DATA = $(scripts_@ftp_FCN_FILES)
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
70
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
71 FCN_FILES += $(scripts_@ftp_FCN_FILES)
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
72
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
73 PKG_ADD_FILES += scripts/@ftp/PKG_ADD
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
74
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
75 DIRSTAMP_FILES += scripts/@ftp/$(octave_dirstamp)
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
76 ####################### end include scripts/@ftp/module.mk #####################
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
77
20328
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
78 image_DATA += $(SCRIPTS_IMAGES)
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
79
21959
627f582edbe3 extract documentation from .in.m files instead of generated .m files
John W. Eaton <jwe@octave.org>
parents: 21879
diff changeset
80 GEN_FCN_FILES_IN = $(GEN_FCN_FILES:.m=.in.m)
20328
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
81
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
82 ALL_LOCAL_TARGETS += \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
83 $(GEN_FCN_FILES) \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
84 $(PKG_ADD_FILES) \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
85 $(JAR_FILES)
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
86
21879
1315aa0ca466 build: Ensure gnuplot_binary.m is generated before building docs (bug #48202)
Mike Miller <mtmiller@octave.org>
parents: 21766
diff changeset
87 OCTAVE_INTERPRETER_TARGETS += \
1315aa0ca466 build: Ensure gnuplot_binary.m is generated before building docs (bug #48202)
Mike Miller <mtmiller@octave.org>
parents: 21766
diff changeset
88 $(GEN_FCN_FILES)
1315aa0ca466 build: Ensure gnuplot_binary.m is generated before building docs (bug #48202)
Mike Miller <mtmiller@octave.org>
parents: 21766
diff changeset
89
20328
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
90 define PKG_ADD_FILE_TEMPLATE
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
91 $(1)/PKG_ADD: $$($(2)_FCN_FILES) $$($(2)_GEN_FCN_FILES) $(1)/$(octave_dirstamp) scripts/mk-pkg-add
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
92 $$(AM_V_GEN)rm -f $$@-t $$@ && \
21281
b76955e83fe4 maint: Run all build shell scripts with SHELL as command interpreter
Mike Miller <mtmiller@octave.org>
parents: 21093
diff changeset
93 $$(SHELL) $$(srcdir)/scripts/mk-pkg-add $(srcdir) $$($(2)_FCN_FILES) -- $$($(2)_GEN_FCN_FILES) > $$@-t && \
20328
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
94 mv $$@-t $$@
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
95 endef
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
96
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
97 $(foreach d, $(FCN_FILE_DIRS), $(eval $(call PKG_ADD_FILE_TEMPLATE, $(d),$(subst /,_,$(subst -,_,$(d))))))
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
98
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
99 define GEN_FCN_FILES_TEMPLATE
21959
627f582edbe3 extract documentation from .in.m files instead of generated .m files
John W. Eaton <jwe@octave.org>
parents: 21879
diff changeset
100 $(1): $(1:.m=.in.m) build-aux/subst-config-vals.sh $(dir $(1))$(octave_dirstamp)
21398
7e8a410e6124 break generated file dependence on Makefile (bug #46063)
John W. Eaton <jwe@octave.org>
parents: 21388
diff changeset
101 $$(AM_V_GEN)$$(call simple-filter-rule,build-aux/subst-config-vals.sh)
20328
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
102 endef
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
103
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
104 $(foreach f, $(GEN_FCN_FILES), $(eval $(call GEN_FCN_FILES_TEMPLATE, $(f))))
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
105
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
106 if AMCOND_BUILD_DOCS
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
107
21653
09c086133228 simplify rules for building DOCSTRING files (bug #47745)
John W. Eaton <jwe@octave.org>
parents: 21398
diff changeset
108 DOCSTRING_FILES += $(srcdir)/scripts/DOCSTRINGS
20393
0fbe2e28ea84 build: Avoid triggering rebuild of docs when DOCSTRINGS regenerated (bug #45567)
Mike Miller <mtmiller@octave.org>
parents: 20366
diff changeset
109
21959
627f582edbe3 extract documentation from .in.m files instead of generated .m files
John W. Eaton <jwe@octave.org>
parents: 21879
diff changeset
110 $(srcdir)/scripts/DOCSTRINGS: $(FCN_FILES) $(GEN_FCN_FILES_IN) | scripts/$(octave-dirstamp)
21673
9631aac4b635 build: avoid writing to srcdir unless DOCSTRINGS contents change (bug #47832)
Mike Miller <mtmiller@octave.org>
parents: 21653
diff changeset
111 $(AM_V_GEN)rm -f scripts/DOCSTRINGS-t && \
21959
627f582edbe3 extract documentation from .in.m files instead of generated .m files
John W. Eaton <jwe@octave.org>
parents: 21879
diff changeset
112 $(PERL) $(srcdir)/scripts/mkdoc.pl "$(srcdir)" $(FCN_FILES) $(GEN_FCN_FILES_IN) > scripts/DOCSTRINGS-t && \
627f582edbe3 extract documentation from .in.m files instead of generated .m files
John W. Eaton <jwe@octave.org>
parents: 21879
diff changeset
113 mv scripts/DOCSTRINGS-t $@
20328
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
114
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
115 endif
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
116
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
117 check-m-sources:
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
118 @echo "checking whether files in source tree are listed in module.mk files..."; \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
119 for f in $$(find $(srcdir)/scripts -name '*.m'); do \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
120 found=false; \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
121 for m in $(FCN_FILES) $(GEN_FCN_FILES); do \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
122 if [ "$$f" = $(srcdir)/scripts/"$$m" ]; then \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
123 found=true; \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
124 break; \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
125 fi; \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
126 done; \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
127 if $$found; then \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
128 true; \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
129 else \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
130 missing=$$(echo $$f | $(SED) "s|^$(srcdir)/scripts||"); \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
131 echo "$$missing: not listed in SOURCES"; \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
132 fi; \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
133 done; \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
134 if test -z "$$missing"; then \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
135 echo "yes"; \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
136 fi
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
137 .PHONY: check-m-sources
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
138
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
139 check-missing-semicolon:
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
140 @echo "checking for missing semicolons in .m files..."
21385
89fa0694aa2e Fix check-missing-semicolon QA target (bug #47277).
Rik <rik@octave.org>
parents: 21347
diff changeset
141 @( echo "warning on Octave:missing-semicolon;"; \
89fa0694aa2e Fix check-missing-semicolon QA target (bug #47277).
Rik <rik@octave.org>
parents: 21347
diff changeset
142 for m in $(addprefix $(srcdir)/, $(FCN_FILES)) $(GEN_FCN_FILES); do \
89fa0694aa2e Fix check-missing-semicolon QA target (bug #47277).
Rik <rik@octave.org>
parents: 21347
diff changeset
143 ! $(GREP) -q -E '^classdef' $$m || continue; \
89fa0694aa2e Fix check-missing-semicolon QA target (bug #47277).
Rik <rik@octave.org>
parents: 21347
diff changeset
144 ! $(GREP) -q -E '^ *\<function\>' $$m || continue; \
89fa0694aa2e Fix check-missing-semicolon QA target (bug #47277).
Rik <rik@octave.org>
parents: 21347
diff changeset
145 ! (echo $$m | $(GREP) -q __splinefit__.m) || continue; \
20328
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
146 echo "source ('$$m');"; \
21347
2f9de06a526e maint: Clean up calls to run-octave in build system
Mike Miller <mtmiller@octave.org>
parents: 21290
diff changeset
147 done ) | $(SHELL) run-octave --norc --silent --no-history
20328
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
148 .PHONY: check-missing-semicolon
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
149
21388
b9cb3a96849a build: Calculate ctags for m-files as well as C/C++/Fortran sources (bug #47317).
Rik <rik@octave.org>
parents: 21385
diff changeset
150 ## Include m-files in list of sources when building tag files.
b9cb3a96849a build: Calculate ctags for m-files as well as C/C++/Fortran sources (bug #47317).
Rik <rik@octave.org>
parents: 21385
diff changeset
151 ## Automake will not include these because there is no xxx_SOURCES target
b9cb3a96849a build: Calculate ctags for m-files as well as C/C++/Fortran sources (bug #47317).
Rik <rik@octave.org>
parents: 21385
diff changeset
152 TAGS_DEPENDENCIES = $(addprefix $(srcdir)/, $(FCN_FILES)) $(GEN_FCN_FILES)
b9cb3a96849a build: Calculate ctags for m-files as well as C/C++/Fortran sources (bug #47317).
Rik <rik@octave.org>
parents: 21385
diff changeset
153 TAGS_FILES = $(addprefix $(srcdir)/, $(FCN_FILES)) $(GEN_FCN_FILES)
20328
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
154
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
155 install-data-local: install-startup-files install-pkg-add
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
156
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
157 uninstall-local: uninstall-startup-files uninstall-pkg-add
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
158
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
159 install-pkg-add:
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
160 for f in $(PKG_ADD_FILES); do \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
161 if [ -n "`cat $$f`" ]; then \
20355
e365a34a1c5c Fix more installation discrepancies in scripts directory
Mike Miller <mtmiller@octave.org>
parents: 20343
diff changeset
162 base=`echo $$f | $(SED) 's,^scripts/,,'`; \
e365a34a1c5c Fix more installation discrepancies in scripts directory
Mike Miller <mtmiller@octave.org>
parents: 20343
diff changeset
163 $(MKDIR_P) $(DESTDIR)$(fcnfiledir)/`echo $$base | $(SED) 's,/[^/]*$$,,'`; \
e365a34a1c5c Fix more installation discrepancies in scripts directory
Mike Miller <mtmiller@octave.org>
parents: 20343
diff changeset
164 $(INSTALL_DATA) $$f $(DESTDIR)$(fcnfiledir)/$$base; \
20328
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
165 fi \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
166 done
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
167 .PHONY: install-pkg-add
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
168
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
169 uninstall-pkg-add:
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
170 for f in $(PKG_ADD_FILES); do \
20364
806a762111d9 Fix uninstallation of PKG_ADD files
Mike Miller <mtmiller@octave.org>
parents: 20361
diff changeset
171 base=`echo $$f | $(SED) 's,^scripts/,,'`; \
806a762111d9 Fix uninstallation of PKG_ADD files
Mike Miller <mtmiller@octave.org>
parents: 20361
diff changeset
172 rm -f $(DESTDIR)$(fcnfiledir)/$$base; \
20328
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
173 done
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
174 .PHONY: uninstall-pkg-add
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
175
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
176 if AMCOND_HAVE_JAVA
20340
22a2f6a7f6dc * scripts/module.mk (scripts-dist-hook): Always define.
John W. Eaton <jwe@octave.org>
parents: 20333
diff changeset
177 scripts-dist-hook:
20328
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
178 else
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
179 scripts-dist-hook:
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
180 @echo "Packaging distribution requires Java." ; exit 1;
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
181 endif
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
182
20366
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
183 scripts_EXTRA_DIST += \
20328
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
184 $(SCRIPTS_IMAGES) \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
185 $(FCN_FILES) \
20361
bf92a14c0e76 don't include GEN_FCN_FILES in FCN_FILES list
John W. Eaton <jwe@octave.org>
parents: 20355
diff changeset
186 $(GEN_FCN_FILES_IN) \
21653
09c086133228 simplify rules for building DOCSTRING files (bug #47745)
John W. Eaton <jwe@octave.org>
parents: 21398
diff changeset
187 $(srcdir)/scripts/DOCSTRINGS \
20328
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
188 scripts/mkdoc.pl \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
189 scripts/mk-pkg-add
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
190
20366
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
191 EXTRA_DIST += $(scripts_EXTRA_DIST)
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
192
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
193 scripts_DISTCLEANFILES += \
20328
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
194 $(PKG_ADD_FILES) \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
195 $(DIRSTAMP_FILES) \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
196 $(GEN_FCN_FILES)
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
197
20409
4300fe896004 build: Don't remove built documentation for distclean target (bug #45646).
Rik <rik@octave.org>
parents: 20393
diff changeset
198 scripts_MAINTAINERCLEANFILES += \
21653
09c086133228 simplify rules for building DOCSTRING files (bug #47745)
John W. Eaton <jwe@octave.org>
parents: 21398
diff changeset
199 $(srcdir)/scripts/DOCSTRINGS
20409
4300fe896004 build: Don't remove built documentation for distclean target (bug #45646).
Rik <rik@octave.org>
parents: 20393
diff changeset
200
20366
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
201 CLEANFILES += $(scripts_CLEANFILES)
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
202 DISTCLEANFILES += $(scripts_DISTCLEANFILES)
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
203 MAINTAINERCLEANFILES += $(scripts_MAINTAINERCLEANFILES)
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
204
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
205 scripts-clean:
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
206 rm -f $(scripts_CLEANFILES)
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
207
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
208 scripts-distclean: scripts-clean
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
209 rm -f $(scripts_DISTCLEANFILES)
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
210
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
211 scripts-maintainer-clean: scripts-distclean
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
212 rm -f $(scripts_MAINTAINERCLEANFILES)