/usr/lib/rpm/macros rpm-4.8.0
/usr/lib/rpm/%{_target}/macros rpm-4.8.0
/usr/lib/rpm/redhat/macros redhat-rpm-config-9.0.3
/etc/rpm/macros.* centos-release
[/usr/lib/rpm/macros]
# ---- per-platform macros.
# Macros that are specific to an individual platform. The values here
# will be used if the per-platform macro file does not exist..
%_arch x86_64
%_build_arch x86_64
%_vendor redhat
%_os linux
%_gnu -gnu
%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os}%{?_gnu}
# ---- config.guess platform macros.
# Macro(s) similar to the tokens used by configure.
%_host x86_64-redhat-linux-gnu
%_host_alias x86_64-redhat-linux-gnu%{nil}
%_host_cpu x86_64
%_host_vendor redhat
%_host_os linux
%_build %{_host}
%_build_alias %{_host_alias}
%_build_cpu %{_host_cpu}
%_build_vendor %{_host_vendor}
%_build_os %{_host_os}
%_target %{_host}
%_target_alias %{_host_alias}
%_target_cpu %{_host_cpu}
%_target_vendor %{_host_vendor}
%_target_os %{_host_os}
[/usr/lib/rpm/platform/x86_64-linux/macros]
%_arch x86_64
%_vendor redhat
%_os linux
%_gnu -gnu
%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os}
%optflags -O2 -g
%__isa_name x86
%__isa_bits 64
%__isa %{__isa_name}-%{__isa_bits}
[/usr/lib/rpm/platform/noarch-linux/macros]
%_arch noarch
%_vendor redhat
%_os linux
%_gnu -gnu
%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os}
[/usr/lib/rpm/redhat/macros]
%_vendor redhat
%_os linux
%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os}%{?_gnu}
【Specifying target triplets】
Autoconf-generated configure scripts can make decisions based on a canonical name for the system type, or target triplet, which has the form: ‘cpu-vendor-os’, where os can be ‘system’ or ‘kernel-system’
configure can guess the canonical name for the type of system it‘s running on. To do so it runs a script called config.guess, which infers the name using the uname command or symbols predefined by the C preprocessor.
Alternately, the user can specify the system type with command line arguments to configure (see System Type. Doing so is necessary when cross-compiling. In the most complex case of cross-compiling, three system types are involved. The options to specify them are:
--build=build-type
the type of system on which the package is being configured and compiled. It defaults to the result of running config.guess.
--host=host-type
the type of system on which the package runs. By default it is the same as the build machine. Specifying it enables the cross-compilation mode.
--target=target-type
the type of system for which any compiler tools in the package produce code (rarely needed). By default, it is the same as host.