| 1 | ### -*-makefile-*- |
| 2 | |
| 3 | .SECONDEXPANSION: #sorry |
| 4 | all:: |
| 5 | |
| 6 | FLAVOURS += linux |
| 7 | linux_ARCHS = armel armhf arm64 |
| 8 | linux/armel_ARCH = arm-linux-gnueabi |
| 9 | linux/armhf_ARCH = arm-linux-gnueabihf |
| 10 | linux/arm64_ARCH = aarch64-linux-gnu |
| 11 | |
| 12 | FLAVOURS += android |
| 13 | android_ARCHS = arm arm64 x86 x86_64 |
| 14 | android/arm_ARCH = arm-linux-androideabi |
| 15 | android/arm64_ARCH = aarch64-linux-android |
| 16 | android/x86_ARCH = i686-linux-android |
| 17 | android/x86_64_ARCH = x86_64-linux-android |
| 18 | |
| 19 | V = 0 |
| 20 | v_tag = $(call v_tag_$V,$1) |
| 21 | v_tag_0 = @printf " %-8s %s\n" "$1" "$@"; |
| 22 | |
| 23 | SETUPS = \ |
| 24 | $(foreach f,$(FLAVOURS),\ |
| 25 | $(foreach a,$($f_ARCHS),etc/$f-$a-setup.sh)) |
| 26 | TARGETS += $(SETUPS) |
| 27 | setup-flavour = $(word 1,$(subst -, ,$1)) |
| 28 | setup-arch = $(word 2,$(subst -, ,$1)) |
| 29 | |
| 30 | $(SETUPS): etc/%-setup.sh: $$(call setup-flavour,$$*)-cross-setup.sh.in Makefile |
| 31 | $(call v_tag,GEN)sed 's/@arch@/$($(call setup-flavour,$*)/$(call setup-arch,$*)_ARCH)/g' $< >$@.new && mv $@.new $@ |
| 32 | |
| 33 | all:: $(TARGETS) |
| 34 | |
| 35 | CLEANFILES += $(TARGETS) |
| 36 | clean::; rm -f $(CLEANFILES) |