annotate liboctave/Makefile.am @ 15416:a0fb36acbd0d

build: Only use extra CPPFLAGS in the convenience libraries that need them. * liboctave/Makefile.am: Remove XCPPFLAGS from liboctave_la_CPPFLAGS. * liboctave/array/module.mk: Add SPARSE_XCPPFLAGS to convenience library CPPFLAGS. * liboctave/cruft/Makefile.am: Place all CPPFLAGS on one line. * liboctave/numeric/module.mk: Add ARPACK_CPPFLAGS, FFTW_XCPPFLAGS, SPARSE_XCPPFLAGS to convenience library CPPFLAGS. * liboctave/util/module.mk: Add SPARSE_XCPPFLAGS to convenience library CPPFLAGS.
author Rik <rik@octave.org>
date Wed, 19 Sep 2012 10:05:15 -0700
parents 5546fe4dd77f
children fcdc284f96ef
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15269
b42167e9d805 maint: Update Makefile.am comments to refer to Octave (program) rather than octave (command).
Rik <rik@octave.org>
parents: 15252
diff changeset
1 # Makefile for Octave's liboctave directory
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
2 #
14138
72c96de7a403 maint: update copyright notices for 2012
John W. Eaton <jwe@octave.org>
parents: 14024
diff changeset
3 # Copyright (C) 1993-2012 John W. Eaton
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
4 #
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
5 # This file is part of Octave.
13141
e81ddf9cacd5 maint: untabify and remove trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 13022
diff changeset
6 #
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
7 # Octave is free software; you can redistribute it and/or modify it
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
8 # under the terms of the GNU General Public License as published by the
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
9 # Free Software Foundation; either version 3 of the License, or (at
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
10 # your option) any later version.
13141
e81ddf9cacd5 maint: untabify and remove trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 13022
diff changeset
11 #
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
12 # Octave is distributed in the hope that it will be useful, but WITHOUT
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
13 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
14 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
15 # for more details.
13141
e81ddf9cacd5 maint: untabify and remove trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 13022
diff changeset
16 #
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
17 # You should have received a copy of the GNU General Public License
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
18 # along with Octave; see the file COPYING. If not, see
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
19 # <http://www.gnu.org/licenses/>.
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
20
12733
b67c2d580a25 maint: clean up top-level directory
John W. Eaton <jwe@octave.org>
parents: 12717
diff changeset
21 include $(top_srcdir)/build-aux/common.mk
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
22
15271
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
23 AUTOMAKE_OPTIONS = subdir-objects
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
24
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
25 ## Run cruft dir with stand-alone Makefile.
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
26 ## Eventually this will use module.mk syntax.
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
27 SUBDIRS = cruft
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
28
14397
670feb71afde maint: Move @CPPFLAGS@ to end of AM_CPPFLAGS lists in Makefiles.
John W. Eaton <jwe@octave.org>
parents: 14348
diff changeset
29 ## Search local directories before those specified by the user.
10061
ec0c445d0d6f include -I../libgnu in AM_CPPFLAGS
John W. Eaton <jwe@octave.org>
parents: 10027
diff changeset
30 AM_CPPFLAGS = \
15272
dd794aa84232 additional changes for merger of libcruft with liboctave
John W. Eaton <jwe@octave.org>
parents: 15271
diff changeset
31 -I$(srcdir)/array \
15271
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
32 -I$(srcdir)/cruft/misc \
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
33 -Inumeric -I$(srcdir)/numeric \
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
34 -Ioperators -I$(srcdir)/operators \
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
35 -I$(srcdir)/system \
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
36 -I$(srcdir)/util \
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
37 -I$(top_builddir)/libgnu -I$(top_srcdir)/libgnu
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
38
15363
482d92904aa4 don't use WARN_CXXFLAGS for qterminal library
John W. Eaton <jwe@octave.org>
parents: 15278
diff changeset
39 AM_CFLAGS += $(WARN_CFLAGS)
482d92904aa4 don't use WARN_CXXFLAGS for qterminal library
John W. Eaton <jwe@octave.org>
parents: 15278
diff changeset
40
482d92904aa4 don't use WARN_CXXFLAGS for qterminal library
John W. Eaton <jwe@octave.org>
parents: 15278
diff changeset
41 AM_CXXFLAGS += $(WARN_CXXFLAGS)
482d92904aa4 don't use WARN_CXXFLAGS for qterminal library
John W. Eaton <jwe@octave.org>
parents: 15278
diff changeset
42
15271
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
43 octlib_LTLIBRARIES = liboctave.la
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
44
15271
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
45 EXTRA_DIST =
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
46
15271
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
47 DISTCLEANFILES =
10376
1ed7cc046c52 Makefile.am rules for rebuilding .mk files
John W. Eaton <jwe@octave.org>
parents: 10350
diff changeset
48
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
49 BUILT_INCS = \
15271
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
50 operators/mx-ops.h \
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
51 $(OPT_INC) \
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
52 $(MX_OP_INC) \
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
53 $(VX_OP_INC) \
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
54 $(SMX_OP_INC)
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
55
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
56 BUILT_SOURCES = $(BUILT_INCS)
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
57
15271
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
58 octinclude_HEADERS = \
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
59 $(ARRAY_INC) \
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
60 $(NUMERIC_INC) \
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
61 $(OPERATORS_INC) \
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
62 $(SYSTEM_INC) \
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
63 $(UTIL_INC) \
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
64 $(OTHER_INC) \
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
65 $(TEMPLATE_SRC)
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
66
15271
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
67 nodist_octinclude_HEADERS = \
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
68 $(BUILT_INCS)
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
69
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
70 noinst_LTLIBRARIES =
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
71
15271
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
72 ## C++ files that are #included, not compiled
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
73 OTHER_INC =
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
74
15271
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
75 ## C++ files with templates that are #included, not compiled
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
76 TEMPLATE_SRC =
9979
3878bae57c12 Clean liboctave/Makefile.am to use more standard automake syntax
Rik <rdrider0-list@yahoo.com>
parents: 9946
diff changeset
77
15271
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
78 include array/module.mk
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
79 include numeric/module.mk
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
80 include operators/module.mk
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
81 include system/module.mk
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
82 include util/module.mk
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
83
15271
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
84 ## liboctave merely collects a bunch of compiled convenience libraries.
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
85 ## It has no source code itself.
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
86 liboctave_la_SOURCES =
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
87
15416
a0fb36acbd0d build: Only use extra CPPFLAGS in the convenience libraries that need them.
Rik <rik@octave.org>
parents: 15386
diff changeset
88 liboctave_la_CPPFLAGS = @OCTAVE_DLL_DEFS@ $(AM_CPPFLAGS)
9816
b1462c588dd5 add -DX_DLL_DEFS to CPPFLAGS
John W. Eaton <jwe@octave.org>
parents: 9794
diff changeset
89
15271
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
90 include link-deps.mk
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
91
15416
a0fb36acbd0d build: Only use extra CPPFLAGS in the convenience libraries that need them.
Rik <rik@octave.org>
parents: 15386
diff changeset
92 # Dummy C++ source to force C++ linking.
15386
5546fe4dd77f force C++ linking for liboctave and liboctgui
John W. Eaton <jwe@octave.org>
parents: 15363
diff changeset
93 nodist_EXTRA_liboctave_la_SOURCES = dummy.cc
5546fe4dd77f force C++ linking for liboctave and liboctgui
John W. Eaton <jwe@octave.org>
parents: 15363
diff changeset
94
15271
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
95 liboctave_la_LIBADD = \
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
96 array/libarray.la \
15272
dd794aa84232 additional changes for merger of libcruft with liboctave
John W. Eaton <jwe@octave.org>
parents: 15271
diff changeset
97 cruft/libcruft.la \
dd794aa84232 additional changes for merger of libcruft with liboctave
John W. Eaton <jwe@octave.org>
parents: 15271
diff changeset
98 cruft/ranlib/libranlib.la \
dd794aa84232 additional changes for merger of libcruft with liboctave
John W. Eaton <jwe@octave.org>
parents: 15271
diff changeset
99 numeric/libnumeric.la \
dd794aa84232 additional changes for merger of libcruft with liboctave
John W. Eaton <jwe@octave.org>
parents: 15271
diff changeset
100 operators/liboperators.la \
dd794aa84232 additional changes for merger of libcruft with liboctave
John W. Eaton <jwe@octave.org>
parents: 15271
diff changeset
101 system/libsystem.la \
dd794aa84232 additional changes for merger of libcruft with liboctave
John W. Eaton <jwe@octave.org>
parents: 15271
diff changeset
102 util/libutil.la \
15278
f4b5304ee451 build: Remove unnecessary -I includes from AM_CPPFLAGS.
Rik <rik@octave.org>
parents: 15272
diff changeset
103 $(top_builddir)/libgnu/libgnu.la \
15271
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
104 $(LIBOCTAVE_LINK_DEPS)
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
105
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
106 # Increment these as needed and according to the rules in the libtool manual:
14630
9e4ad3f1f291 maint: periodic merge of stable to default
John W. Eaton <jwe@octave.org>
parents: 14629
diff changeset
107 liboctave_current = 1
9e4ad3f1f291 maint: periodic merge of stable to default
John W. Eaton <jwe@octave.org>
parents: 14629
diff changeset
108 liboctave_revision = 1
9e4ad3f1f291 maint: periodic merge of stable to default
John W. Eaton <jwe@octave.org>
parents: 14629
diff changeset
109 liboctave_age = 0
12708
e34f2bf7319d maint: implement proper library versioning.
John W. Eaton <jwe@octave.org>
parents: 12338
diff changeset
110
e34f2bf7319d maint: implement proper library versioning.
John W. Eaton <jwe@octave.org>
parents: 12338
diff changeset
111 liboctave_version_info = $(liboctave_current):$(liboctave_revision):$(liboctave_age)
e34f2bf7319d maint: implement proper library versioning.
John W. Eaton <jwe@octave.org>
parents: 12338
diff changeset
112
e34f2bf7319d maint: implement proper library versioning.
John W. Eaton <jwe@octave.org>
parents: 12338
diff changeset
113 liboctave_la_LDFLAGS = \
e34f2bf7319d maint: implement proper library versioning.
John W. Eaton <jwe@octave.org>
parents: 12338
diff changeset
114 -version-info $(liboctave_version_info) \
e34f2bf7319d maint: implement proper library versioning.
John W. Eaton <jwe@octave.org>
parents: 12338
diff changeset
115 $(NO_UNDEFINED_LDFLAG) \
10342
7f6b4c6838ea Add -bindir flags to _LDFLAGS variables.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 10331
diff changeset
116 -bindir $(bindir) \
13010
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 13004
diff changeset
117 $(LIBOCTAVE_LINK_OPTS)
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
118
15271
648dabbb4c6b build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents: 15269
diff changeset
119 DISTCLEANFILES += $(BUILT_INCS)
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
diff changeset
120