blob: 1ef74d25f2713faeec21910e9a5c1c6880f4396e [file] [log] [blame]
Patrick Georgi7333a112020-05-08 20:48:04 +02001## SPDX-License-Identifier: GPL-2.0-only
Stefan Reinauerb5ab3232009-04-22 07:23:00 +00002
Uwe Hermann424638e2009-04-23 22:22:47 +00003CC = gcc
Martin Roth0bb62902021-02-16 16:52:46 -07004WERROR=-Werror
5CFLAGS = -O2 -Wall -Wextra -Wshadow $(WERROR)
Uwe Hermann424638e2009-04-23 22:22:47 +00006PROGRAM = ectool
Yegor Timoshenkoc2e49412018-10-07 01:58:27 +00007INSTALL = /usr/bin/env install
Uwe Hermann424638e2009-04-23 22:22:47 +00008PREFIX = /usr/local
Andrey Korolyov393d9322016-01-05 14:27:59 +03009OS_ARCH = $(shell uname)
Stefan Reinauerb5ab3232009-04-22 07:23:00 +000010
Andrey Korolyov393d9322016-01-05 14:27:59 +030011ifeq ($(shell uname -o 2>/dev/null), Cygwin)
Raymond Danks51b8f052012-04-27 08:51:02 -060012LDFLAGS = -lioperm
13endif
14
Steven Dee3236f7b2017-01-29 14:52:56 -050015ifeq ($(OS_ARCH), $(filter $(OS_ARCH), NetBSD OpenBSD))
Andrey Korolyov393d9322016-01-05 14:27:59 +030016LDFLAGS = -l$(shell uname -p)
17endif
18
Uwe Hermann424638e2009-04-23 22:22:47 +000019all: $(PROGRAM)
Stefan Reinauerb5ab3232009-04-22 07:23:00 +000020
Uwe Hermann424638e2009-04-23 22:22:47 +000021$(PROGRAM): ec.o ectool.o
Raymond Danks51b8f052012-04-27 08:51:02 -060022 $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
Uwe Hermann257ae3f2009-04-22 12:28:14 +000023
Uwe Hermann424638e2009-04-23 22:22:47 +000024install: $(PROGRAM)
25 $(INSTALL) $(PROGRAM) $(PREFIX)/sbin
26
Stefan Reinauerb5ab3232009-04-22 07:23:00 +000027clean:
Martin Roth0be83c02015-10-21 14:50:00 -060028 rm -f *.o $(PROGRAM) junit.xml
29
30distclean: clean
Stefan Reinauerb5ab3232009-04-22 07:23:00 +000031
32%.o: %.c
33 $(CC) $(CFLAGS) -c $^ -I. -o $@
Martin Roth0be83c02015-10-21 14:50:00 -060034
Martin Roth0bb62902021-02-16 16:52:46 -070035help:
36 @echo "${PROGRAM}: Dump RAM of Embedded Controller (EC)"
37 @echo "Targets: all, clean, distclean, help, install"
38 @echo "To disable warnings as errors, run make as:"
39 @echo " make all WERROR=\"\""
40
41.PHONY: all clean distclean help install