xref: /aosp_15_r20/external/coreboot/util/ectool/Makefile (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1## SPDX-License-Identifier: GPL-2.0-only
2
3CC ?= gcc
4WERROR=-Werror
5CFLAGS = -O2 -Wall -Wextra -Wshadow $(WERROR)
6PROGRAM = ectool
7INSTALL ?= /usr/bin/env install
8PREFIX  ?= /usr/local
9OS_ARCH ?= $(shell uname)
10
11ifeq ($(shell uname -o 2>/dev/null), Cygwin)
12LDFLAGS = -lioperm
13endif
14
15ifeq ($(OS_ARCH), $(filter $(OS_ARCH), NetBSD OpenBSD))
16LDFLAGS = -l$(shell uname -p)
17endif
18
19all: $(PROGRAM)
20
21$(PROGRAM): ec.o ectool.o
22	$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
23
24install: $(PROGRAM)
25	$(INSTALL) -d $(DESTDIR)$(PREFIX)/sbin
26	$(INSTALL) $(PROGRAM) $(DESTDIR)$(PREFIX)/sbin
27
28clean:
29	rm -f *.o $(PROGRAM) junit.xml
30
31distclean: clean
32
33%.o: %.c
34	$(CC) $(CFLAGS) -c $^ -I. -o $@
35
36help:
37	@echo "${PROGRAM}: Dump RAM of Embedded Controller (EC)"
38	@echo "Targets: all, clean, distclean, help, install"
39	@echo "To disable warnings as errors, run make as:"
40	@echo "  make all WERROR=\"\""
41
42.PHONY: all clean distclean help install
43