# HG changeset patch # User Mike Miller # Date 1459963408 25200 # Node ID bc4f2e6f7b694954240b26a10d88945035db1db3 # Parent a99fbdca44b89429017fa5ee4c865d58ccc31b7e build: Allow parallel building of oct files by using an intermediate library * Makefile.am: Build a libpytave.la library from $(COMMON_SOURCE_FILES). Add it as a dependency for oct files and _pytave.la. Libtoolize oct file build command. diff -r a99fbdca44b8 -r bc4f2e6f7b69 Makefile.am --- a/Makefile.am Wed Apr 06 10:06:26 2016 -0700 +++ b/Makefile.am Wed Apr 06 10:23:28 2016 -0700 @@ -58,8 +58,12 @@ _pytave_la_CPPFLAGS = $(AM_CPPFLAGS) _pytave_la_LDFLAGS = -module -L$(OCTAVE_LIBRARYDIR) -_pytave_la_LIBADD = -l$(BOOST_PYTHON_LIB) $(OCTAVE_LIBS) -_pytave_la_SOURCES = pytave.cc $(COMMON_SOURCE_FILES) $(PYTAVE_HEADER_FILES) +_pytave_la_LIBADD = libpytave.la -l$(BOOST_PYTHON_LIB) $(OCTAVE_LIBS) +_pytave_la_SOURCES = pytave.cc + +noinst_LTLIBRARIES = libpytave.la +libpytave_la_CPPFLAGS = $(AM_CPPFLAGS) +libpytave_la_SOURCES = $(COMMON_SOURCE_FILES) $(PYTAVE_HEADER_FILES) CLEANFILES = *.oct SUFFIXES = .oct @@ -69,12 +73,13 @@ am__v_MKOCTFILE_0 = @echo " MKOCTFIL" $@; am__v_MKOCTFILE_1 = -OCT_LIBS = -l$(BOOST_PYTHON_LIB) $(PYTHON_LIBS) -OCT_LINK = $(MKOCTFILE) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ +OCT_LIBS = libpytave.la -l$(BOOST_PYTHON_LIB) $(PYTHON_LIBS) +OCT_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(MKOCTFILE) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ -%.oct: %.cc $(PYTAVE_HEADER_FILES) - $(AM_V_MKOCTFILE)$(OCT_LINK) $< $(COMMON_SOURCE_FILES) $(OCT_LIBS) +%.oct: %.cc libpytave.la $(PYTAVE_HEADER_FILES) + $(AM_V_MKOCTFILE)$(OCT_LINK) $< $(OCT_LIBS) all-local: $(OCT_FILES)