Since some people disapprove of white space cleanups mixed in regular commits
[coreboot.git] / util / nvramtool / Makefile
index 5d9ddc0619f052fac60c318cd39fafc1fdb8a183..010c859b4f2a1d0ed9bfdfeb58f60e8e3df928eb 100644 (file)
@@ -1,28 +1,49 @@
-# $Id$
+#
+# Makefile for nvram utility
+#
+# (C) 2005-2008 coresystems GmbH
+# written by Stefan Reinauer <stepan@coresystems.de>
+#
 
-PROJECT = nvramtool
-CC = gcc
-CFLAGS = -O2 -W -Wall
-LDFLAGS =
-OBJS = common.o compute_ip_checksum.o hexdump.o cmos_lowlevel.o \
-       reg_expr.o layout.o layout_file.o lbtable.o cmos_ops.o input_file.o \
-       opts.o nvramtool.o
-HEADERS = common.h ip_checksum.h coreboot_tables.h hexdump.h \
-          cmos_lowlevel.h reg_expr.h layout.h layout_file.h lbtable.h \
-          cmos_ops.h input_file.h opts.h
+PROGRAM = nvramtool
 
-all: nvramtool man
+CC      = gcc
+STRIP  = strip
+INSTALL = /usr/bin/install
+PREFIX  = /usr/local
+CFLAGS  = -O2 -g -Wall -W
+#CFLAGS  = -Os -Wall
 
-nvramtool: $(OBJS)
-       $(CC) $(LDFLAGS) -o $@ $(OBJS)
+OBJS =  cmos_lowlevel.o cmos_ops.o common.o compute_ip_checksum.o \
+       hexdump.o input_file.o layout.o layout_file.o lbtable.o   \
+       nvramtool.o opts.o reg_expr.o
 
-man: nvramtool.1.gz
+OS_ARCH        = $(shell uname)
+ifeq ($(OS_ARCH), Darwin)
+LDFLAGS = -framework DirectIO
+endif
 
-$(OBJS): $(HEADERS)
+all: dep $(PROGRAM)
 
-nvramtool.1.gz: nvramtool.1
-       gzip -c --best nvramtool.1 > nvramtool.1.gz
+$(PROGRAM): $(OBJS)
+       $(CC) -o $(PROGRAM) $(OBJS) $(LDFLAGS)
+       $(STRIP) $(STRIP_ARGS) $(PROGRAM)
 
 clean:
-       rm -f *.o nvramtool nvramtool.1.gz
+       rm -f $(PROGRAM) *.o
 
+distclean: clean
+       rm -f .dependencies
+
+dep:
+       @$(CC) -MM *.c > .dependencies
+
+install: $(PROGRAM)
+       mkdir -p $(DESTDIR)$(PREFIX)/sbin
+       $(INSTALL) $(PROGRAM) $(DESTDIR)$(PREFIX)/sbin
+       mkdir -p $(DESTDIR)$(PREFIX)/share/man/man8
+       $(INSTALL) $(PROGRAM).8 $(DESTDIR)$(PREFIX)/share/man/man8
+
+.PHONY: all clean distclean dep
+
+-include .dependencies