view Makefile.am @ 20343:bacaec9b5535

eliminate recursive make invocation in test directory tree * test/module.mk: New file created from test/Makefile.am, test/bug-35448/module.mk, test/bug-36025/module.mk, test/bug-38236/module.mk, test/bug-38691/module.mk, test/bug-44940/module.mk, test/class-concat/module.mk, test/classdef/module.mk, test/classes/module.mk, test/ctor-vs-method/module.mk, test/fcn-handle-derived-resolution/module.mk, and test/nest/module.mk. * test/Makefile.am, test/bug-35448/module.mk, test/bug-36025/module.mk, test/bug-38236/module.mk, test/bug-38691/module.mk, test/bug-44940/module.mk, test/class-concat/module.mk, test/classdef/module.mk, test/classes/module.mk, test/ctor-vs-method/module.mk, test/fcn-handle-derived-resolution/module.mk, test/nest/module.mk: Delete. * configure.ac (AC_OUTPUT): Don't generate test/Makefile. * Makefile.am: Include test/module.mk. * build-aux/common.mk, test/build-bc-overload-tests.sh: Adapt to changes in Makefile structure.
author John W. Eaton <jwe@octave.org>
date Tue, 07 Jul 2015 10:40:38 -0400
parents c3c1fb44f9b5
children 2d84d27dc9f0
line wrap: on
line source

# Makefile for Octave
#
# Copyright (C) 1993-2015 John W. Eaton
#
# This file is part of Octave.
#
# Octave is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 3 of the License, or (at
# your option) any later version.
#
# Octave is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# for more details.
#
# You should have received a copy of the GNU General Public License
# along with Octave; see the file COPYING.  If not, see
# <http://www.gnu.org/licenses/>.

include build-aux/common.mk

octdata_DATA =
octetc_DATA =

ACLOCAL_AMFLAGS = -I m4

BUILT_DISTFILES = \
  AUTHORS \
  BUGS \
  ChangeLog \
  INSTALL.OCTAVE

EXTRA_DIST = \
  COPYING \
  ChangeLog \
  INSTALL \
  NEWS \
  README \
  CITATION \
  build-aux/find-files-with-tests.sh \
  build-aux/mk-opts.pl \
  build-aux/move-if-change \
  build-aux/OctJavaQry.class \
  build-aux/stl_algo.h-fixed \
  run-octave.in

DIRSTAMP_FILES =

octave_dirstamp = $(am__leading_dot)octave-dirstamp

$(DIRSTAMP_FILES):
	$(AM_V_GEN)$(MKDIR_P) $(@D) && \
	: > $@

CLEANFILES =
DISTCLEANFILES =
MAINTAINERCLEANFILES =
info_TEXINFOS =
BUILT_SOURCES =
TEST_FILES =

IMAGES_SRC =
IMAGES_EPS =
IMAGES_PDF =
IMAGES_PNG =
IMAGES_TXT =

include doc/module.mk
include doc/interpreter/images.mk
include etc/module.mk
include examples/module.mk
include m4/module.mk
include test/module.mk

# Subdirectories in which to run make recursively.  Other
# directories are handled directly from this Makefile (see also the
# included makefile fragments).

SUBDIRS = libgnu liboctave libinterp
if AMCOND_BUILD_GUI
SUBDIRS += libgui
endif
SUBDIRS += src scripts

dist-hook: doc-interpreter-dist-hook docs-dist-hook icons-dist-hook

if AMCOND_BUILD_DOCS
docs-dist-hook:
else
docs-dist-hook:
	@echo "Documentation disabled.  Cannot package distribution!" ; exit 1;
endif

if AMCOND_HAVE_ICON_TOOLS
icons-dist-hook:
else
icons-dist-hook:
	@echo "Packaging distribution requires icotool and rsvg-convert." ; exit 1;
endif

BUILT_SOURCES += \
  run-octave \
  $(DIRSTAMP_FILES)

if AMCOND_HAVE_BROKEN_STL_ALGO_H
  BUILT_SOURCES += bits/stl_algo.h
else
  BUILT_SOURCES += nonexistent-file
endif

noinst_SCRIPTS = run-octave

CLEANFILES += \
  $(BUILT_SOURCES)

DISTCLEANFILES += \
  .gdbinit \
  ChangeLog \
  $(DIRSTAMP_FILES)

MAINTAINERCLEANFILES += \
  $(BUILT_DISTFILES)

CONFIG_FILES = @ac_config_headers@ @ac_config_files@

nodist_octinclude_HEADERS = config.h
octinclude_HEADERS = oct-conf-post.h

all-local: $(noinst_SCRIPTS) $(DIST_INFO_FILES) .gdbinit $(DOC_TARGETS)
	@echo ""
	@echo "Octave successfully built.  Now choose from the following:"
	@echo ""
	@echo "   ./run-octave    - to run in place to test before installing"
	@echo "   make check      - to run the tests"
	@echo "   make install    - to install (PREFIX=$(prefix))"
	@echo ""

run-octave: run-octave.in Makefile
	$(AM_V_GEN)$(do_subst_script_vals) && \
	chmod a+rx "$@"

bits/stl_algo.h: build-aux/stl_algo.h-fixed
	$(AM_V_GEN)$(MKDIR_P) bits && \
	$(INSTALL_HEADER) $< $@

## If we aren't trying to fix stl_algo.h, then try to ensure that
## there isn't a stray copy sitting in the build tree.

nonexistent-file:
	rm -f bits/stl_algo.h
.PHONY: nonexistent-file

.gdbinit: etc/gdbinit
	@$(gdbinit_install_rule)

define changelog-from-hg-log
  rm -f $@-t $@ && \
  ( cd $(srcdir); \
    hg log --style=build-aux/changelog.tmpl --prune=b0e60ad4ae26 --only-branch=`hg branch`; \
    echo ""; \
    echo "See the files in the directory etc/OLD-ChangeLogs for changes before 2011-04-19"; \
  ) > $@-t && \
  mv $@-t $@
endef

ChangeLog:
	$(AM_V_GEN)$(changelog-from-hg-log)
.PHONY: ChangeLog

octetc_DATA += \
  CITATION \
  NEWS

if AMCOND_INSTALL_BUILD_LOGS
octetc_DATA += config.log
endif

DIRS_TO_MAKE = \
  $(localfcnfiledir) \
  $(localapifcnfiledir) \
  $(localverfcnfiledir) \
  $(localoctfiledir) \
  $(localapioctfiledir) \
  $(localveroctfiledir) \
  $(localarchlibdir) \
  $(localapiarchlibdir) \
  $(localverarchlibdir)

installdirs-local:
	$(MKDIR_P) $(addprefix $(DESTDIR), $(DIRS_TO_MAKE))

install-data-local: installdirs-local