Stefan Reinauer | 6559f43 | 2010-12-17 00:13:54 +0000 | [diff] [blame] | 1 | ## |
| 2 | ## Makefile for nvram utility |
| 3 | ## |
| 4 | ## (C) 2005-2008 coresystems GmbH |
| 5 | ## written by Stefan Reinauer <stepan@coresystems.de> |
| 6 | ## |
Patrick Georgi | 7333a11 | 2020-05-08 20:48:04 +0200 | [diff] [blame] | 7 | ## SPDX-License-Identifier: GPL-2.0-only |
Stefan Reinauer | 6540ae5 | 2007-07-12 16:35:42 +0000 | [diff] [blame] | 8 | |
Stefan Reinauer | a67aab7 | 2008-09-27 10:08:28 +0000 | [diff] [blame] | 9 | PROGRAM = nvramtool |
Stefan Reinauer | 6540ae5 | 2007-07-12 16:35:42 +0000 | [diff] [blame] | 10 | |
Patrick Georgi | 3909908 | 2020-06-02 19:50:47 +0200 | [diff] [blame] | 11 | CC ?= gcc |
Yegor Timoshenko | c2e4941 | 2018-10-07 01:58:27 +0000 | [diff] [blame] | 12 | INSTALL = /usr/bin/env install |
Stefan Reinauer | a67aab7 | 2008-09-27 10:08:28 +0000 | [diff] [blame] | 13 | PREFIX = /usr/local |
Jacob Garber | 52f0e84 | 2019-07-19 12:27:27 -0600 | [diff] [blame] | 14 | CFLAGS = -O2 -g -Wall -Wextra -Wmissing-prototypes -I. -DCMOS_HAL=1 |
Stefan Reinauer | a67aab7 | 2008-09-27 10:08:28 +0000 | [diff] [blame] | 15 | #CFLAGS = -Os -Wall |
Stefan Reinauer | 6540ae5 | 2007-07-12 16:35:42 +0000 | [diff] [blame] | 16 | |
Patrick Georgi | c6d2b09 | 2011-01-28 07:47:10 +0000 | [diff] [blame] | 17 | CLI_OBJS = cli/nvramtool.o cli/opts.o |
| 18 | |
Stefan Reinauer | a67aab7 | 2008-09-27 10:08:28 +0000 | [diff] [blame] | 19 | OBJS = cmos_lowlevel.o cmos_ops.o common.o compute_ip_checksum.o \ |
Vikram Narayanan | a8111cf | 2012-04-14 15:25:13 +0530 | [diff] [blame] | 20 | hexdump.o input_file.o layout.o accessors/layout-common.o accessors/layout-text.o accessors/layout-bin.o lbtable.o \ |
Patrick Georgi | 1e916e0 | 2011-01-28 07:54:11 +0000 | [diff] [blame] | 21 | reg_expr.o cbfs.o accessors/cmos-hw-unix.o accessors/cmos-mem.o |
Patrick Georgi | c6d2b09 | 2011-01-28 07:47:10 +0000 | [diff] [blame] | 22 | |
| 23 | OBJS += $(CLI_OBJS) |
Stefan Reinauer | 6540ae5 | 2007-07-12 16:35:42 +0000 | [diff] [blame] | 24 | |
Stefan Reinauer | 4db6cbd | 2009-09-01 09:54:21 +0000 | [diff] [blame] | 25 | OS_ARCH = $(shell uname) |
| 26 | ifeq ($(OS_ARCH), Darwin) |
Stefan Reinauer | cff573d | 2011-03-18 22:08:39 +0000 | [diff] [blame] | 27 | LDFLAGS = -framework DirectHW |
Stefan Reinauer | 4db6cbd | 2009-09-01 09:54:21 +0000 | [diff] [blame] | 28 | endif |
Piotr Kubaj | 1b36c9d | 2017-05-17 20:33:47 +0200 | [diff] [blame] | 29 | ifeq ($(OS_ARCH),$(filter $(OS_ARCH),NetBSD OpenBSD)) |
jakllsch | b0c94a1 | 2011-02-08 16:07:49 +0000 | [diff] [blame] | 30 | LDFLAGS = -l$(shell uname -p) |
| 31 | endif |
Zheng Bao | b13e94c | 2012-09-28 16:02:35 +0800 | [diff] [blame] | 32 | ifeq ($(shell uname -o 2>/dev/null), Cygwin) |
Raymond Danks | a293714 | 2012-04-27 08:46:55 -0600 | [diff] [blame] | 33 | LDFLAGS = -lioperm |
| 34 | CFLAGS += -D__GLIBC__ |
| 35 | endif |
Stefan Reinauer | 4db6cbd | 2009-09-01 09:54:21 +0000 | [diff] [blame] | 36 | |
Stefan Reinauer | a67aab7 | 2008-09-27 10:08:28 +0000 | [diff] [blame] | 37 | all: dep $(PROGRAM) |
Stefan Reinauer | 6540ae5 | 2007-07-12 16:35:42 +0000 | [diff] [blame] | 38 | |
Stefan Reinauer | a67aab7 | 2008-09-27 10:08:28 +0000 | [diff] [blame] | 39 | $(PROGRAM): $(OBJS) |
Rudolf Marek | 6e29665 | 2011-01-24 21:05:53 +0000 | [diff] [blame] | 40 | $(CC) -o $(PROGRAM) $(OBJS) $(LDFLAGS) $(CFLAGS) |
Stefan Reinauer | 6540ae5 | 2007-07-12 16:35:42 +0000 | [diff] [blame] | 41 | |
| 42 | clean: |
Martin Roth | 0be83c0 | 2015-10-21 14:50:00 -0600 | [diff] [blame] | 43 | rm -f $(PROGRAM) $(OBJS) junit.xml |
Stefan Reinauer | 6540ae5 | 2007-07-12 16:35:42 +0000 | [diff] [blame] | 44 | |
Stefan Reinauer | a67aab7 | 2008-09-27 10:08:28 +0000 | [diff] [blame] | 45 | distclean: clean |
| 46 | rm -f .dependencies |
| 47 | |
| 48 | dep: |
Yunlian Jiang | 063c7c5 | 2013-08-09 11:24:00 -0700 | [diff] [blame] | 49 | @$(CC) -MM -MG *.c > .dependencies |
Stefan Reinauer | a67aab7 | 2008-09-27 10:08:28 +0000 | [diff] [blame] | 50 | |
| 51 | install: $(PROGRAM) |
Stefan Reinauer | 4db6cbd | 2009-09-01 09:54:21 +0000 | [diff] [blame] | 52 | mkdir -p $(DESTDIR)$(PREFIX)/sbin |
| 53 | $(INSTALL) $(PROGRAM) $(DESTDIR)$(PREFIX)/sbin |
| 54 | mkdir -p $(DESTDIR)$(PREFIX)/share/man/man8 |
Lubomir Rintel | ba1f9aa | 2014-01-28 16:52:48 +0000 | [diff] [blame] | 55 | $(INSTALL) -p -m644 cli/$(PROGRAM).8 $(DESTDIR)$(PREFIX)/share/man/man8 |
Stefan Reinauer | a67aab7 | 2008-09-27 10:08:28 +0000 | [diff] [blame] | 56 | |
| 57 | .PHONY: all clean distclean dep |
| 58 | |
| 59 | -include .dependencies |