annotate libinterp/module.mk @ 22002:40e9cb6bd95c

avoid macros in generated built-in function files * mkbuiltins: New option, --disable-dl. Don't use macros to declare or install built-in functions or aliases. * libinterp/module.mk: Optionally pass --disable-dl to mkbuiltins.
author John W. Eaton <jwe@octave.org>
date Thu, 30 Jun 2016 11:05:15 -0400
parents 492472927079
children f1136cf44edc
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: 20356
diff changeset
1 libinterp_EXTRA_DIST =
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20356
diff changeset
2
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20356
diff changeset
3 libinterp_CLEANFILES =
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20356
diff changeset
4 libinterp_DISTCLEANFILES =
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20356
diff changeset
5 libinterp_MAINTAINERCLEANFILES =
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20356
diff changeset
6
14397
670feb71afde maint: Move @CPPFLAGS@ to end of AM_CPPFLAGS lists in Makefiles.
John W. Eaton <jwe@octave.org>
parents: 14348
diff changeset
7 ## Search local directories before those specified by the user.
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
8 libinterp_liboctinterp_la_CPPFLAGS = \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
9 @OCTINTERP_DLL_DEFS@ \
21290
1309edb344e1 use top_srcdir, top_builddir, abs_top_srcdir or abs_top_builddir only if needed
John W. Eaton <jwe@octave.org>
parents: 21282
diff changeset
10 -Iliboctave -I$(srcdir)/liboctave \
1309edb344e1 use top_srcdir, top_builddir, abs_top_srcdir or abs_top_builddir only if needed
John W. Eaton <jwe@octave.org>
parents: 21282
diff changeset
11 -I$(srcdir)/liboctave/cruft/misc \
1309edb344e1 use top_srcdir, top_builddir, abs_top_srcdir or abs_top_builddir only if needed
John W. Eaton <jwe@octave.org>
parents: 21282
diff changeset
12 -I$(srcdir)/liboctave/array \
1309edb344e1 use top_srcdir, top_builddir, abs_top_srcdir or abs_top_builddir only if needed
John W. Eaton <jwe@octave.org>
parents: 21282
diff changeset
13 -Iliboctave/numeric -I$(srcdir)/liboctave/numeric \
1309edb344e1 use top_srcdir, top_builddir, abs_top_srcdir or abs_top_builddir only if needed
John W. Eaton <jwe@octave.org>
parents: 21282
diff changeset
14 -Iliboctave/operators -I$(srcdir)/liboctave/operators \
1309edb344e1 use top_srcdir, top_builddir, abs_top_srcdir or abs_top_builddir only if needed
John W. Eaton <jwe@octave.org>
parents: 21282
diff changeset
15 -I$(srcdir)/liboctave/system \
1309edb344e1 use top_srcdir, top_builddir, abs_top_srcdir or abs_top_builddir only if needed
John W. Eaton <jwe@octave.org>
parents: 21282
diff changeset
16 -I$(srcdir)/liboctave/util \
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
17 -I$(srcdir)/libinterp/octave-value \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
18 -Ilibinterp -I$(srcdir)/libinterp \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
19 -I$(srcdir)/libinterp/operators \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
20 -Ilibinterp/parse-tree -I$(srcdir)/libinterp/parse-tree \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
21 -Ilibinterp/corefcn -I$(srcdir)/libinterp/corefcn \
21888
00f1249f2483 create wrappers for some gnulib functions
John W. Eaton <jwe@octave.org>
parents: 21680
diff changeset
22 -I$(srcdir)/liboctave/wrappers \
21678
6586202b3a87 make __magick_read__ a built-in function (bug #41699)
John W. Eaton <jwe@octave.org>
parents: 21673
diff changeset
23 $(HDF5_CPPFLAGS) \
6586202b3a87 make __magick_read__ a built-in function (bug #41699)
John W. Eaton <jwe@octave.org>
parents: 21673
diff changeset
24 $(MAGICK_CPPFLAGS)
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
25
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
26 libinterp_liboctinterp_la_CFLAGS = $(AM_CFLAGS) $(WARN_CFLAGS)
15363
482d92904aa4 don't use WARN_CXXFLAGS for qterminal library
John W. Eaton <jwe@octave.org>
parents: 15281
diff changeset
27
21216
b7a191eb0c3c fix typo in definition of libinterp_liboctinterp_la_CXXFLAGS
John W. Eaton <jwe@octave.org>
parents: 21185
diff changeset
28 libinterp_liboctinterp_la_CXXFLAGS = $(AM_CXXFLAGS) $(WARN_CXXFLAGS)
15363
482d92904aa4 don't use WARN_CXXFLAGS for qterminal library
John W. Eaton <jwe@octave.org>
parents: 15281
diff changeset
29
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
30 octlib_LTLIBRARIES += libinterp/liboctinterp.la
12727
40b16bb69fec maint: Don't distribute files in tarball which must be re-built for each installation
Rik <octave@nomad.inbox5.com>
parents: 12720
diff changeset
31
21966
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21942
diff changeset
32 BUILT_SOURCES += \
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21942
diff changeset
33 libinterp/builtin-defun-decls.h \
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
34 libinterp/corefcn/defaults.h \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
35 libinterp/corefcn/graphics-props.cc \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
36 libinterp/corefcn/graphics.h \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
37 libinterp/corefcn/mxarray.h \
21970
9adb35378488 * libinterp/module.mk (BUILT_SOURCES): Include oct-tex-parser.h in the list.
John W. Eaton <jwe@octave.org>
parents: 21966
diff changeset
38 libinterp/corefcn/oct-tex-parser.h \
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
39 libinterp/parse-tree/oct-gperf.h \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
40 libinterp/parse-tree/oct-parse.h \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
41 libinterp/version.h
19878
7575048a555b build: Declare dependencies between generated sources (bug #44383)
Mike Miller <mtmiller@ieee.org>
parents: 19798
diff changeset
42
19775
a941a65c7cb8 handle bison syntax changes in TeX parser
John W. Eaton <jwe@octave.org>
parents: 19697
diff changeset
43 ULT_PARSER_SRC := \
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
44 libinterp/corefcn/oct-tex-lexer.in.ll \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
45 libinterp/corefcn/oct-tex-parser.in.yy \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
46 libinterp/parse-tree/oct-parse.in.yy
19775
a941a65c7cb8 handle bison syntax changes in TeX parser
John W. Eaton <jwe@octave.org>
parents: 19697
diff changeset
47
a941a65c7cb8 handle bison syntax changes in TeX parser
John W. Eaton <jwe@octave.org>
parents: 19697
diff changeset
48 GENERATED_PARSER_FILES := \
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
49 libinterp/corefcn/oct-tex-lexer.ll \
21242
ae03a16f3343 don't install oct-gperf.h, oct-parse.h, or oct-tex-parser.h
John W. Eaton <jwe@octave.org>
parents: 21220
diff changeset
50 libinterp/corefcn/oct-tex-parser.h \
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
51 libinterp/corefcn/oct-tex-parser.yy \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
52 libinterp/parse-tree/oct-parse.yy
19775
a941a65c7cb8 handle bison syntax changes in TeX parser
John W. Eaton <jwe@octave.org>
parents: 19697
diff changeset
53
21966
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21942
diff changeset
54 ## These generated files are included in the source distribution to
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21942
diff changeset
55 ## avoid needing certain tools to build from a distribution tarball.
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21942
diff changeset
56
20346
86299d2fbf87 * libinterp/module.mk: Don't add BUILT_DISTFILES to MAINTAINERCLEANFILES.
John W. Eaton <jwe@octave.org>
parents: 20333
diff changeset
57 LIBINTERP_BUILT_DISTFILES = \
19775
a941a65c7cb8 handle bison syntax changes in TeX parser
John W. Eaton <jwe@octave.org>
parents: 19697
diff changeset
58 $(GENERATED_PARSER_FILES) \
21966
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21942
diff changeset
59 $(OPT_HANDLERS) \
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
60 libinterp/corefcn/oct-tex-parser.h \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
61 libinterp/corefcn/oct-tex-symbols.cc \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
62 libinterp/parse-tree/oct-gperf.h \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
63 libinterp/parse-tree/oct-parse.h
9906
8d20fb66a0dc more automake fixes
John W. Eaton <jwe@octave.org>
parents: 9864
diff changeset
64
12727
40b16bb69fec maint: Don't distribute files in tarball which must be re-built for each installation
Rik <octave@nomad.inbox5.com>
parents: 12720
diff changeset
65 ## Files that are created during build process and installed,
40b16bb69fec maint: Don't distribute files in tarball which must be re-built for each installation
Rik <octave@nomad.inbox5.com>
parents: 12720
diff changeset
66 ## BUT not distributed in tarball.
20346
86299d2fbf87 * libinterp/module.mk: Don't add BUILT_DISTFILES to MAINTAINERCLEANFILES.
John W. Eaton <jwe@octave.org>
parents: 20333
diff changeset
67 LIBINTERP_BUILT_NODISTFILES = \
21220
d78e45987d6a rename octave::build_env namespace from octave::config
John W. Eaton <jwe@octave.org>
parents: 21216
diff changeset
68 libinterp/build-env.cc \
d78e45987d6a rename octave::build_env namespace from octave::config
John W. Eaton <jwe@octave.org>
parents: 21216
diff changeset
69 libinterp/build-env-features.cc \
21607
37f6ed8a6f1b store liboctave and liboctinterp hg ids separately
John W. Eaton <jwe@octave.org>
parents: 21605
diff changeset
70 libinterp/liboctinterp-build-info.cc \
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
71 libinterp/corefcn/mxarray.h \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
72 libinterp/corefcn/oct-errno.cc \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
73 libinterp/corefcn/defaults.h \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
74 libinterp/corefcn/graphics.h \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
75 libinterp/builtin-defun-decls.h \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
76 libinterp/operators/ops.cc \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
77 libinterp/version.h \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
78 libinterp/builtins.cc
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
79
20366
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20356
diff changeset
80 libinterp_EXTRA_DIST += \
21653
09c086133228 simplify rules for building DOCSTRING files (bug #47745)
John W. Eaton <jwe@octave.org>
parents: 21640
diff changeset
81 $(srcdir)/libinterp/DOCSTRINGS \
21220
d78e45987d6a rename octave::build_env namespace from octave::config
John W. Eaton <jwe@octave.org>
parents: 21216
diff changeset
82 libinterp/build-env.in.cc \
d78e45987d6a rename octave::build_env namespace from octave::config
John W. Eaton <jwe@octave.org>
parents: 21216
diff changeset
83 libinterp/build-env-features.sh \
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
84 libinterp/find-defun-files.sh \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
85 libinterp/gendoc.pl \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
86 libinterp/genprops.awk \
21607
37f6ed8a6f1b store liboctave and liboctinterp hg ids separately
John W. Eaton <jwe@octave.org>
parents: 21605
diff changeset
87 libinterp/liboctinterp-build-info.in.cc \
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
88 libinterp/mk-errno-list \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
89 libinterp/mk-pkg-add \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
90 libinterp/mkbuiltins \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
91 libinterp/mkops \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
92 libinterp/version.in.h \
20346
86299d2fbf87 * libinterp/module.mk: Don't add BUILT_DISTFILES to MAINTAINERCLEANFILES.
John W. Eaton <jwe@octave.org>
parents: 20333
diff changeset
93 $(LIBINTERP_BUILT_DISTFILES)
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
94
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
95 octinclude_HEADERS += \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
96 libinterp/corefcn/graphics-props.cc \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
97 libinterp/builtins.h \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
98 libinterp/builtin-defun-decls.h \
21220
d78e45987d6a rename octave::build_env namespace from octave::config
John W. Eaton <jwe@octave.org>
parents: 21216
diff changeset
99 libinterp/build-env.h \
21607
37f6ed8a6f1b store liboctave and liboctinterp hg ids separately
John W. Eaton <jwe@octave.org>
parents: 21605
diff changeset
100 libinterp/liboctinterp-build-info.h \
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
101 libinterp/octave.h \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
102 libinterp/options-usage.h \
21999
492472927079 install ops.h again.
John W. Eaton <jwe@octave.org>
parents: 21977
diff changeset
103 $(COREFCN_INC) \
492472927079 install ops.h again.
John W. Eaton <jwe@octave.org>
parents: 21977
diff changeset
104 $(LIBINTERP_OPERATORS_INC) \
15281
03ef3a183129 build: Use INC rather than INCLUDES for consistent naming in libinterp Makefile.am.
Rik <rik@octave.org>
parents: 15278
diff changeset
105 $(OCTAVE_VALUE_INC) \
03ef3a183129 build: Use INC rather than INCLUDES for consistent naming in libinterp Makefile.am.
Rik <rik@octave.org>
parents: 15278
diff changeset
106 $(PARSE_TREE_INC) \
21999
492472927079 install ops.h again.
John W. Eaton <jwe@octave.org>
parents: 21977
diff changeset
107 $(PARSER_INC)
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
108
21452
769f9a7c02ae don't install headers from libinterp/operators directory (bug #41027)
John W. Eaton <jwe@octave.org>
parents: 21432
diff changeset
109 noinst_HEADERS += \
21999
492472927079 install ops.h again.
John W. Eaton <jwe@octave.org>
parents: 21977
diff changeset
110 $(NOINSTALL_LIBINTERP_OPERATORS_INC)
21452
769f9a7c02ae don't install headers from libinterp/operators directory (bug #41027)
John W. Eaton <jwe@octave.org>
parents: 21432
diff changeset
111
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
112 nodist_octinclude_HEADERS += \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
113 libinterp/corefcn/mxarray.h \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
114 libinterp/corefcn/defaults.h \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
115 libinterp/corefcn/graphics.h \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
116 libinterp/version.h
12730
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
117
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
118 DIST_SRC += \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
119 libinterp/octave.cc \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
120 libinterp/version.cc \
15057
46b19589b593 maint: Partition src/ directory with more code in subdirs.
Rik <rik@octave.org>
parents: 15051
diff changeset
121 $(OCTAVE_VALUE_SRC) \
46b19589b593 maint: Partition src/ directory with more code in subdirs.
Rik <rik@octave.org>
parents: 15051
diff changeset
122 $(PARSE_TREE_SRC) \
21023
ec532a439c6f rework method of disabling warnings from GCC
John W. Eaton <jwe@octave.org>
parents: 20712
diff changeset
123 $(COREFCN_SRC)
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
124
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
125 include libinterp/parse-tree/module.mk
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
126 include libinterp/octave-value/module.mk
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
127 include libinterp/operators/module.mk
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
128 include libinterp/template-inst/module.mk
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
129 include libinterp/corefcn/module.mk
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
130 include libinterp/dldfcn/module.mk
15039
e753177cde93 maint: Move non-dynamically linked functions from DLD-FUNCTIONS/ to corefcn/ directory
Rik <rik@octave.org>
parents: 15016
diff changeset
131
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
132 $(srcdir)/libinterp/dldfcn/module.mk: $(srcdir)/libinterp/dldfcn/config-module.sh $(srcdir)/libinterp/dldfcn/config-module.awk $(srcdir)/libinterp/dldfcn/module-files
21290
1309edb344e1 use top_srcdir, top_builddir, abs_top_srcdir or abs_top_builddir only if needed
John W. Eaton <jwe@octave.org>
parents: 21282
diff changeset
133 $(AM_V_GEN)$(SHELL) $(srcdir)/libinterp/dldfcn/config-module.sh $(srcdir)
10376
1ed7cc046c52 Makefile.am rules for rebuilding .mk files
John W. Eaton <jwe@octave.org>
parents: 10342
diff changeset
134
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
135 if AMCOND_ENABLE_DYNAMIC_LINKING
15076
000587f92082 rename src/DLD-FUNCTIONS directory to src/dldfcn
John W. Eaton <jwe@octave.org>
parents: 15075
diff changeset
136 OCT_FILES = $(DLDFCN_LIBS:.la=.oct)
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
137 DLD_LIBOCTINTERP_LIBADD = libinterp/liboctinterp.la
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
138 else
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
139 OCT_FILES =
14295
21572e9bd365 make --disable-dl work again
John W. Eaton <jwe@octave.org>
parents: 14192
diff changeset
140 DLD_LIBOCTINTERP_LIBADD =
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
141 endif
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
142
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
143 libinterp_liboctinterp_la_SOURCES = \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
144 libinterp/octave.cc \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
145 libinterp/version.cc \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
146 $(LIBINTERP_OPERATORS_SRC) \
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
147 $(TEMPLATE_INST_SRC)
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
148
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
149 nodist_libinterp_liboctinterp_la_SOURCES = \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
150 libinterp/corefcn/mxarray.h \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
151 libinterp/corefcn/oct-errno.cc \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
152 libinterp/corefcn/defaults.h \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
153 libinterp/corefcn/graphics.h \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
154 libinterp/operators/ops.cc \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
155 libinterp/builtin-defun-decls.h \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
156 libinterp/builtins.cc \
21220
d78e45987d6a rename octave::build_env namespace from octave::config
John W. Eaton <jwe@octave.org>
parents: 21216
diff changeset
157 libinterp/build-env.cc \
d78e45987d6a rename octave::build_env namespace from octave::config
John W. Eaton <jwe@octave.org>
parents: 21216
diff changeset
158 libinterp/build-env-features.cc \
21607
37f6ed8a6f1b store liboctave and liboctinterp hg ids separately
John W. Eaton <jwe@octave.org>
parents: 21605
diff changeset
159 libinterp/liboctinterp-build-info.cc \
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
160 libinterp/version.h
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
161
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
162 libinterp_liboctinterp_la_LIBADD = \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
163 libinterp/octave-value/liboctave-value.la \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
164 libinterp/parse-tree/libparse-tree.la \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
165 libinterp/corefcn/libcorefcn.la \
21290
1309edb344e1 use top_srcdir, top_builddir, abs_top_srcdir or abs_top_builddir only if needed
John W. Eaton <jwe@octave.org>
parents: 21282
diff changeset
166 liboctave/liboctave.la \
13022
05534f03377d maint: ensure we always link with local libtool libraries
John W. Eaton <jwe@octave.org>
parents: 13016
diff changeset
167 $(LIBOCTINTERP_LINK_DEPS)
9816
b1462c588dd5 add -DX_DLL_DEFS to CPPFLAGS
John W. Eaton <jwe@octave.org>
parents: 9798
diff changeset
168
12730
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
169 # Increment these as needed and according to the rules in the libtool manual:
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
170 libinterp_liboctinterp_current = 3
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
171 libinterp_liboctinterp_revision = 0
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
172 libinterp_liboctinterp_age = 0
12708
e34f2bf7319d maint: implement proper library versioning.
John W. Eaton <jwe@octave.org>
parents: 12218
diff changeset
173
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
174 libinterp_liboctinterp_version_info = $(libinterp_liboctinterp_current):$(libinterp_liboctinterp_revision):$(libinterp_liboctinterp_age)
12708
e34f2bf7319d maint: implement proper library versioning.
John W. Eaton <jwe@octave.org>
parents: 12218
diff changeset
175
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
176 libinterp_liboctinterp_la_LDFLAGS = \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
177 -version-info $(libinterp_liboctinterp_version_info) \
12708
e34f2bf7319d maint: implement proper library versioning.
John W. Eaton <jwe@octave.org>
parents: 12218
diff changeset
178 $(NO_UNDEFINED_LDFLAG) \
13010
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12958
diff changeset
179 -bindir $(bindir) \
20712
4a25c398ffa2 configure option to build with address sanitizer (bugg #46449)
John W. Eaton <jwe@octave.org>
parents: 20522
diff changeset
180 $(LIBOCTINTERP_LINK_OPTS) \
4a25c398ffa2 configure option to build with address sanitizer (bugg #46449)
John W. Eaton <jwe@octave.org>
parents: 20522
diff changeset
181 $(WARN_LDFLAGS)
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
182
16174
39096b290a2f check syntax used to enable bison push/pull parser
John W. Eaton <jwe@octave.org>
parents: 16170
diff changeset
183 ULT_DIST_SRC := \
19775
a941a65c7cb8 handle bison syntax changes in TeX parser
John W. Eaton <jwe@octave.org>
parents: 19697
diff changeset
184 $(filter-out $(GENERATED_PARSER_FILES), $(DIST_SRC)) $(ULT_PARSER_SRC)
16174
39096b290a2f check syntax used to enable bison push/pull parser
John W. Eaton <jwe@octave.org>
parents: 16170
diff changeset
185
21966
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21942
diff changeset
186 FOUND_DEFUN_FILES := \
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21942
diff changeset
187 $(shell $(SHELL) $(srcdir)/libinterp/find-defun-files.sh "$(srcdir)" $(ULT_DIST_SRC))
12730
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
188
21966
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21942
diff changeset
189 SRC_DEFUN_FILES = $(OPT_HANDLERS) $(FOUND_DEFUN_FILES)
12730
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
190
21966
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21942
diff changeset
191 DLDFCN_DEFUN_FILES = $(DLDFCN_SRC)
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21942
diff changeset
192
13010
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12958
diff changeset
193 if AMCOND_ENABLE_DYNAMIC_LINKING
21966
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21942
diff changeset
194 DEFUN_FILES = $(SRC_DEFUN_FILES)
13010
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12958
diff changeset
195 else
21966
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21942
diff changeset
196 DEFUN_FILES = $(SRC_DEFUN_FILES) $(DLDFCN_DEFUN_FILES)
13010
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12958
diff changeset
197 endif
12730
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
198
21966
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21942
diff changeset
199 ALL_DEFUN_FILES = $(SRC_DEFUN_FILES) $(DLDFCN_DEFUN_FILES)
12730
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
200
15415
15c435992d3c build: Deprecate DLL_CDEFS, CLL_CXXDEFS in Makefiles.
Rik <rik@octave.org>
parents: 15363
diff changeset
201 ## FIXME: The following two variables are deprecated and should be removed
15c435992d3c build: Deprecate DLL_CDEFS, CLL_CXXDEFS in Makefiles.
Rik <rik@octave.org>
parents: 15363
diff changeset
202 ## in Octave version 3.12.
12730
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
203 DLL_CDEFS = @OCTINTERP_DLL_DEFS@
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
204 DLL_CXXDEFS = @OCTINTERP_DLL_DEFS@
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
205
16019
5b2126a8c84f install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents: 15924
diff changeset
206 ## Rules to build test files
5b2126a8c84f install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents: 15924
diff changeset
207
21290
1309edb344e1 use top_srcdir, top_builddir, abs_top_srcdir or abs_top_builddir only if needed
John W. Eaton <jwe@octave.org>
parents: 21282
diff changeset
208 LIBINTERP_TST_FILES_SRC := $(shell $(SHELL) $(srcdir)/build-aux/find-files-with-tests.sh "$(srcdir)" $(ULT_DIST_SRC) $(DLDFCN_SRC))
16019
5b2126a8c84f install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents: 15924
diff changeset
209
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
210 LIBINTERP_TST_FILES := $(addsuffix -tst,$(LIBINTERP_TST_FILES_SRC))
16019
5b2126a8c84f install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents: 15924
diff changeset
211
20373
3c70050faa1e Fix install paths of fixed and generated test files
Mike Miller <mtmiller@octave.org>
parents: 20366
diff changeset
212 libinterptestsdir := $(octtestsdir)
16019
5b2126a8c84f install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents: 15924
diff changeset
213
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
214 nobase_libinterptests_DATA = $(LIBINTERP_TST_FILES)
16019
5b2126a8c84f install tests and functions to run them
John W. Eaton <jwe@octave.org>
parents: 15924
diff changeset
215
21977
b5e75ce299d8 use pattern rule for Bison
John W. Eaton <jwe@octave.org>
parents: 21971
diff changeset
216 ## Cancel the suffix rule and use a pattern rule instead.
15203
aa7f4e33c524 override automake .yy.cc rule (bug #36407)
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
217 .yy.cc:
21977
b5e75ce299d8 use pattern rule for Bison
John W. Eaton <jwe@octave.org>
parents: 21971
diff changeset
218
b5e75ce299d8 use pattern rule for Bison
John W. Eaton <jwe@octave.org>
parents: 21971
diff changeset
219 %.cc %.h : %.yy
b5e75ce299d8 use pattern rule for Bison
John W. Eaton <jwe@octave.org>
parents: 21971
diff changeset
220 $(AM_V_YACC)$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $*.cc y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE)
15203
aa7f4e33c524 override automake .yy.cc rule (bug #36407)
John W. Eaton <jwe@octave.org>
parents: 15195
diff changeset
221
13141
e81ddf9cacd5 maint: untabify and remove trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 13024
diff changeset
222 ## Special rules:
12730
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
223 ## Mostly for sources which must be built before rest of compilation.
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
224
21398
7e8a410e6124 break generated file dependence on Makefile (bug #46063)
John W. Eaton <jwe@octave.org>
parents: 21382
diff changeset
225 libinterp/build-env.cc: libinterp/build-env.in.cc build-aux/subst-config-vals.sh | libinterp/$(octave-dirstamp)
7e8a410e6124 break generated file dependence on Makefile (bug #46063)
John W. Eaton <jwe@octave.org>
parents: 21382
diff changeset
226 $(AM_V_GEN)$(call simple-filter-rule,build-aux/subst-config-vals.sh)
12730
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
227
21398
7e8a410e6124 break generated file dependence on Makefile (bug #46063)
John W. Eaton <jwe@octave.org>
parents: 21382
diff changeset
228 libinterp/build-env-features.cc: config.h libinterp/build-env-features.sh | libinterp/$(octave-dirstamp)
20354
456c7e4cb34d use move-if-change for most rules that generate source files
John W. Eaton <jwe@octave.org>
parents: 20346
diff changeset
229 $(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: 21254
diff changeset
230 $(SHELL) $(srcdir)/libinterp/build-env-features.sh $< > $@-t && \
21966
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21942
diff changeset
231 mv $@-t $@
16170
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents: 16156
diff changeset
232
21398
7e8a410e6124 break generated file dependence on Makefile (bug #46063)
John W. Eaton <jwe@octave.org>
parents: 21382
diff changeset
233 libinterp/version.h: libinterp/version.in.h build-aux/mk-version-h.sh | libinterp/$(octave-dirstamp)
7e8a410e6124 break generated file dependence on Makefile (bug #46063)
John W. Eaton <jwe@octave.org>
parents: 21382
diff changeset
234 $(AM_V_GEN)$(call simple-filter-rule,build-aux/mk-version-h.sh)
12730
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
235
21607
37f6ed8a6f1b store liboctave and liboctinterp hg ids separately
John W. Eaton <jwe@octave.org>
parents: 21605
diff changeset
236 libinterp/liboctinterp-build-info.cc: libinterp/liboctinterp-build-info.in.cc HG-ID | libinterp/$(octave-dirstamp)
21598
cf552443c104 revise method of handling hg id for build info
John W. Eaton <jwe@octave.org>
parents: 21597
diff changeset
237 $(AM_V_GEN)rm -f $@-t && \
cf552443c104 revise method of handling hg id for build info
John W. Eaton <jwe@octave.org>
parents: 21597
diff changeset
238 $(SED) \
cf552443c104 revise method of handling hg id for build info
John W. Eaton <jwe@octave.org>
parents: 21597
diff changeset
239 -e "s|%NO_EDIT_WARNING%|DO NOT EDIT! Generated automatically by Makefile|" \
21605
e6f76c393ad7 don't store build time in source file (bug #45659)
John W. Eaton <jwe@octave.org>
parents: 21600
diff changeset
240 -e "s|%OCTAVE_HG_ID%|`cat $(builddir)/HG-ID`|" $< > $@-t && \
21598
cf552443c104 revise method of handling hg id for build info
John W. Eaton <jwe@octave.org>
parents: 21597
diff changeset
241 $(simple_move_if_change_rule)
21597
fe1447ae68cf Add more info to version.m and store build info in the binary (bug #45659)
mmuetzel <markus.muetzel@gmx.de>
parents: 21452
diff changeset
242
22002
40e9cb6bd95c avoid macros in generated built-in function files
John W. Eaton <jwe@octave.org>
parents: 21999
diff changeset
243 if AMCOND_ENABLE_DYNAMIC_LINKING
40e9cb6bd95c avoid macros in generated built-in function files
John W. Eaton <jwe@octave.org>
parents: 21999
diff changeset
244 mkbuiltins_dld_opt =
40e9cb6bd95c avoid macros in generated built-in function files
John W. Eaton <jwe@octave.org>
parents: 21999
diff changeset
245 else
40e9cb6bd95c avoid macros in generated built-in function files
John W. Eaton <jwe@octave.org>
parents: 21999
diff changeset
246 mkbuiltins_dld_opt = --disable-dl
40e9cb6bd95c avoid macros in generated built-in function files
John W. Eaton <jwe@octave.org>
parents: 21999
diff changeset
247 endif
40e9cb6bd95c avoid macros in generated built-in function files
John W. Eaton <jwe@octave.org>
parents: 21999
diff changeset
248
21966
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21942
diff changeset
249 libinterp/builtins.cc: $(ALL_DEFUN_FILES) libinterp/mkbuiltins | libinterp/$(octave-dirstamp)
20354
456c7e4cb34d use move-if-change for most rules that generate source files
John W. Eaton <jwe@octave.org>
parents: 20346
diff changeset
250 $(AM_V_GEN)rm -f $@-t && \
22002
40e9cb6bd95c avoid macros in generated built-in function files
John W. Eaton <jwe@octave.org>
parents: 21999
diff changeset
251 $(SHELL) $(srcdir)/libinterp/mkbuiltins "$(srcdir)" --source $(mkbuiltins_dld_opt) $(ALL_DEFUN_FILES) > $@-t && \
21966
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21942
diff changeset
252 mv $@-t $@
15418
60090630cb76 generate declarations for all built-in DEFUN functions
John W. Eaton <jwe@octave.org>
parents: 15417
diff changeset
253
21966
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21942
diff changeset
254 libinterp/builtin-defun-decls.h: $(ALL_DEFUN_FILES) libinterp/mkbuiltins | libinterp/$(octave-dirstamp)
20354
456c7e4cb34d use move-if-change for most rules that generate source files
John W. Eaton <jwe@octave.org>
parents: 20346
diff changeset
255 $(AM_V_GEN)rm -f $@-t && \
22002
40e9cb6bd95c avoid macros in generated built-in function files
John W. Eaton <jwe@octave.org>
parents: 21999
diff changeset
256 $(SHELL) $(srcdir)/libinterp/mkbuiltins "$(srcdir)" --header $(mkbuiltins_dld_opt) $(ALL_DEFUN_FILES) > $@-t && \
20354
456c7e4cb34d use move-if-change for most rules that generate source files
John W. Eaton <jwe@octave.org>
parents: 20346
diff changeset
257 $(simple_move_if_change_rule)
12730
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
258
13010
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12958
diff changeset
259 if AMCOND_ENABLE_DYNAMIC_LINKING
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
260 DLDFCN_PKG_ADD_FILE = libinterp/dldfcn/PKG_ADD
13010
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12958
diff changeset
261
21966
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21942
diff changeset
262 libinterp/dldfcn/PKG_ADD: $(DLDFCN_DEFUN_FILES) libinterp/mk-pkg-add | libinterp/$(octave-dirstamp)
20354
456c7e4cb34d use move-if-change for most rules that generate source files
John W. Eaton <jwe@octave.org>
parents: 20346
diff changeset
263 $(AM_V_GEN)rm -f $@-t && \
21966
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21942
diff changeset
264 $(SHELL) $(srcdir)/libinterp/mk-pkg-add "$(srcdir)" $(DLDFCN_DEFUN_FILES) > $@-t && \
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21942
diff changeset
265 mv $@-t $@
13010
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12958
diff changeset
266 endif
12730
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
267
21653
09c086133228 simplify rules for building DOCSTRING files (bug #47745)
John W. Eaton <jwe@octave.org>
parents: 21640
diff changeset
268 DOCSTRING_FILES += $(srcdir)/libinterp/DOCSTRINGS
20393
0fbe2e28ea84 build: Avoid triggering rebuild of docs when DOCSTRINGS regenerated (bug #45567)
Mike Miller <mtmiller@octave.org>
parents: 20373
diff changeset
269
21966
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21942
diff changeset
270 $(srcdir)/libinterp/DOCSTRINGS: $(ALL_DEFUN_FILES) | libinterp/$(octave-dirstamp)
21673
9631aac4b635 build: avoid writing to srcdir unless DOCSTRINGS contents change (bug #47832)
Mike Miller <mtmiller@octave.org>
parents: 21653
diff changeset
271 $(AM_V_GEN)rm -f libinterp/DOCSTRINGS-t && \
21966
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21942
diff changeset
272 $(PERL) $(srcdir)/libinterp/gendoc.pl "$(srcdir)" $(ALL_DEFUN_FILES) > libinterp/DOCSTRINGS-t && \
112b20240c87 move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents: 21942
diff changeset
273 mv libinterp/DOCSTRINGS-t $@
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
274
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
275 OCTAVE_INTERPRETER_TARGETS += \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
276 $(OCT_FILES) \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
277 $(DLDFCN_PKG_ADD_FILE)
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
278
15470
bf0857c789f4 initialize docstrings for built-in functions from file
John W. Eaton <jwe@octave.org>
parents: 15463
diff changeset
279 install-data-hook: install-oct install-built-in-docstrings
12730
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
280
15796
07231ebb6df3 build: Add rule to uninstall built-in-docstrings and allow distcheck to pass.
Rik <rik@octave.org>
parents: 15768
diff changeset
281 uninstall-local: uninstall-oct uninstall-built-in-docstrings
12730
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
282
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
283 if AMCOND_ENABLE_DYNAMIC_LINKING
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
284 install-oct:
17232
090145ad5b4b build: Eliminate obsolete mkinstalldirs helper scripts
Mike Miller <mtmiller@ieee.org>
parents: 16892
diff changeset
285 $(MKDIR_P) $(DESTDIR)$(octfiledir)
15076
000587f92082 rename src/DLD-FUNCTIONS directory to src/dldfcn
John W. Eaton <jwe@octave.org>
parents: 15075
diff changeset
286 if [ -n "`cat $(DLDFCN_PKG_ADD_FILE)`" ]; then \
000587f92082 rename src/DLD-FUNCTIONS directory to src/dldfcn
John W. Eaton <jwe@octave.org>
parents: 15075
diff changeset
287 $(INSTALL_DATA) $(DLDFCN_PKG_ADD_FILE) $(DESTDIR)$(octfiledir)/PKG_ADD; \
12730
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
288 fi
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
289 cd $(DESTDIR)$(octlibdir) && \
15076
000587f92082 rename src/DLD-FUNCTIONS directory to src/dldfcn
John W. Eaton <jwe@octave.org>
parents: 15075
diff changeset
290 for ltlib in $(DLDFCN_LIBS); do \
12730
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
291 f=`echo $$ltlib | $(SED) 's,.*/,,'`; \
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
292 dl=`$(SED) -n -e "s/dlname='\([^']*\)'/\1/p" < $$f`; \
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
293 if [ -n "$$dl" ]; then \
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
294 $(INSTALL_PROGRAM) $$dl $(DESTDIR)$(octfiledir)/`echo $$f | $(SED) 's,^lib,,; s,\.la$$,.oct,'`; \
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
295 else \
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
296 echo "error: dlname is empty in $$ltlib!"; \
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
297 exit 1; \
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
298 fi; \
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
299 lnames=`$(SED) -n -e "s/library_names='\([^']*\)'/\1/p" < $$f`; \
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
300 if [ -n "$$lnames" ]; then \
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
301 rm -f $$f $$lnames $$dl; \
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
302 fi \
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
303 done
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
304
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
305 uninstall-oct:
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
306 for f in $(notdir $(OCT_FILES)); do \
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
307 rm -f $(DESTDIR)$(octfiledir)/$$f; \
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
308 done
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
309 rm -f $(DESTDIR)$(octfiledir)/PKG_ADD
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
310 endif
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
311 .PHONY: install-oct uninstall-oct
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
312
15470
bf0857c789f4 initialize docstrings for built-in functions from file
John W. Eaton <jwe@octave.org>
parents: 15463
diff changeset
313 install-built-in-docstrings:
15482
cb49817af457 ensure $(octetcdir) exists when installing built-in-docstrings file
John W. Eaton <jwe@octave.org>
parents: 15470
diff changeset
314 $(MKDIR_P) $(DESTDIR)$(octetcdir)
21653
09c086133228 simplify rules for building DOCSTRING files (bug #47745)
John W. Eaton <jwe@octave.org>
parents: 21640
diff changeset
315 $(INSTALL_DATA) $(srcdir)/libinterp/DOCSTRINGS $(DESTDIR)$(octetcdir)/built-in-docstrings
21971
eb68218e743a create and install built-in docstrings file even with --disable-docs
John W. Eaton <jwe@octave.org>
parents: 21970
diff changeset
316 .PHONY: install-built-in-docstrings
15796
07231ebb6df3 build: Add rule to uninstall built-in-docstrings and allow distcheck to pass.
Rik <rik@octave.org>
parents: 15768
diff changeset
317
07231ebb6df3 build: Add rule to uninstall built-in-docstrings and allow distcheck to pass.
Rik <rik@octave.org>
parents: 15768
diff changeset
318 uninstall-built-in-docstrings:
07231ebb6df3 build: Add rule to uninstall built-in-docstrings and allow distcheck to pass.
Rik <rik@octave.org>
parents: 15768
diff changeset
319 rm -f $(DESTDIR)$(octetcdir)/built-in-docstrings
21971
eb68218e743a create and install built-in docstrings file even with --disable-docs
John W. Eaton <jwe@octave.org>
parents: 21970
diff changeset
320 .PHONY: uninstall-built-in-docstrings
15470
bf0857c789f4 initialize docstrings for built-in functions from file
John W. Eaton <jwe@octave.org>
parents: 15463
diff changeset
321
20366
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20356
diff changeset
322 EXTRA_DIST += $(libinterp_EXTRA_DIST)
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20356
diff changeset
323
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20356
diff changeset
324 libinterp_CLEANFILES += \
15076
000587f92082 rename src/DLD-FUNCTIONS directory to src/dldfcn
John W. Eaton <jwe@octave.org>
parents: 15075
diff changeset
325 $(DLDFCN_PKG_ADD_FILE) \
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
326 libinterp/corefcn/graphics-props.cc \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
327 libinterp/corefcn/oct-tex-parser.output \
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
328 libinterp/parse-tree/oct-parse.output
12730
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
329
20366
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20356
diff changeset
330 libinterp_DISTCLEANFILES += \
20346
86299d2fbf87 * libinterp/module.mk: Don't add BUILT_DISTFILES to MAINTAINERCLEANFILES.
John W. Eaton <jwe@octave.org>
parents: 20333
diff changeset
331 $(LIBINTERP_BUILT_NODISTFILES) \
12730
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
332 $(OCT_FILES) \
20327
0ce7d8303152 eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents: 20134
diff changeset
333 $(LIBINTERP_TST_FILES)
12730
633ef00d963c maint: Reorganize src/Makefile.am for understanding. No rules changed.
Rik <octave@nomad.inbox5.com>
parents: 12727
diff changeset
334
20366
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20356
diff changeset
335 libinterp_MAINTAINERCLEANFILES += \
21653
09c086133228 simplify rules for building DOCSTRING files (bug #47745)
John W. Eaton <jwe@octave.org>
parents: 21640
diff changeset
336 $(srcdir)/libinterp/DOCSTRINGS \
20346
86299d2fbf87 * libinterp/module.mk: Don't add BUILT_DISTFILES to MAINTAINERCLEANFILES.
John W. Eaton <jwe@octave.org>
parents: 20333
diff changeset
337 $(LIBINTERP_BUILT_DISTFILES)
16056
f4f0aea29b21 build: remove *-tst files with distclean rule.
Rik <rik@octave.org>
parents: 16019
diff changeset
338
20346
86299d2fbf87 * libinterp/module.mk: Don't add BUILT_DISTFILES to MAINTAINERCLEANFILES.
John W. Eaton <jwe@octave.org>
parents: 20333
diff changeset
339 BUILT_DISTFILES += $(LIBINTERP_BUILT_DISTFILES)
86299d2fbf87 * libinterp/module.mk: Don't add BUILT_DISTFILES to MAINTAINERCLEANFILES.
John W. Eaton <jwe@octave.org>
parents: 20333
diff changeset
340 BUILT_NODISTFILES += $(LIBINTERP_BUILT_NODISTFILES)
20366
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20356
diff changeset
341
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20356
diff changeset
342 CLEANFILES += $(libinterp_CLEANFILES)
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20356
diff changeset
343 DISTCLEANFILES += $(libinterp_DISTCLEANFILES)
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20356
diff changeset
344 MAINTAINERCLEANFILES += $(libinterp_MAINTAINERCLEANFILES)
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20356
diff changeset
345
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20356
diff changeset
346 libinterp-clean:
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20356
diff changeset
347 rm -f $(libinterp_CLEANFILES)
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20356
diff changeset
348
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20356
diff changeset
349 libinterp-distclean: libinterp-clean
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20356
diff changeset
350 rm -f $(libinterp_DISTCLEANFILES)
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20356
diff changeset
351
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20356
diff changeset
352 libinterp-maintainer-clean: libinterp-distclean
9b44691a3520 provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents: 20356
diff changeset
353 rm -f $(libinterp_MAINTAINERCLEANFILES)