ff9072e2b64093f854e58a9a2cb7fe47cab196ac
[coreboot.git] / util / nvramtool / Makefile
1 ##
2 ## Makefile for nvram utility
3 ##
4 ## (C) 2005-2008 coresystems GmbH
5 ## written by Stefan Reinauer <stepan@coresystems.de>
6 ##
7 ## This program is free software; you can redistribute it and/or modify
8 ## it under the terms of the GNU General Public License as published by
9 ## the Free Software Foundation; version 2 of the License.
10 ##
11 ## This program is distributed in the hope that it will be useful,
12 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
13 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 ## GNU General Public License for more details.
15 ##
16 ## You should have received a copy of the GNU General Public License
17 ## along with this program; if not, write to the Free Software
18 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
19 ##
20
21 PROGRAM = nvramtool
22
23 CC      = gcc
24 STRIP   = strip
25 INSTALL = /usr/bin/install
26 PREFIX  = /usr/local
27 CFLAGS  = -O2 -g -Wall -W -I.
28 #CFLAGS  = -Os -Wall
29
30 CLI_OBJS = cli/nvramtool.o cli/opts.o
31
32 OBJS =  cmos_lowlevel.o cmos_ops.o common.o compute_ip_checksum.o \
33         hexdump.o input_file.o layout.o accessors/layout-text.o lbtable.o   \
34         reg_expr.o cbfs.o
35
36 OBJS += $(CLI_OBJS)
37
38 OS_ARCH        = $(shell uname)
39 ifeq ($(OS_ARCH), Darwin)
40 LDFLAGS = -framework DirectIO
41 endif
42
43 all: dep $(PROGRAM)
44
45 $(PROGRAM): $(OBJS)
46         $(CC) -o $(PROGRAM) $(OBJS) $(LDFLAGS) $(CFLAGS)
47         $(STRIP) $(STRIP_ARGS) $(PROGRAM)
48
49 clean:
50         rm -f $(PROGRAM) $(OBJS)
51
52 distclean: clean
53         rm -f .dependencies
54
55 dep:
56         @$(CC) -MM *.c > .dependencies
57
58 install: $(PROGRAM)
59         mkdir -p $(DESTDIR)$(PREFIX)/sbin
60         $(INSTALL) $(PROGRAM) $(DESTDIR)$(PREFIX)/sbin
61         mkdir -p $(DESTDIR)$(PREFIX)/share/man/man8
62         $(INSTALL) cli/$(PROGRAM).8 $(DESTDIR)$(PREFIX)/share/man/man8
63
64 .PHONY: all clean distclean dep
65
66 -include .dependencies