superiotool: add detection and dump of Infineon SLB9635 TPM
[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 -Wstrict-prototypes -Wundef -Wstrict-aliasing \
33          -Werror-implicit-function-declaration -ansi -pedantic $(SVNDEF)
34 LDFLAGS += -lz
35
36 OBJS = superiotool.o serverengines.o ali.o fintek.o ite.o nsc.o nuvoton.o \
37        smsc.o winbond.o infineon.o
38
39 OS_ARCH = $(shell uname)
40 ifeq ($(OS_ARCH), Darwin)
41 LIBS = -framework IOKit -framework DirectHW -lpci -lz
42 endif
43 ifeq ($(OS_ARCH), FreeBSD)
44 CFLAGS = -O2 -Wall -Werror -Wstrict-prototypes -Wundef -Wstrict-aliasing \
45          -Werror-implicit-function-declaration -ansi $(SVNDEF) \
46          -I/usr/local/include
47 LDFLAGS += -L/usr/local/lib
48 LIBS = -lz
49 endif
50 ifeq ($(OS_ARCH), NetBSD)
51 LDFLAGS = -l$(shell uname -p)
52 endif
53
54 # Support for PCI-attached "Super I/Os" (e.g. in VIA VT82686A/B).
55 CONFIG_PCI = yes
56
57 ifeq ($(CONFIG_PCI), yes)
58 CFLAGS += -DPCI_SUPPORT
59 LIBS += -lpci
60 OBJS += pci.o via.o amd.o
61 endif
62
63 all: $(PROGRAM)
64
65 superiotool.o: *.c superiotool.h
66
67 $(PROGRAM): $(OBJS) superiotool.h
68         $(CC) $(LDFLAGS) -o $(PROGRAM) $(OBJS) $(LIBS)
69
70 install: $(PROGRAM)
71         mkdir -p $(DESTDIR)$(PREFIX)/sbin
72         $(INSTALL) $(PROGRAM) $(DESTDIR)$(PREFIX)/sbin
73         mkdir -p $(DESTDIR)$(PREFIX)/share/man/man8
74         $(INSTALL) $(PROGRAM).8 $(DESTDIR)$(PREFIX)/share/man/man8
75
76 clean:
77         rm -f $(PROGRAM) *.o
78
79 .PHONY: all install clean
80