blob: 19dbee73a804ede4aca60eaf8fe425ad37028e3f [file] [log] [blame]
Gaurav Shahbf6c4a72010-03-05 10:58:48 -08001# Copyright (c) 2009,2010 The Chromium OS Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5TPM_NVTOOL = tpm-nvtool
6
7OSNAME = $(shell uname)
8
Luigi Semenzatoc840b7d2010-03-10 21:58:29 -08009CC ?= gcc
Mike Frysinger0cba6ca2013-07-02 22:27:26 -040010CPPFLAGS += -I.
11CFLAGS += -Wall -g
Gaurav Shahbf6c4a72010-03-05 10:58:48 -080012LIBS = -ltspi
13
14ifeq ($(OSNAME), Darwin)
Mike Frysinger0cba6ca2013-07-02 22:27:26 -040015CPPFLAGS += -arch i386
16LDFLAGS += -arch i386
Gaurav Shahbf6c4a72010-03-05 10:58:48 -080017LIBS += -liconv
Gaurav Shahbf6c4a72010-03-05 10:58:48 -080018endif
19
20TPM_NVTOOL_OBJS = main.o \
21 tpm_nv.o \
22 tpm_nv_common.o
23
24all: pre-build $(TPM_NVTOOL)
25
26pre-build:
27 @/bin/sh ./help/help-gen.sh
28
29$(TPM_NVTOOL): $(TPM_NVTOOL_OBJS)
Mike Frysinger0cba6ca2013-07-02 22:27:26 -040030 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)
Gaurav Shahbf6c4a72010-03-05 10:58:48 -080031
32-include $(OBJS:.o=.d)
33
34%.o: %.c
Mike Frysinger0cba6ca2013-07-02 22:27:26 -040035 $(CC) $(CFLAGS) $(CPPFLAGS) $*.c -c -o $*.o
36 $(CC) $(CFLAGS) $(CPPFLAGS) -MM $*.c > $*.d
Gaurav Shahbf6c4a72010-03-05 10:58:48 -080037 @mv -f $*.d $*.d.tmp
38 @sed -e 's|.*:|$*.o:|' < $*.d.tmp > $*.d
39 @sed -e 's/.*://' -e 's/\\$$//' < $*.d.tmp | fmt -1 | sed -e 's/^ *//' -e 's/$$/:/' >> $*.d
40 @rm -f $*.d.tmp
41
42clean:
43 rm -f $(TPM_NVTOOL) *.o *.d help/help.h