Mercurial > mxe-octave
diff Makefile.in @ 3853:58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
* Makefile.in
Add ENABLE_BINARY_PACKAGES, MXE_MKOCTFILE variable.
Add OCTAVE_FORGE_PKG_COMPILE, OCTAVE_FORGE_PKG_BUILD_NOCOMPILE macros
* configure.ac: add --enable-binary-packages option
* src/default-octave.mk:
if mingw, enable cross compile of mkoctfile, install the cross built mkoctfile to usr/bin
* src/of-communications.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
* src/of-control.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
* src/of-dicom.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
* src/of-fits.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
* src/of-fl-core.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
* src/of-image.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
* src/of-linear-algebra.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
* src/of-ltfat.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
* src/of-linear-algebra.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
* src/of-miscellaneous.mk:
use OCTAVE_FORGE_PKG_BUILD with UNITS_AVAILABLE=yes arg
* src/of-netcdf.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
* src/of-odepkg.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
* src/of-sockets.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
* src/of-windows.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
author | John Donoghue |
---|---|
date | Thu, 19 Mar 2015 14:03:28 -0400 |
parents | c55d9f182272 |
children | 85568f3159a4 |
line wrap: on
line diff
--- a/Makefile.in Thu Mar 19 07:46:36 2015 -0400 +++ b/Makefile.in Thu Mar 19 14:03:28 2015 -0400 @@ -51,6 +51,10 @@ # you know what you are doing. ENABLE_64 := @ENABLE_64@ +# create binary octave forge tools. +# if cross, compiling, this also means we will attempt to create cross mkoctfile +ENABLE_BINARY_PACKAGES := @ENABLE_BINARY_PACKAGES@ + # Should match what config.guess prints for your system. # If cross compiling, you must set it manually. ifeq ($(MXE_NATIVE_BUILD),yes) @@ -309,6 +313,8 @@ MXE_UIC := $(HOST_BINDIR)/uic MXE_LRELEASE := $(HOST_BINDIR)/lrelease MXE_RCC := $(HOST_BINDIR)/rcc + + MXE_MKOCTFILE := $(HOST_BINDIR)/mkoctfile else MXE_TOOL_PREFIX := $(TARGET)- MXE_AR := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)ar' @@ -331,6 +337,8 @@ MXE_UIC := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)uic' MXE_LRELEASE := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)lrelease' MXE_RCC := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)rcc' + + MXE_MKOCTFILE := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)mkoctfile' endif ifeq ($(MXE_SYSTEM),mingw) @@ -578,6 +586,26 @@ fi endef +define OCTAVE_FORGE_PKG_COMPILE + if [ -d '$(1)/src' ]; then \ + if [ -f '$(1)/src/configure' ]; then \ + cd '$(1)/src' && ./configure $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \ + $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) MKOCTFILE='$(MXE_MKOCTFILE)'\ + $(4); \ + fi; \ + if [ -f '$(1)/src/Makefile' ]; then \ + $(MAKE) -C '$(1)/src' MKOCTFILE='$(MXE_MKOCTFILE) --verbose'; \ + fi; \ + fi +endef + +define OCTAVE_FORGE_PKG_BUILD_NOCOMPILE + mkdir -p '$(3)$(HOST_PREFIX)/src' + cd '$(1)/..' \ + && tar cvfz $($(PKG)_FILE) $($(PKG)_SUBDIR) \ + && $(INSTALL) -m644 '$($(PKG)_FILE)' '$(3)$(HOST_PREFIX)/src' +endef + ifeq ($(MXE_SYSTEM),msvc) define OCTAVE_FORGE_PKG_BUILD $(INSTALL) -d '$(3)$(HOST_PREFIX)/local/octave-$(octave_VERSION)/share/octave' @@ -590,6 +618,9 @@ endef else define OCTAVE_FORGE_PKG_BUILD + if [ $(ENABLE_BINARY_PACKAGES) = yes ]; then \ + $(OCTAVE_FORGE_PKG_COMPILE); \ + fi mkdir -p '$(3)$(HOST_PREFIX)/src' cd '$(1)/..' \ && tar cvfz $($(PKG)_FILE) $($(PKG)_SUBDIR) \