bcdb107d719e570237b9c56c3707cc37ef37b127
[coreboot.git] / util / superiotool / Makefile
1 ##
2 ## This file is part of the superiotool project.
3 ##
4 ## Copyright (C) 2007-2010 Uwe Hermann <uwe@hermann-uwe.de>
5 ##
6 ## This program is free software; you can redistribute it and/or modify
7 ## it under the terms of the GNU General Public License as published by
8 ## the Free Software Foundation; either version 2 of the License, or
9 ## (at your option) any later version.
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 = superiotool
22
23 CC      = gcc
24 INSTALL = /usr/bin/install
25 PREFIX  = /usr/local
26
27 # Set the superiotool version string from the highest revision number
28 # of the checked out superiotool files.
29 SVNDEF := -D'SUPERIOTOOL_VERSION="$(shell svnversion -cn . \
30           | sed -e "s/.*://" -e "s/\([0-9]*\).*/\1/")"'
31
32 CFLAGS += -O2 -Wall -Werror -Wstrict-prototypes -Wundef -Wstrict-aliasing \
33          -Werror-implicit-function-declaration -ansi -pedantic $(SVNDEF)
34 LDFLAGS += -lz
35
36 OBJS = superiotool.o ali.o fintek.o ite.o nsc.o nuvoton.o smsc.o winbond.o
37
38 OS_ARCH = $(shell uname)
39 ifeq ($(OS_ARCH), Darwin)
40 LIBS = -framework IOKit -framework DirectIO -lpci -lz
41 endif
42 ifeq ($(OS_ARCH), FreeBSD)
43 CFLAGS = -O2 -Wall -Werror -Wstrict-prototypes -Wundef -Wstrict-aliasing \
44          -Werror-implicit-function-declaration -ansi $(SVNDEF) \
45          -I/usr/local/include
46 LDFLAGS += -L/usr/local/lib
47 LIBS = -lz
48 endif
49 ifeq ($(OS_ARCH), NetBSD)
50 LDFLAGS = -l$(shell uname -p)
51 endif
52
53 # Support for PCI-attached "Super I/Os" (e.g. in VIA VT82686A/B).
54 CONFIG_PCI = yes
55
56 ifeq ($(CONFIG_PCI), yes)
57 CFLAGS += -DPCI_SUPPORT
58 LIBS += -lpci
59 OBJS += pci.o via.o
60 endif
61
62 all: $(PROGRAM)
63
64 superiotool.o: *.c superiotool.h
65
66 $(PROGRAM): $(OBJS) superiotool.h
67         $(CC) $(LDFLAGS) -o $(PROGRAM) $(OBJS) $(LIBS)
68
69 install: $(PROGRAM)
70         mkdir -p $(DESTDIR)$(PREFIX)/sbin
71         $(INSTALL) $(PROGRAM) $(DESTDIR)$(PREFIX)/sbin
72         mkdir -p $(DESTDIR)$(PREFIX)/share/man/man8
73         $(INSTALL) $(PROGRAM).8 $(DESTDIR)$(PREFIX)/share/man/man8
74
75 clean:
76         rm -f $(PROGRAM) *.o
77
78 .PHONY: all install clean
79