summaryrefslogtreecommitdiff
path: root/test/tpm_test/Makefile
blob: 164b77e0836a04cad5e762d338459358b30e372c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# Copyright 2015 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

ifeq ($(V),)
Q := @
else
Q :=
endif

obj = ../../build/tpm_test
src = .
SWIG = /usr/bin/swig

vpath %c $(src) ../../chip/g/dcrypto $(src)/testlib

CFLAGS = -fPIC
CFLAGS += -I /usr/include/python2.7
CFLAGS += -I../../../../third_party/cryptoc/include
CFLAGS += -I../../chip/g/dcrypto
CFLAGS += -I.
CFLAGS += -Itestlib
CFLAGS += -DLIBFTDI1=1
CFLAGS += -c
CFLAGS += -DCR50_NO_BN_ASM
TARGET = ftdi_spi_tpm

.PRECIOUS: $(obj)/ftdi_spi_tpm_wrap.c

all: $(obj)/_$(TARGET).so $(obj)/bn_test

BN_OBJS = $(obj)/bn_test.o $(obj)/common.o $(obj)/bn.o

OBJS = $(obj)/$(TARGET).o $(obj)/$(TARGET)_wrap.o $(obj)/mpsse.o \
	$(obj)/support.o

DEPS := $(OBJS:.o=.o.d) $(BN_OBJS:.o=.o.d)

$(OBJS) $(BN_OBJS): | $(obj)

$(obj)/%.o: $(obj)/%.c
	@echo "  CC      $(notdir $@)"
	$(Q)gcc $(CFLAGS) -o $@ $<

$(obj)/%.o: %.c
	@echo "  CC      $(notdir $@)"
	$(Q)gcc $(CFLAGS) -Wall -Werror -MMD -MF $@.d -o $@ $<

$(obj)/_$(TARGET).so: $(OBJS) $(obj)/$(TARGET).py
	@echo "  LD      $(notdir $@)"
	$(Q)rm -f $@
	$(Q)gcc -shared $(OBJS) -lftdi1 -o $@

$(obj)/%_wrap.c: $(src)/%.i
	@echo "  SWIG    $(notdir $@)"
	$(Q)swig -python -outdir $(obj) -o $@ $<

clean:
	@rm -rf $(obj)/

$(obj):
	@echo "  MKDIR   $(obj)"
	$(Q)mkdir -p $(obj)

$(obj)/bn_test: $(BN_OBJS)
	@echo "  LD      $(notdir $@)"
	$(Q)$(CC) -o $@ $^ -lcrypto

-include $(DEPS)