qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v4 05/11] rules.mak: Add base-arch() rule


From: Philippe Mathieu-Daudé
Subject: [PATCH v4 05/11] rules.mak: Add base-arch() rule
Date: Fri, 22 May 2020 18:37:53 +0200

Add a rule to return the base architecture for a QEMU target.

The current list of TARGET_BASE_ARCH is:

  $ git grep  TARGET_BASE_ARCH configure
  configure:7785:TARGET_BASE_ARCH=""
  configure:7795:    TARGET_BASE_ARCH=i386
  configure:7813:    TARGET_BASE_ARCH=arm
  configure:7846:    TARGET_BASE_ARCH=mips
  configure:7854:    TARGET_BASE_ARCH=mips
  configure:7864:    TARGET_BASE_ARCH=openrisc
  configure:7871:    TARGET_BASE_ARCH=ppc
  configure:7879:    TARGET_BASE_ARCH=ppc
  configure:7887:    TARGET_BASE_ARCH=ppc
  configure:7894:    TARGET_BASE_ARCH=riscv
  configure:7900:    TARGET_BASE_ARCH=riscv
  configure:7920:    TARGET_BASE_ARCH=sparc
  configure:7925:    TARGET_BASE_ARCH=sparc

The rule can be tested calling 'print-base-arch-$TARGET':

  $ make \
      print-base-arch-openrisc \
      print-base-arch-aarch64 \
      print-base-arch-x86_64 \
      print-base-arch-mips64el \
      print-base-arch-ppc64
  openrisc=openrisc
  aarch64=arm
  x86_64=i386
  mips64el=mips
  ppc64=ppc

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
v4:
- use startwith()
- fix openrisc (rth)
---
 rules.mak | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/rules.mak b/rules.mak
index e39bee93d5..2ce527e885 100644
--- a/rules.mak
+++ b/rules.mak
@@ -445,3 +445,30 @@ atomic = $(eval $1: $(call sentinel,$1) ; @:) \
 
 print-%:
        @echo '$*=$($*)'
+
+# base-arch
+# Usage: $(call base-arch, target)
+#
+# @target: the target architecture.
+#
+# This macro will return the base architecture for a target.
+#
+# As example, $(call base-arch, aarch64) returns 'arm'.
+base-arch = $(strip \
+               $(if $(call startwith,mips,$1),mips,\
+                 $(if $(call startwith,ppc,$1),ppc,\
+                   $(if $(call startwith,sparc,$1),sparc,\
+                     $(if $(call startwith,risc,$1),risc,\
+                       $(if $(call startwith,aarch64,$1),arm,\
+                         $(if $(call startwith,x86_64,$1),i386,\
+                           $1\
+                          )\
+                        )\
+                      )\
+                    )\
+                  )\
+                )\
+               )
+
+print-base-arch-%:
+       @echo '$*=$(call base-arch, $*)'
-- 
2.21.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]