Gaurav Shah | bf6c4a7 | 2010-03-05 10:58:48 -0800 | [diff] [blame] | 1 | # 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 | |
| 5 | TPM_NVTOOL = tpm-nvtool |
| 6 | |
| 7 | OSNAME = $(shell uname) |
| 8 | |
Luigi Semenzato | c840b7d | 2010-03-10 21:58:29 -0800 | [diff] [blame] | 9 | CC ?= gcc |
Mike Frysinger | 0cba6ca | 2013-07-02 22:27:26 -0400 | [diff] [blame] | 10 | CPPFLAGS += -I. |
| 11 | CFLAGS += -Wall -g |
Gaurav Shah | bf6c4a7 | 2010-03-05 10:58:48 -0800 | [diff] [blame] | 12 | LIBS = -ltspi |
| 13 | |
| 14 | ifeq ($(OSNAME), Darwin) |
Mike Frysinger | 0cba6ca | 2013-07-02 22:27:26 -0400 | [diff] [blame] | 15 | CPPFLAGS += -arch i386 |
| 16 | LDFLAGS += -arch i386 |
Gaurav Shah | bf6c4a7 | 2010-03-05 10:58:48 -0800 | [diff] [blame] | 17 | LIBS += -liconv |
Gaurav Shah | bf6c4a7 | 2010-03-05 10:58:48 -0800 | [diff] [blame] | 18 | endif |
| 19 | |
| 20 | TPM_NVTOOL_OBJS = main.o \ |
| 21 | tpm_nv.o \ |
| 22 | tpm_nv_common.o |
| 23 | |
| 24 | all: pre-build $(TPM_NVTOOL) |
| 25 | |
| 26 | pre-build: |
| 27 | @/bin/sh ./help/help-gen.sh |
| 28 | |
| 29 | $(TPM_NVTOOL): $(TPM_NVTOOL_OBJS) |
Mike Frysinger | 0cba6ca | 2013-07-02 22:27:26 -0400 | [diff] [blame] | 30 | $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) |
Gaurav Shah | bf6c4a7 | 2010-03-05 10:58:48 -0800 | [diff] [blame] | 31 | |
| 32 | -include $(OBJS:.o=.d) |
| 33 | |
| 34 | %.o: %.c |
Mike Frysinger | 0cba6ca | 2013-07-02 22:27:26 -0400 | [diff] [blame] | 35 | $(CC) $(CFLAGS) $(CPPFLAGS) $*.c -c -o $*.o |
| 36 | $(CC) $(CFLAGS) $(CPPFLAGS) -MM $*.c > $*.d |
Gaurav Shah | bf6c4a7 | 2010-03-05 10:58:48 -0800 | [diff] [blame] | 37 | @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 | |
| 42 | clean: |
| 43 | rm -f $(TPM_NVTOOL) *.o *.d help/help.h |