mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-10-19 11:19:31 +00:00
makefile: use target arch when determining what programs to compile
To better support cross-compilation, the Makefile should detect the compiler's target architecture instead of using `uname -m`, which returns the host architecture. This approach uses the `gcc`/`clang` compatible `-dumpmachine` option. Cross-compilation worked but because of this bug, `isadump` and `isaset` x86 ISA specific tools were built for PCC and ARM. This run-time issue became a compile-time issue when `glibc` 2.30 removed the `sys/io.h` I/O port functions on ARM. Also renamed `MACHINE` to `ARCH` to match cross-compiler conventions for specifying the target architecture. For example, `make ARCH=arm CC=arm-linux-gnueabi-gcc AR=arm-linux-gnueabi-ar` Fixes #190 Signed-off-by: Lucas Magasweran <lucas.magasweran@ieee.org> Reported-and-tested-by: Millhouse <milhouse@libreelec.tv>
This commit is contained in:
1 parent
5573d9d942
commit
0863eff8fa
1 file changed
+2
-2
@@ -77,7 +77,7 @@ LIBINCLUDEDIR := $(INCLUDEDIR)/sensors
|
||||
# manual pages will be installed.
|
||||
MANDIR := $(PREFIX)/man
|
||||
|
||||
MACHINE := $(shell uname -m)
|
||||
ARCH := $(firstword $(subst -, ,$(shell $(CC) -dumpmachine)))
|
||||
|
||||
# Extra non-default programs to build; e.g., sensord
|
||||
#PROG_EXTRA := sensord
|
||||
@@ -109,7 +109,7 @@ BUILD_STATIC_LIB := 1
|
||||
SRCDIRS := lib prog/detect prog/pwm \
|
||||
prog/sensors ${PROG_EXTRA:%=prog/%} etc
|
||||
# Only build isadump and isaset on x86 machines.
|
||||
ifneq (,$(findstring $(MACHINE), i386 i486 i586 i686 x86_64))
|
||||
ifneq (,$(findstring $(ARCH), i386 i486 i586 i686 x86_64))
|
||||
SRCDIRS += prog/dump
|
||||
endif
|
||||
SRCDIRS += lib/test
|
||||
|
||||
Reference in new issue
Block a user