-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
45 lines (31 loc) · 1.1 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
ROOT_DIR := $(dir $(realpath $(lastword $(MAKEFILE_LIST))))
menuconfig_sh := $(ROOT_DIR)support/menuconfig.sh
build_sh := $(ROOT_DIR)support/build.sh
release_sh := $(ROOT_DIR)support/release.sh
TOOLCHAINS_DIR := $(ROOT_DIR)toolchains/
toolchain_prefix := $(TOOLCHAINS_DIR)toolchain-atmelavr-libstdcxx.
toolchain_suffix := .tar.gz
config_in := $(ROOT_DIR)config.in
VERSION = $(shell sed -En '/^CT_GCC_VERSION=/s/^CT_GCC_VERSION="([^"]+)"/\1/p' "$(config_in)")
IMAGE_NAME = avr-toolchain
RESUME =
PLATFORMS := linux_x86_64 windows_amd64
.EXPORT_ALL_VARIABLES:
.PHONY: menuconfig all clean distclean release $(PLATFORMS)
menuconfig:
$(menuconfig_sh)
all: $(PLATFORMS)
clean:
rm -rf "$(toolchain_prefix)"*"$(toolchain_suffix)"
distclean: clean
docker image rm -f \
$(foreach platform, $(PLATFORMS), \
"$(IMAGE_NAME)":$(platform) "$(IMAGE_NAME)":$(platform)-wip \
) \
"$(IMAGE_NAME)":menuconfig
docker buildx prune -f
release: $(PLATFORMS)
$(release_sh) $(FORCE)
$(toolchain_prefix)%$(toolchain_suffix): $(config_in)
PLATFORM=$* $(build_sh)
$(PLATFORMS): %: $(toolchain_prefix)%$(toolchain_suffix)