Mercurial > mxe-octave
comparison Makefile.in @ 6551:6090fc4102bb release
maint: Merge default to release.
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Wed, 30 Nov 2022 18:23:50 +0100 |
parents | 96ea694f0d48 |
children | 540ceb9baa01 |
comparison
equal
deleted
inserted
replaced
6519:77267b0c5bc8 | 6551:6090fc4102bb |
---|---|
201 dist_doc_DATA= \ | 201 dist_doc_DATA= \ |
202 html_DATA= \ | 202 html_DATA= \ |
203 dist_html_DATA= \ | 203 dist_html_DATA= \ |
204 pkghtml_DATA= \ | 204 pkghtml_DATA= \ |
205 examples_DATA= \ | 205 examples_DATA= \ |
206 dist_examples_DATA= \ | |
206 dist_examples_SCRIPTS= \ | 207 dist_examples_SCRIPTS= \ |
207 dist_apidoc_DATA= \ | 208 dist_apidoc_DATA= \ |
208 INFO_DEPS= | 209 INFO_DEPS= |
209 else | 210 else |
210 MXE_DISABLE_DOCS := | 211 MXE_DISABLE_DOCS := |
229 MIRROR_SITES := GITLAB_BACKUP MXE_MIRROR PKG_MIRROR PKG_CDN MXE_OCTAVE_MIRROR | 230 MIRROR_SITES := GITLAB_BACKUP MXE_MIRROR PKG_MIRROR PKG_CDN MXE_OCTAVE_MIRROR |
230 | 231 |
231 SHELL := @SHELL@ | 232 SHELL := @SHELL@ |
232 | 233 |
233 GREP ?= grep | 234 GREP ?= grep |
235 EGREP ?= $(shell egrep --help >/dev/null 2>&1 && echo e)grep | |
234 INSTALL := $(shell ginstall --help >/dev/null 2>&1 && echo g)install | 236 INSTALL := $(shell ginstall --help >/dev/null 2>&1 && echo g)install |
235 PATCH := $(shell gpatch --help >/dev/null 2>&1 && echo g)patch | 237 PATCH := $(shell gpatch --help >/dev/null 2>&1 && echo g)patch |
236 SED := $(shell gsed --help >/dev/null 2>&1 && echo g)sed | 238 SED := $(shell gsed --help >/dev/null 2>&1 && echo g)sed |
237 SORT := $(shell gsort --help >/dev/null 2>&1 && echo g)sort | 239 SORT := $(shell gsort --help >/dev/null 2>&1 && echo g)sort |
238 ## The --compression option for wget is new in 1.19.2 and now without | 240 ## The --compression option for wget is new in 1.19.2 and now without |
266 | 268 |
267 ## Build tools are tools that we need to build everything else. | 269 ## Build tools are tools that we need to build everything else. |
268 ## They run on the build system. Some, like gcc and binutils may | 270 ## They run on the build system. Some, like gcc and binutils may |
269 ## generate output that runs on the host system (TARGET in MXE terms). | 271 ## generate output that runs on the host system (TARGET in MXE terms). |
270 ALL_BUILD_TOOLS := $(shell $(SED) -n 's/^.* class="package">\(build-[^<]*\)<.*$$/\1/p' '$(TOP_DIR)/index.html') | 272 ALL_BUILD_TOOLS := $(shell $(SED) -n 's/^.* class="package">\(build-[^<]*\)<.*$$/\1/p' '$(TOP_DIR)/index.html') |
273 ALL_MSYS2_PACKAGES := $(shell $(SED) -n 's/^.* class="package">\(msys2-[^<]*\)<.*$$/\1/p' '$(TOP_DIR)/index.html') | |
274 ALL_MSYS1_PACKAGES := $(shell $(SED) -n 's/^.* class="package">\(msys-[^<]*\)<.*$$/\1/p' '$(TOP_DIR)/index.html') | |
275 ALL_MSYS_PACKAGES := $(ALL_MSYS2_PACKAGES) $(ALL_MSYS1_PACKAGES) | |
276 ALL_OCTAVE_FORGE_PACKAGES := $(shell $(SED) -n 's/^.* class="package">\(of-[^<]*\)<.*$$/\1/p' '$(TOP_DIR)/index.html') | |
277 ALL_OCTAVE_OTHER_PACKAGES := $(shell $(SED) -n 's/^.* class="package">\(opkg-[^<]*\)<.*$$/\1/p' '$(TOP_DIR)/index.html') | |
278 ALL_OCTAVE_PACKAGES := $(ALL_OCTAVE_FORGE_PACKAGES) $(ALL_OCTAVE_OTHER_PACKAGES) | |
271 | 279 |
272 BUILD_COMPILER_TOOLS := build-gcc build-binutils | 280 BUILD_COMPILER_TOOLS := build-gcc build-binutils |
273 BUILD_TOOLS := $(ALL_BUILD_TOOLS) | 281 BUILD_TOOLS := $(ALL_BUILD_TOOLS) |
274 # some build tools are optional and added as explicit dependencies | 282 # some build tools are optional and added as explicit dependencies |
275 # to packages that need them | 283 # to packages that need them |
276 BUILD_TOOLS_OPT := \ | 284 BUILD_TOOLS_OPT := \ |
277 build-libffi build-mako build-markupsafe build-meson build-ninja \ | 285 build-libffi build-mako build-markupsafe build-meson build-nasm build-ninja \ |
278 build-python build-octave build-setuptools build-scons | 286 build-python build-octave build-setuptools build-scons |
279 BUILD_TOOLS := $(filter-out $(BUILD_TOOLS_OPT), $(BUILD_TOOLS)) | 287 BUILD_TOOLS := $(filter-out $(BUILD_TOOLS_OPT), $(BUILD_TOOLS)) |
280 # Building flex for native mingw fails, so disable it. | 288 # Building flex for native mingw fails, so disable it. |
281 ifeq ($(MXE_NATIVE_MINGW_BUILD),yes) | 289 ifeq ($(MXE_NATIVE_MINGW_BUILD),yes) |
282 REQUIREMENTS += flex | 290 REQUIREMENTS += flex |
480 MSYS2_ARCH ?= $(shell echo $(TARGET) | $(SED) -n 's|\([^-]*\).*|\1|p') | 488 MSYS2_ARCH ?= $(shell echo $(TARGET) | $(SED) -n 's|\([^-]*\).*|\1|p') |
481 MSYS2_PACKAGES := $(shell $(SED) -n 's/^.* class="package">\([^<]*\)<.*$$/\1/p' '$(TOP_DIR)/index.html' | $(GREP) msys2-) | 489 MSYS2_PACKAGES := $(shell $(SED) -n 's/^.* class="package">\([^<]*\)<.*$$/\1/p' '$(TOP_DIR)/index.html' | $(GREP) msys2-) |
482 MSYS2_SOURCES := $(addprefix src-,$(MSYS2_PACKAGES)) | 490 MSYS2_SOURCES := $(addprefix src-,$(MSYS2_PACKAGES)) |
483 PKGS += $(MSYS2_SOURCES) | 491 PKGS += $(MSYS2_SOURCES) |
484 MSYS2_BASE_URL := https://repo.msys2.org/msys | 492 MSYS2_BASE_URL := https://repo.msys2.org/msys |
493 ifeq ($(MSYS2_ARCH), i686) | |
494 MSYS2_URL := https://github.com/jeremyd2019/msys2-build32/releases/download/repo | |
495 MSYS2_URL2 := $(MSYS2_BASE_URL)/$(MSYS2_ARCH) | |
496 else | |
485 MSYS2_URL := $(MSYS2_BASE_URL)/$(MSYS2_ARCH) | 497 MSYS2_URL := $(MSYS2_BASE_URL)/$(MSYS2_ARCH) |
498 MSYS2_URL2 := | |
499 endif | |
486 MSYS2_SRC_URL := $(MSYS2_BASE_URL)/sources | 500 MSYS2_SRC_URL := $(MSYS2_BASE_URL)/sources |
487 MSYS2_DIR := $(TOP_BUILD_DIR)/msys2 | 501 MSYS2_DIR := $(TOP_BUILD_DIR)/msys2 |
488 | 502 |
489 MSYS2_UPDATE_TMP_FILE := $(TOP_BUILD_DIR)/msys_updates.html | 503 MSYS2_UPDATE_TMP_FILE := $(TOP_BUILD_DIR)/msys_updates.html |
490 endif | 504 endif |
533 endif | 547 endif |
534 | 548 |
535 OCTAVE_FORGE_BASE_URL := 'https://sourceforge.net/projects/octave/files/Octave Forge Packages/Individual Package Releases' | 549 OCTAVE_FORGE_BASE_URL := 'https://sourceforge.net/projects/octave/files/Octave Forge Packages/Individual Package Releases' |
536 ## Packages removed from list because build is broken: | 550 ## Packages removed from list because build is broken: |
537 ## None. | 551 ## None. |
538 OCTAVE_FORGE_PACKAGES := $(addprefix of-,audio communications control database dataframe data-smoothing dicom financial fits fuzzy-logic-toolkit ga general generate_html geometry gsl image instrument-control interval io linear-algebra lssa ltfat mapping matgeom miscellaneous nan netcdf nurbs ocs octproj optim optiminterp quaternion queueing signal sockets sparsersb splines statistics stk strings struct symbolic tisean tsa video windows zeromq) | 552 OCTAVE_FORGE_PACKAGES := $(addprefix of-,audio communications control database dataframe data-smoothing dicom financial fuzzy-logic-toolkit ga general generate_html geometry gsl image instrument-control interval io linear-algebra lssa ltfat mapping matgeom miscellaneous nan netcdf nurbs ocs octproj optim optiminterp quaternion queueing signal sockets sparsersb splines statistics stk strings struct symbolic tisean tsa video windows zeromq) |
539 OCTAVE_OTHER_PACKAGES := $(addprefix opkg-,biosig) | 553 OCTAVE_OTHER_PACKAGES := $(addprefix opkg-,biosig cfitsio mqtt) |
540 # get ALL deps for all of- packages, regardless of whether building the actual forge package in the installer | 554 # get ALL deps for all of- packages, regardless of whether building the actual forge package in the installer |
541 OCTAVE_FORGE_DEPS:= $(sort $(foreach p,$(addprefix $(TOP_DIR)/src/,$(addsuffix .mk,$(OCTAVE_FORGE_PACKAGES))),$(shell $(SED) -n 's/.*_DEPS.*:=\(.*\)/\1/p' $p))) | 555 OCTAVE_FORGE_DEPS:= $(sort $(foreach p,$(addprefix $(TOP_DIR)/src/,$(addsuffix .mk,$(OCTAVE_FORGE_PACKAGES))),$(shell $(SED) -n 's/.*_DEPS.*:=\(.*\)/\1/p' $p))) |
542 OCTAVE_OTHER_PKG_DEPS:= $(sort $(foreach p,$(addprefix $(TOP_DIR)/src/,$(addsuffix .mk,$(OCTAVE_OTHER_PACKAGES))),$(shell $(SED) -n 's/.*_DEPS.*:=\(.*\)/\1/p' $p))) | 556 OCTAVE_OTHER_PKG_DEPS:= $(sort $(foreach p,$(addprefix $(TOP_DIR)/src/,$(addsuffix .mk,$(OCTAVE_OTHER_PACKAGES))),$(shell $(SED) -n 's/.*_DEPS.*:=\(.*\)/\1/p' $p))) |
543 | 557 |
544 BLAS_PACKAGES := blas | 558 BLAS_PACKAGES := blas |
1002 $(filter-out \ | 1016 $(filter-out \ |
1003 $(foreach PKG,$(PKGS),$(PKG_DIR)/$($(PKG)_FILE)), \ | 1017 $(foreach PKG,$(PKGS),$(PKG_DIR)/$($(PKG)_FILE)), \ |
1004 $(wildcard $(PKG_DIR)/*))) | 1018 $(wildcard $(PKG_DIR)/*))) |
1005 | 1019 |
1006 .PHONY: update | 1020 .PHONY: update |
1021 | |
1022 define GITHUB_PKG_UPDATE | |
1023 $(WGET) -q -O- "https://github.com/$(1)/$(2)/tags" | \ | |
1024 $(SED) -n 's|.*releases/tag/$(3)\([0-9][^"]*\).*|\1|p' | \ | |
1025 $(GREP) -i -v RC | $(GREP) -i -v BETA | $(GREP) -i -v PRE | \ | |
1026 $(SORT) -V | \ | |
1027 tail -1 | |
1028 endef | |
1029 | |
1007 define UPDATE | 1030 define UPDATE |
1008 $(if $(2), | 1031 $(if $(2), |
1009 $(if $(filter $(2),$($(1)_IGNORE)), | 1032 $(if $(filter $(2),$($(1)_IGNORE)), |
1010 $(info IGNORED $(1) $(2)), | 1033 $(info IGNORED $(1) $(2)), |
1011 $(if $(filter $(2),$($(1)_VERSION)), | 1034 $(if $(filter $(2),$($(1)_VERSION)), |
1030 update-build-tools: | 1053 update-build-tools: |
1031 $(foreach PKG,$(BUILD_TOOLS),$(call UPDATE,$(PKG),$(shell $($(PKG)_UPDATE)))) | 1054 $(foreach PKG,$(BUILD_TOOLS),$(call UPDATE,$(PKG),$(shell $($(PKG)_UPDATE)))) |
1032 | 1055 |
1033 .PHONY: update-general-pkgs | 1056 .PHONY: update-general-pkgs |
1034 update-general-pkgs: | 1057 update-general-pkgs: |
1035 $(foreach PKG,$(filter-out $(MSYS2_PACKAGES) $(MSYS_BASE_PACKAGES) $(OCTAVE_FORGE_PACKAGES), $(PKGS)),\ | 1058 $(foreach PKG,$(filter-out $(ALL_MSYS_PACKAGES) $(ALL_OCTAVE_PACKAGES), $(PKGS)),\ |
1036 $(if $($(PKG)_UPDATE),$(call UPDATE,$(PKG),$(shell $($(PKG)_UPDATE))),$(info Warning: No update rule for $(PKG)))) | 1059 $(if $($(PKG)_UPDATE),$(call UPDATE,$(PKG),$(shell $($(PKG)_UPDATE))),$(info Warning: No update rule for $(PKG)))) |
1037 | 1060 |
1038 update-checksum-%: | 1061 update-checksum-%: |
1039 $(call DOWNLOAD_PKG_ARCHIVE,$*) | 1062 $(call DOWNLOAD_PKG_ARCHIVE,$*) |
1040 $(SED) -i 's/^\([^ ]*_CHECKSUM *:=\).*/\1 '"`$(call PKG_CHECKSUM,$*)`"'/' '$(TOP_DIR)/src/$*.mk' | 1063 $(SED) -i 's/^\([^ ]*_CHECKSUM *:=\).*/\1 '"`$(call PKG_CHECKSUM,$*)`"'/' '$(TOP_DIR)/src/$*.mk' |