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