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'