annotate scripts/module.mk @ 22075:7a4897e07727

build: ensure all files needed to run octave in build dir are declared * scripts/module.mk (OCTAVE_INTERPRETER_TARGETS): Include $(PKG_ADD_FILES) in the list, moved from $(ALL_LOCAL_TARGETS). * src/module.mk (ALL_LOCAL_TARGETS): Remove $(OCTAVE_VERSION_LINKS) since it is already listed in $(OCTAVE_INTERPRETER_TARGETS).
author Mike Miller <mtmiller@octave.org>
date Thu, 07 Jul 2016 19:02:08 -0700
parents 5a0eea960bdb
children df50d42d4b1b
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.
21964
cfead9fdb968 Add more source files to the distribution
Mike Miller <mtmiller@octave.org>
parents: 21959
diff changeset
47 scripts_EXTRA_DIST += scripts/@ftp/module.mk
21093
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
48 ######################## include scripts/@ftp/module.mk ########################
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
49 FCN_FILE_DIRS += scripts/@ftp
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
50
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
51 scripts_@ftp_FCN_FILES = \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
52 scripts/@ftp/ascii.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
53 scripts/@ftp/binary.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
54 scripts/@ftp/cd.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
55 scripts/@ftp/close.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
56 scripts/@ftp/delete.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
57 scripts/@ftp/dir.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
58 scripts/@ftp/display.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
59 scripts/@ftp/ftp.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
60 scripts/@ftp/loadobj.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
61 scripts/@ftp/mget.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
62 scripts/@ftp/mkdir.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
63 scripts/@ftp/mput.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
64 scripts/@ftp/rename.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
65 scripts/@ftp/rmdir.m \
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
66 scripts/@ftp/saveobj.m
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
67
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
68 scripts_@ftpdir = $(fcnfiledir)/@ftp
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
69
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
70 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
71
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
72 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
73
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
74 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
75
0ebb8e26ebbc build: Document Automake failure to 'include scripts/@ftp/module.mk'.
Rik <rik@octave.org>
parents: 21092
diff changeset
76 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
77 ####################### 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
78
20328
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
79 image_DATA += $(SCRIPTS_IMAGES)
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
80
21959
627f582edbe3 extract documentation from .in.m files instead of generated .m files
John W. Eaton <jwe@octave.org>
parents: 21879
diff changeset
81 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
82
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
83 ALL_LOCAL_TARGETS += \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
84 $(JAR_FILES)
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
85
21879
1315aa0ca466 build: Ensure gnuplot_binary.m is generated before building docs (bug #48202)
Mike Miller <mtmiller@octave.org>
parents: 21766
diff changeset
86 OCTAVE_INTERPRETER_TARGETS += \
22075
7a4897e07727 build: ensure all files needed to run octave in build dir are declared
Mike Miller <mtmiller@octave.org>
parents: 22074
diff changeset
87 $(GEN_FCN_FILES) \
7a4897e07727 build: ensure all files needed to run octave in build dir are declared
Mike Miller <mtmiller@octave.org>
parents: 22074
diff changeset
88 $(PKG_ADD_FILES)
21879
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
21653
09c086133228 simplify rules for building DOCSTRING files (bug #47745)
John W. Eaton <jwe@octave.org>
parents: 21398
diff changeset
106 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
107
22074
5a0eea960bdb build: fix typo of $(octave_dirstamp) in build prerequisites
Mike Miller <mtmiller@octave.org>
parents: 22067
diff changeset
108 $(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
109 $(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
110 $(PERL) $(srcdir)/scripts/mkdoc.pl "$(srcdir)" $(FCN_FILES) $(GEN_FCN_FILES_IN) > scripts/DOCSTRINGS-t && \
22067
1340feab13a8 restore move-if-change rule for DOCSTRINGS files (bug #48430)
John W. Eaton <jwe@octave.org>
parents: 22024
diff changeset
111 $(call move_if_change_rule,scripts/DOCSTRINGS-t,$@)
20328
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
112
22074
5a0eea960bdb build: fix typo of $(octave_dirstamp) in build prerequisites
Mike Miller <mtmiller@octave.org>
parents: 22067
diff changeset
113 DIRSTAMP_FILES += scripts/$(octave_dirstamp)
5a0eea960bdb build: fix typo of $(octave_dirstamp) in build prerequisites
Mike Miller <mtmiller@octave.org>
parents: 22067
diff changeset
114
20328
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
115 check-m-sources:
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
116 @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
117 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
118 found=false; \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
119 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
120 if [ "$$f" = $(srcdir)/scripts/"$$m" ]; then \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
121 found=true; \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
122 break; \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
123 fi; \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
124 done; \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
125 if $$found; then \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
126 true; \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
127 else \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
128 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
129 echo "$$missing: not listed in SOURCES"; \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
130 fi; \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
131 done; \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
132 if test -z "$$missing"; then \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
133 echo "yes"; \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
134 fi
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
135 .PHONY: check-m-sources
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
136
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
137 check-missing-semicolon:
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
138 @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
139 @( echo "warning on Octave:missing-semicolon;"; \
89fa0694aa2e Fix check-missing-semicolon QA target (bug #47277).
Rik <rik@octave.org>
parents: 21347
diff changeset
140 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
141 ! $(GREP) -q -E '^classdef' $$m || continue; \
89fa0694aa2e Fix check-missing-semicolon QA target (bug #47277).
Rik <rik@octave.org>
parents: 21347
diff changeset
142 ! $(GREP) -q -E '^ *\<function\>' $$m || continue; \
89fa0694aa2e Fix check-missing-semicolon QA target (bug #47277).
Rik <rik@octave.org>
parents: 21347
diff changeset
143 ! (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
144 echo "source ('$$m');"; \
21347
2f9de06a526e maint: Clean up calls to run-octave in build system
Mike Miller <mtmiller@octave.org>
parents: 21290
diff changeset
145 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
146 .PHONY: check-missing-semicolon
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
147
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
148 ## 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
149 ## 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
150 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
151 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
152
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
153 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
154
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
155 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
156
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
157 install-pkg-add:
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
158 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
159 if [ -n "`cat $$f`" ]; then \
20355
e365a34a1c5c Fix more installation discrepancies in scripts directory
Mike Miller <mtmiller@octave.org>
parents: 20343
diff changeset
160 base=`echo $$f | $(SED) 's,^scripts/,,'`; \
e365a34a1c5c Fix more installation discrepancies in scripts directory
Mike Miller <mtmiller@octave.org>
parents: 20343
diff changeset
161 $(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
162 $(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
163 fi \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
164 done
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
165 .PHONY: install-pkg-add
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
166
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
167 uninstall-pkg-add:
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
168 for f in $(PKG_ADD_FILES); do \
20364
806a762111d9 Fix uninstallation of PKG_ADD files
Mike Miller <mtmiller@octave.org>
parents: 20361
diff changeset
169 base=`echo $$f | $(SED) 's,^scripts/,,'`; \
806a762111d9 Fix uninstallation of PKG_ADD files
Mike Miller <mtmiller@octave.org>
parents: 20361
diff changeset
170 rm -f $(DESTDIR)$(fcnfiledir)/$$base; \
20328
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
171 done
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
172 .PHONY: uninstall-pkg-add
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
173
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
174 if AMCOND_HAVE_JAVA
20340
22a2f6a7f6dc * scripts/module.mk (scripts-dist-hook): Always define.
John W. Eaton <jwe@octave.org>
parents: 20333
diff changeset
175 scripts-dist-hook:
20328
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
176 else
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
177 scripts-dist-hook:
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
178 @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
179 endif
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
180
20366
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
181 scripts_EXTRA_DIST += \
20328
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
182 $(SCRIPTS_IMAGES) \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
183 $(FCN_FILES) \
20361
bf92a14c0e76 don't include GEN_FCN_FILES in FCN_FILES list
John W. Eaton <jwe@octave.org>
parents: 20355
diff changeset
184 $(GEN_FCN_FILES_IN) \
21653
09c086133228 simplify rules for building DOCSTRING files (bug #47745)
John W. Eaton <jwe@octave.org>
parents: 21398
diff changeset
185 $(srcdir)/scripts/DOCSTRINGS \
20328
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
186 scripts/mkdoc.pl \
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
187 scripts/mk-pkg-add
fa9fa6ab76f0 eliminate recursive make invocation in scripts directory tree
John W. Eaton <jwe@octave.org>
parents:
diff changeset
188
20366
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
189 EXTRA_DIST += $(scripts_EXTRA_DIST)
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
190
22015
cb25e0da9541 build: clean all PKG_ADD, *.oct, and *-tst files on 'make clean'
Mike Miller <mtmiller@octave.org>
parents: 21971
diff changeset
191 scripts_CLEANFILES += \
22024
659731a4563f build: delete generated files, keep distributed files on clean and distclean (bug #45646)
Mike Miller <mtmiller@octave.org>
parents: 22015
diff changeset
192 $(GEN_FCN_FILES) \
22015
cb25e0da9541 build: clean all PKG_ADD, *.oct, and *-tst files on 'make clean'
Mike Miller <mtmiller@octave.org>
parents: 21971
diff changeset
193 $(PKG_ADD_FILES)
cb25e0da9541 build: clean all PKG_ADD, *.oct, and *-tst files on 'make clean'
Mike Miller <mtmiller@octave.org>
parents: 21971
diff changeset
194
20366
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20364
diff changeset
195 scripts_DISTCLEANFILES += \
22024
659731a4563f build: delete generated files, keep distributed files on clean and distclean (bug #45646)
Mike Miller <mtmiller@octave.org>
parents: 22015
diff changeset
196 $(DIRSTAMP_FILES)
20328
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)