24858b0ba0
Build variables like CC, INSTALL, and PREFIX, should not be overwritten by the Makefile. This generates problems when we use different buildsystem like Yocto where tool names are stored in environment variables. This change may make building util tool easier - the user of different buildsystem will not have to remember to pass correct tool names during running the make command. Also, this change does not affect the rest of users - if the variable was not set before, then it will be configured as before. Signed-off-by: Maciej Gabryelski <maciej.gabryelski@3mdeb.com> Change-Id: If5c88bde0ae00f0211a250906cbdedfe4f59c67b Reviewed-on: https://review.coreboot.org/c/coreboot/+/70102 Reviewed-by: Nico Huber <nico.h@gmx.de> Reviewed-by: Michał Żygowski <michal.zygowski@3mdeb.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
42 lines
912 B
Makefile
42 lines
912 B
Makefile
## SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
CC ?= gcc
|
|
WERROR=-Werror
|
|
CFLAGS = -O2 -Wall -Wextra -Wshadow $(WERROR)
|
|
PROGRAM = ectool
|
|
INSTALL ?= /usr/bin/env install
|
|
PREFIX ?= /usr/local
|
|
OS_ARCH ?= $(shell uname)
|
|
|
|
ifeq ($(shell uname -o 2>/dev/null), Cygwin)
|
|
LDFLAGS = -lioperm
|
|
endif
|
|
|
|
ifeq ($(OS_ARCH), $(filter $(OS_ARCH), NetBSD OpenBSD))
|
|
LDFLAGS = -l$(shell uname -p)
|
|
endif
|
|
|
|
all: $(PROGRAM)
|
|
|
|
$(PROGRAM): ec.o ectool.o
|
|
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
|
|
|
|
install: $(PROGRAM)
|
|
$(INSTALL) -d $(DESTDIR)$(PREFIX)/sbin
|
|
$(INSTALL) $(PROGRAM) $(DESTDIR)$(PREFIX)/sbin
|
|
|
|
clean:
|
|
rm -f *.o $(PROGRAM) junit.xml
|
|
|
|
distclean: clean
|
|
|
|
%.o: %.c
|
|
$(CC) $(CFLAGS) -c $^ -I. -o $@
|
|
|
|
help:
|
|
@echo "${PROGRAM}: Dump RAM of Embedded Controller (EC)"
|
|
@echo "Targets: all, clean, distclean, help, install"
|
|
@echo "To disable warnings as errors, run make as:"
|
|
@echo " make all WERROR=\"\""
|
|
|
|
.PHONY: all clean distclean help install
|