Mercurial > octave
annotate liboctave/operators/module.mk @ 21243:c2b17840910e
generate and install smx-ops.h and vx-ops.h
* liboctave/module.mk (BUILT_INCS):
Include smx-ops.h and vx-ops.h in the list.
* liboctave/operators/module.mk (run-mx-ops-inclusive): New macro.
(liboctave/operators/smx-ops.h, liboctave/operators/vx-ops.h):
New targets.
(liboctave/operators/mx-ops.h, liboctave/operators/smx-ops.h,
liboctave/operators/vx-ops.h): Use run-mx-ops-inclusive.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 10 Feb 2016 13:59:49 -0500 |
parents | 9b44691a3520 |
children | 7be239ae42c8 |
rev | line source |
---|---|
20327
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
1 include liboctave/operators/vx-op-inc.mk |
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
2 include liboctave/operators/mx-op-inc.mk |
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
3 include liboctave/operators/smx-op-inc.mk |
15271
648dabbb4c6b
build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents:
diff
changeset
|
4 |
20327
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
5 include liboctave/operators/vx-op-src.mk |
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
6 include liboctave/operators/mx-op-src.mk |
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
7 include liboctave/operators/smx-op-src.mk |
15271
648dabbb4c6b
build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents:
diff
changeset
|
8 |
20327
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
9 BUILT_LIBOCTAVE_OPERATORS_SOURCES = \ |
15271
648dabbb4c6b
build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents:
diff
changeset
|
10 $(MX_OP_SRC) \ |
648dabbb4c6b
build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents:
diff
changeset
|
11 $(VX_OP_SRC) \ |
648dabbb4c6b
build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents:
diff
changeset
|
12 $(SMX_OP_SRC) |
648dabbb4c6b
build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents:
diff
changeset
|
13 |
20327
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
14 LIBOCTAVE_OPERATORS_INC = \ |
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
15 liboctave/operators/mx-base.h \ |
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
16 liboctave/operators/mx-defs.h \ |
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
17 liboctave/operators/mx-ext.h \ |
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
18 liboctave/operators/mx-op-decl.h \ |
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
19 liboctave/operators/mx-op-defs.h \ |
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
20 liboctave/operators/Sparse-diag-op-defs.h \ |
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
21 liboctave/operators/Sparse-op-decls.h \ |
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
22 liboctave/operators/Sparse-op-defs.h \ |
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
23 liboctave/operators/Sparse-perm-op-defs.h |
15271
648dabbb4c6b
build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents:
diff
changeset
|
24 |
648dabbb4c6b
build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents:
diff
changeset
|
25 ## There are no distributed source files in this directory |
20327
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
26 LIBOCTAVE_OPERATORS_SRC = |
15271
648dabbb4c6b
build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents:
diff
changeset
|
27 |
20327
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
28 LIBOCTAVE_TEMPLATE_SRC += \ |
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
29 liboctave/operators/mx-inlines.cc |
15271
648dabbb4c6b
build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents:
diff
changeset
|
30 |
15273
535bb601e7db
use absolute file name to find mk-ops.awk
John W. Eaton <jwe@octave.org>
parents:
15272
diff
changeset
|
31 OP_SRCDIR = $(abs_top_srcdir)/liboctave/operators |
15271
648dabbb4c6b
build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents:
diff
changeset
|
32 |
19792
4f6ae6b94abe
make --enable-silent-rules configure option more useful
John W. Eaton <jwe@octave.org>
parents:
19269
diff
changeset
|
33 define run-mx-ops |
20327
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
34 ( cd liboctave/operators; \ |
19792
4f6ae6b94abe
make --enable-silent-rules configure option more useful
John W. Eaton <jwe@octave.org>
parents:
19269
diff
changeset
|
35 $(AWK) -f $(OP_SRCDIR)/$(2)mk-ops.awk prefix=$(1) $(OP_SRCDIR)/$(1)-ops \ |
4f6ae6b94abe
make --enable-silent-rules configure option more useful
John W. Eaton <jwe@octave.org>
parents:
19269
diff
changeset
|
36 ) |
4f6ae6b94abe
make --enable-silent-rules configure option more useful
John W. Eaton <jwe@octave.org>
parents:
19269
diff
changeset
|
37 endef |
4f6ae6b94abe
make --enable-silent-rules configure option more useful
John W. Eaton <jwe@octave.org>
parents:
19269
diff
changeset
|
38 |
15271
648dabbb4c6b
build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents:
diff
changeset
|
39 ## Special rules for sources which must be built before rest of compilation. |
20327
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
40 $(VX_OP_INC) $(VX_OP_SRC) : liboctave/operators/mk-ops.awk liboctave/operators/vx-ops |
19792
4f6ae6b94abe
make --enable-silent-rules configure option more useful
John W. Eaton <jwe@octave.org>
parents:
19269
diff
changeset
|
41 $(AM_V_GEN)$(call run-mx-ops,vx) |
15271
648dabbb4c6b
build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents:
diff
changeset
|
42 |
20327
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
43 $(MX_OP_INC) $(MX_OP_SRC) : liboctave/operators/mk-ops.awk liboctave/operators/mx-ops |
19792
4f6ae6b94abe
make --enable-silent-rules configure option more useful
John W. Eaton <jwe@octave.org>
parents:
19269
diff
changeset
|
44 $(AM_V_GEN)$(call run-mx-ops,mx) |
15271
648dabbb4c6b
build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents:
diff
changeset
|
45 |
20327
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
46 $(SMX_OP_INC) $(SMX_OP_SRC) : liboctave/operators/sparse-mk-ops.awk liboctave/operators/smx-ops |
19792
4f6ae6b94abe
make --enable-silent-rules configure option more useful
John W. Eaton <jwe@octave.org>
parents:
19269
diff
changeset
|
47 $(AM_V_GEN)$(call run-mx-ops,smx,sparse-) |
15271
648dabbb4c6b
build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents:
diff
changeset
|
48 |
21243
c2b17840910e
generate and install smx-ops.h and vx-ops.h
John W. Eaton <jwe@octave.org>
parents:
20366
diff
changeset
|
49 define run-mx-ops-inclusive |
c2b17840910e
generate and install smx-ops.h and vx-ops.h
John W. Eaton <jwe@octave.org>
parents:
20366
diff
changeset
|
50 rm -f $@-t $@ && \ |
c2b17840910e
generate and install smx-ops.h and vx-ops.h
John W. Eaton <jwe@octave.org>
parents:
20366
diff
changeset
|
51 $(AWK) -f $(OP_SRCDIR)/$(notdir $<) prefix=$(patsubst %-ops.h,%,$(notdir $@)) make_inclusive_header=$(notdir $@) $(OP_SRCDIR)/$(basename $(notdir $@)) > $@-t && \ |
c2b17840910e
generate and install smx-ops.h and vx-ops.h
John W. Eaton <jwe@octave.org>
parents:
20366
diff
changeset
|
52 mv $@-t $@ |
c2b17840910e
generate and install smx-ops.h and vx-ops.h
John W. Eaton <jwe@octave.org>
parents:
20366
diff
changeset
|
53 endef |
c2b17840910e
generate and install smx-ops.h and vx-ops.h
John W. Eaton <jwe@octave.org>
parents:
20366
diff
changeset
|
54 |
c2b17840910e
generate and install smx-ops.h and vx-ops.h
John W. Eaton <jwe@octave.org>
parents:
20366
diff
changeset
|
55 liboctave/operators/vx-ops.h : liboctave/operators/mk-ops.awk liboctave/operators/vx-ops |
c2b17840910e
generate and install smx-ops.h and vx-ops.h
John W. Eaton <jwe@octave.org>
parents:
20366
diff
changeset
|
56 $(AM_V_GEN)$(run-mx-ops-inclusive) |
c2b17840910e
generate and install smx-ops.h and vx-ops.h
John W. Eaton <jwe@octave.org>
parents:
20366
diff
changeset
|
57 |
20327
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
58 liboctave/operators/mx-ops.h : liboctave/operators/mk-ops.awk liboctave/operators/mx-ops |
21243
c2b17840910e
generate and install smx-ops.h and vx-ops.h
John W. Eaton <jwe@octave.org>
parents:
20366
diff
changeset
|
59 $(AM_V_GEN)$(run-mx-ops-inclusive) |
c2b17840910e
generate and install smx-ops.h and vx-ops.h
John W. Eaton <jwe@octave.org>
parents:
20366
diff
changeset
|
60 |
c2b17840910e
generate and install smx-ops.h and vx-ops.h
John W. Eaton <jwe@octave.org>
parents:
20366
diff
changeset
|
61 liboctave/operators/smx-ops.h : liboctave/operators/sparse-mk-ops.awk liboctave/operators/smx-ops |
c2b17840910e
generate and install smx-ops.h and vx-ops.h
John W. Eaton <jwe@octave.org>
parents:
20366
diff
changeset
|
62 $(AM_V_GEN)$(run-mx-ops-inclusive) |
15271
648dabbb4c6b
build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents:
diff
changeset
|
63 |
20327
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
64 noinst_LTLIBRARIES += liboctave/operators/liboperators.la |
15271
648dabbb4c6b
build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents:
diff
changeset
|
65 |
20327
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
66 liboctave_operators_liboperators_la_SOURCES = $(LIBOCTAVE_OPERATORS_SRC) |
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
67 |
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
68 nodist_liboctave_operators_liboperators_la_SOURCES = $(BUILT_LIBOCTAVE_OPERATORS_SOURCES) |
15271
648dabbb4c6b
build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents:
diff
changeset
|
69 |
20327
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
70 liboctave_operators_liboperators_la_CPPFLAGS = $(liboctave_liboctave_la_CPPFLAGS) |
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
71 |
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
72 liboctave_operators_liboperators_la_CFLAGS = $(liboctave_liboctave_la_CFLAGS) |
15271
648dabbb4c6b
build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents:
diff
changeset
|
73 |
20327
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
74 liboctave_operators_liboperators_la_CXXFLAGS = $(liboctave_liboctave_la_CXXFLAGS) |
15271
648dabbb4c6b
build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents:
diff
changeset
|
75 |
20327
0ce7d8303152
eliminate recursive make invocations in liboctave and libinterp directories
John W. Eaton <jwe@octave.org>
parents:
19792
diff
changeset
|
76 liboctave_liboctave_la_LIBADD += liboctave/operators/liboperators.la |
20366
9b44691a3520
provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents:
20327
diff
changeset
|
77 |
9b44691a3520
provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents:
20327
diff
changeset
|
78 liboctave_EXTRA_DIST += \ |
9b44691a3520
provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents:
20327
diff
changeset
|
79 liboctave/operators/config-ops.sh \ |
9b44691a3520
provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents:
20327
diff
changeset
|
80 liboctave/operators/mk-ops.awk \ |
9b44691a3520
provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents:
20327
diff
changeset
|
81 liboctave/operators/mx-ops \ |
9b44691a3520
provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents:
20327
diff
changeset
|
82 liboctave/operators/sparse-mk-ops.awk \ |
9b44691a3520
provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents:
20327
diff
changeset
|
83 liboctave/operators/smx-ops \ |
9b44691a3520
provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents:
20327
diff
changeset
|
84 liboctave/operators/vx-ops |
9b44691a3520
provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents:
20327
diff
changeset
|
85 |
9b44691a3520
provide per-directory clean targets
John W. Eaton <jwe@octave.org>
parents:
20327
diff
changeset
|
86 liboctave_DISTCLEANFILES += $(BUILT_LIBOCTAVE_OPERATORS_SOURCES) |