/ util / nvramtool / Makefile
Makefile
 1  ##
 2  ## Makefile for nvram utility
 3  ##
 4  ## (C) 2005-2008 coresystems GmbH
 5  ## written by Stefan Reinauer <stepan@coresystems.de>
 6  ##
 7  ## SPDX-License-Identifier: GPL-2.0-only
 8  
 9  PROGRAM = nvramtool
10  
11  CC     ?= gcc
12  INSTALL = /usr/bin/env install
13  PREFIX  = /usr/local
14  CFLAGS  = -O2 -g -Wall -Wextra -Wmissing-prototypes -I. -DCMOS_HAL=1
15  #CFLAGS  = -Os -Wall
16  
17  CLI_OBJS = cli/nvramtool.o cli/opts.o
18  
19  OBJS =  cmos_lowlevel.o cmos_ops.o common.o compute_ip_checksum.o \
20  	hexdump.o input_file.o layout.o accessors/layout-common.o accessors/layout-text.o accessors/layout-bin.o lbtable.o   \
21  	reg_expr.o cbfs.o accessors/cmos-hw-unix.o accessors/cmos-mem.o
22  
23  OBJS += $(CLI_OBJS)
24  
25  OS_ARCH        = $(shell uname)
26  ifeq ($(OS_ARCH), Darwin)
27  LDFLAGS = -framework DirectHW
28  endif
29  ifeq ($(OS_ARCH),$(filter $(OS_ARCH),NetBSD OpenBSD))
30  LDFLAGS = -l$(shell uname -p)
31  endif
32  ifeq ($(shell uname -o 2>/dev/null), Cygwin)
33  LDFLAGS = -lioperm
34  CFLAGS += -D__GLIBC__
35  endif
36  
37  all: dep $(PROGRAM)
38  
39  $(PROGRAM): $(OBJS)
40  	$(CC) -o $(PROGRAM) $(OBJS) $(LDFLAGS) $(CFLAGS)
41  
42  clean:
43  	rm -f $(PROGRAM) $(OBJS) junit.xml
44  
45  distclean: clean
46  	rm -f .dependencies
47  
48  dep:
49  	@$(CC) -MM -MG *.c > .dependencies
50  
51  install: $(PROGRAM)
52  	mkdir -p $(DESTDIR)$(PREFIX)/sbin
53  	$(INSTALL) $(PROGRAM) $(DESTDIR)$(PREFIX)/sbin
54  	mkdir -p $(DESTDIR)$(PREFIX)/share/man/man8
55  	$(INSTALL) -p -m644 cli/$(PROGRAM).8 $(DESTDIR)$(PREFIX)/share/man/man8
56  
57  .PHONY: all clean distclean dep
58  
59  -include .dependencies