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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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)