view liboctave/operators/module.mk @ 20537:0ce7d8303152

eliminate recursive make invocations in liboctave and libinterp directories * libinterp/module.mk: New file created from libinterp/Makefile.am. * liboctave/module.mk: New file created from liboctave/Makefile.am. * libinterp/Makefile.am, liboctave/Makefile.am: Delete. * configure.ac (AC_CONFIG_FILES): Remove libinterp/Makefile and liboctave/Makefile from the list. * Makefile.am (SUBDIRS): Remove liboctave and libinterp from the list. (BUILT_DISTFILES, BUILT_NODISTFILES, EXTRA_DIST, DIST_SRC, octinclude_HEADERS, nodist_octinclude_HEADERS): Initialize as empty. Include liboctave/module.mk liboctave/link-deps.mk, libinterp/module.mk, and libinterp/link-deps.mk. * doc/module.mk, libgui/link-deps.mk, libinterp/corefcn/module.mk, libinterp/dldfcn/config-module.awk, libinterp/link-deps.mk, libinterp/mkops, libinterp/octave-value/module.mk, libinterp/operators/module.mk, libinterp/parse-tree/module.mk, libinterp/template-inst/module.mk, liboctave/array/module.mk, liboctave/cruft/Faddeeva/module.mk, liboctave/cruft/amos/module.mk, liboctave/cruft/blas-xtra/module.mk, liboctave/cruft/daspk/module.mk, liboctave/cruft/dasrt/module.mk, liboctave/cruft/dassl/module.mk, liboctave/cruft/fftpack/module.mk, liboctave/cruft/lapack-xtra/module.mk, liboctave/cruft/misc/module.mk, liboctave/cruft/module.mk, liboctave/cruft/odepack/module.mk, liboctave/cruft/ordered-qz/module.mk, liboctave/cruft/quadpack/module.mk, liboctave/cruft/ranlib/module.mk, liboctave/cruft/slatec-err/module.mk, liboctave/cruft/slatec-fn/module.mk, liboctave/numeric/module.mk, liboctave/operators/mk-ops.awk, liboctave/operators/module.mk, liboctave/operators/sparse-mk-ops.awk, liboctave/system/module.mk, liboctave/util/module.mk: Update for non-recursive build.
author John W. Eaton <jwe@octave.org>
date Fri, 10 Jul 2015 13:28:33 -0400
parents 4f6ae6b94abe
children 9b44691a3520
line wrap: on
line source

EXTRA_DIST += \
  liboctave/operators/module.mk \
  liboctave/operators/config-ops.sh \
  liboctave/operators/mk-ops.awk \
  liboctave/operators/mx-op-inc.mk \
  liboctave/operators/mx-op-src.mk \
  liboctave/operators/mx-ops \
  liboctave/operators/smx-op-inc.mk \
  liboctave/operators/smx-op-src.mk \
  liboctave/operators/sparse-mk-ops.awk \
  liboctave/operators/smx-ops \
  liboctave/operators/vx-op-inc.mk \
  liboctave/operators/vx-op-src.mk \
  liboctave/operators/vx-ops

include liboctave/operators/vx-op-inc.mk
include liboctave/operators/mx-op-inc.mk
include liboctave/operators/smx-op-inc.mk

include liboctave/operators/vx-op-src.mk
include liboctave/operators/mx-op-src.mk
include liboctave/operators/smx-op-src.mk

BUILT_LIBOCTAVE_OPERATORS_SOURCES = \
  $(MX_OP_SRC) \
  $(VX_OP_SRC) \
  $(SMX_OP_SRC)

LIBOCTAVE_OPERATORS_INC = \
  liboctave/operators/mx-base.h \
  liboctave/operators/mx-defs.h \
  liboctave/operators/mx-ext.h \
  liboctave/operators/mx-op-decl.h \
  liboctave/operators/mx-op-defs.h \
  liboctave/operators/Sparse-diag-op-defs.h \
  liboctave/operators/Sparse-op-decls.h \
  liboctave/operators/Sparse-op-defs.h \
  liboctave/operators/Sparse-perm-op-defs.h

## There are no distributed source files in this directory
LIBOCTAVE_OPERATORS_SRC =

LIBOCTAVE_TEMPLATE_SRC += \
  liboctave/operators/mx-inlines.cc

OP_SRCDIR = $(abs_top_srcdir)/liboctave/operators

define run-mx-ops
  ( cd liboctave/operators; \
    $(AWK) -f $(OP_SRCDIR)/$(2)mk-ops.awk prefix=$(1) $(OP_SRCDIR)/$(1)-ops \
  )
endef

## Special rules for sources which must be built before rest of compilation.
$(VX_OP_INC) $(VX_OP_SRC) : liboctave/operators/mk-ops.awk liboctave/operators/vx-ops
	$(AM_V_GEN)$(call run-mx-ops,vx)

$(MX_OP_INC) $(MX_OP_SRC) : liboctave/operators/mk-ops.awk liboctave/operators/mx-ops
	$(AM_V_GEN)$(call run-mx-ops,mx)

$(SMX_OP_INC) $(SMX_OP_SRC) : liboctave/operators/sparse-mk-ops.awk liboctave/operators/smx-ops
	$(AM_V_GEN)$(call run-mx-ops,smx,sparse-)

liboctave/operators/mx-ops.h : liboctave/operators/mk-ops.awk liboctave/operators/mx-ops
	$(AM_V_GEN)rm -f $@-t $@ && \
	$(AWK) -f $(OP_SRCDIR)/mk-ops.awk prefix=mx make_inclusive_header=mx-ops.h $(OP_SRCDIR)/mx-ops > $@-t && \
	mv $@-t $@

DISTCLEANFILES += $(BUILT_LIBOCTAVE_OPERATORS_SOURCES)

noinst_LTLIBRARIES += liboctave/operators/liboperators.la

liboctave_operators_liboperators_la_SOURCES = $(LIBOCTAVE_OPERATORS_SRC)

nodist_liboctave_operators_liboperators_la_SOURCES = $(BUILT_LIBOCTAVE_OPERATORS_SOURCES)

liboctave_operators_liboperators_la_CPPFLAGS = $(liboctave_liboctave_la_CPPFLAGS)

liboctave_operators_liboperators_la_CFLAGS = $(liboctave_liboctave_la_CFLAGS)

liboctave_operators_liboperators_la_CXXFLAGS = $(liboctave_liboctave_la_CXXFLAGS)

liboctave_liboctave_la_LIBADD += liboctave/operators/liboperators.la