68,6 → 68,9 |
AUTOCONF = $(SUPP_PREFIX)/bin/autoconf |
AUTOMAKE = $(SUPP_PREFIX)/bin/automake |
|
STAMP_DIR := $(CURDIR)/stamps |
DOWNLOAD_DIR := $(CURDIR)/downloads |
|
ifeq ($(strip $(BUG_URL)),) |
BUG_URL = https://github.com/jsnyder/avr32-toolchain |
endif |
142,6 → 145,72 |
@echo "PKG_VERSION=$(PKG_VERSION)" |
@echo "BUG_URL=$(BUG_URL)" |
|
|
############ MACROS for the lazy people ;-) ############ |
|
ifeq ($(strip $(MAKEFLAGS)),s) |
define quiet_text |
@echo "$1" |
endef |
else |
define quiet_text |
endef |
endif |
|
## remove a stamp |
define rm_stamp |
rm -f $(STAMP_DIR)/$(1) |
endef |
|
## create the stamp directory if not existing and the stamp |
define make_stamp |
@[ -d $(STAMP_DIR) ] || mkdir $(STAMP_DIR) |
date > $(STAMP_DIR)/$(1) |
endef |
|
## create the download rule and force download rule |
define DOWNLOAD_template |
download-$(1): $(DOWNLOAD_DIR)/$$($(1)_ARCHIVE) |
download-$(1)-f $(DOWNLOAD_DIR)/$$($(1)_ARCHIVE): $(DOWNLOAD_DIR) |
cd $(DOWNLOAD_DIR) && curl -LO $$($(1)_URL) |
PHONY += download-$(1) download-$(1)-f |
endef |
|
## extract commands |
EXT_BZ2 := tar -jxf |
EXT_TGZ := tar -xf |
EXT_ZIP := unzip -o |
|
## create the extract rule and force extract rule |
define EXTRACT_template |
extract-$(1): $(STAMP_DIR)/extract-$(1) |
extract-$(1)-f $(STAMP_DIR)/extract-$(1): $(DOWNLOAD_DIR)/$$($(1)_ARCHIVE) |
@(rm -rf autoconf-*; \ |
t1=`openssl md5 $$< | cut -f 2 -d " " -` && \ |
[ "$$$$t1" = "$$($(1)_MD5)" ] || \ |
( echo "Bad Checksum! Please remove the following file and retry: $$<" && false )) |
$(call quiet_text,"Extracting $$($(1)_ARCHIVE)") |
$($(2)) $$< |
$(call make_stamp,extract-$(1)) |
PHONY += extract-$(1) extract-$(1)-f |
endef |
|
$(DOWNLOAD_DIR): |
mkdir $(DOWNLOAD_DIR) |
|
$(eval $(call DOWNLOAD_template,AUTOCONF)) |
$(eval $(call EXTRACT_template,AUTOCONF,EXT_BZ2)) |
|
.PHONY: $(PHONY) |
|
|
.PHONY: tst2 tst3 |
tst2: |
$(call make_stamp,JES) |
tst3: |
$(call rm_stamp,JES) |
|
|
.PHONY: install-note |
install-note: install-tools |
@echo |
170,21 → 239,21 |
|
############# SUPP: AUTOCONF ############ |
|
.PHONY: download-autoconf download-autoconf-force |
download-autoconf: downloads/$(AUTOCONF_ARCHIVE) |
download-autoconf-force downloads/$(AUTOCONF_ARCHIVE): |
[ -d downloads ] || mkdir downloads ; |
cd downloads && curl -LO $(AUTOCONF_URL) |
##.PHONY: download-autoconf download-autoconf-force |
##download-autoconf: downloads/$(AUTOCONF_ARCHIVE) |
##download-autoconf-force downloads/$(AUTOCONF_ARCHIVE): |
## [ -d downloads ] || mkdir downloads ; |
## cd downloads && curl -LO $(AUTOCONF_URL) |
|
.PHONY: extract-autoconf extract-autoconf-force |
extract-autoconf: stamps/extract-autoconf |
extract-autoconf-force stamps/extract-autoconf: downloads/$(AUTOCONF_ARCHIVE) |
@(t1=`openssl md5 $< | cut -f 2 -d " " -` && \ |
[ "$$t1" = "$(AUTOCONF_MD5)" ] || \ |
( echo "Bad Checksum! Please remove the following file and retry: $<" && false )) |
tar -jxf $< ; |
[ -d stamps ] || mkdir stamps ; |
touch stamps/extract-autoconf; |
##.PHONY: extract-autoconf extract-autoconf-force |
##extract-autoconf: stamps/extract-autoconf |
##extract-autoconf-force stamps/extract-autoconf: downloads/$(AUTOCONF_ARCHIVE) |
## @(t1=`openssl md5 $< | cut -f 2 -d " " -` && \ |
## [ "$$t1" = "$(AUTOCONF_MD5)" ] || \ |
## ( echo "Bad Checksum! Please remove the following file and retry: $<" && false )) |
## tar -jxf $< ; |
## [ -d stamps ] || mkdir stamps ; |
## touch stamps/extract-autoconf; |
|
.PHONY: build-autoconf build-autoconf-force |
build-autoconf: stamps/build-autoconf |