Mercurial > mxe-octave
diff Makefile @ 2971:7145a94e4f4e
build autoconf, automake, libtool, and cmake instead of expecting them to exist
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 05 Feb 2013 15:41:22 -0500 |
parents | 1955438b24dc |
children | 169114e27438 |
line wrap: on
line diff
--- a/Makefile Thu Jan 24 22:00:38 2013 -0500 +++ b/Makefile Tue Feb 05 15:41:22 2013 -0500 @@ -29,19 +29,21 @@ SHELL := bash INSTALL := $(shell ginstall --help >/dev/null 2>&1 && echo g)install -LIBTOOL := $(shell glibtool --help >/dev/null 2>&1 && echo g)libtool -LIBTOOLIZE := $(shell glibtoolize --help >/dev/null 2>&1 && echo g)libtoolize PATCH := $(shell gpatch --help >/dev/null 2>&1 && echo g)patch SED := $(shell gsed --help >/dev/null 2>&1 && echo g)sed WGET := wget --no-check-certificate \ --user-agent=$(shell wget --version | \ $(SED) -n 's,GNU \(Wget\) \([0-9.]*\).*,\1/\2,p') -REQUIREMENTS := autoconf automake bash bison bzip2 cmake flex \ - gcc intltoolize $(LIBTOOL) $(LIBTOOLIZE) \ +REQUIREMENTS := bash bison bzip2 flex \ + gcc intltoolize \ $(MAKE) openssl $(PATCH) $(PERL) pkg-config \ scons $(SED) unzip wget xz yasm +LIBTOOL := libtool +LIBTOOLIZE := libtoolize +BUILD_TOOLS := build-autoconf build-automake build-cmake build-libtool + PREFIX := $(PWD)/usr LOG_DIR := $(PWD)/log TIMESTAMP := $(shell date +%Y%m%d_%H%M%S) @@ -49,7 +51,7 @@ TMP_DIR = $(PWD)/tmp-$(1) MAKEFILE := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) TOP_DIR := $(patsubst %/,%,$(dir $(MAKEFILE))) -PKGS := $(shell $(SED) -n 's/^.* id="\([^"]*\)-package">.*$$/\1/p' '$(TOP_DIR)/index.html') +PKGS := $(filter-out $(BUILD_TOOLS), $(shell $(SED) -n 's/^.* id="\([^"]*\)-package">.*$$/\1/p' '$(TOP_DIR)/index.html')) PATH := $(PREFIX)/bin:$(PATH) MSYS_BASE_URL := http://sourceforge.net/projects/mingw/files/MSYS/Base @@ -123,6 +125,8 @@ .PHONY: all all: $(PKGS) +$(PKGS): $(BUILD_TOOLS) + .PHONY: msys-base msys-base: $(MSYS_BASE_PACKAGES) @@ -158,8 +162,6 @@ $(PREFIX)/installed/check-requirements: $(MAKEFILE) @echo '[check requirements]' $(foreach REQUIREMENT,$(REQUIREMENTS),$(call CHECK_REQUIREMENT,$(REQUIREMENT))) - $(call CHECK_REQUIREMENT_VERSION,autoconf,2\.6[4-9]\|2\.[7-9][0-9]) - $(call CHECK_REQUIREMENT_VERSION,automake,1\.[1-9][0-9]\(\.[0-9]\+\)\?) @[ -d '$(PREFIX)/installed' ] || mkdir -p '$(PREFIX)/installed' @touch '$@' @@ -173,10 +175,11 @@ '$(TOP_DIR)/index.html' \ ))) +include $(patsubst %,$(TOP_DIR)/src/%.mk,$(BUILD_TOOLS)) include $(patsubst %,$(TOP_DIR)/src/%.mk,$(PKGS)) .PHONY: download -download: $(addprefix download-,$(PKGS)) +download: $(addprefix download-,$(PKGS)) $(addprefix download-,$(BUILD_TOOLS)) define PKG_RULE .PHONY: download-$(1) @@ -244,6 +247,7 @@ touch '$(PREFIX)/installed/$(1)' endef $(foreach PKG,$(PKGS),$(eval $(call PKG_RULE,$(PKG),$(call TMP_DIR,$(PKG))))) +$(foreach TOOL,$(BUILD_TOOLS),$(eval $(call PKG_RULE,$(TOOL),$(call TMP_DIR,$(TOOL))))) .PHONY: clean clean: