-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathMakefile
68 lines (56 loc) · 1.42 KB
/
Makefile
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
TPM2_SRC ?= $(shell readlink -f ../tpm2)
obj ?= $(shell readlink -f ..)/build/tpm2_server
CC = $(CROSS_COMPILE)gcc
CFLAGS =
ifneq ($(DEBUG),)
CFLAGS += -g -O0
endif
CFLAGS += -I $(TPM2_SRC)
CFLAGS += -Wall
CFLAGS += -Wdeclaration-after-statement
CFLAGS += -Werror
CFLAGS += -Werror-implicit-function-declaration
CFLAGS += -Wmaybe-uninitialized
CFLAGS += -Wno-format-security
CFLAGS += -Wno-pointer-sign
CFLAGS += -Wno-trigraphs
CFLAGS += -Wstrict-prototypes
CFLAGS += -Wundef
CFLAGS += -Wuninitialized
CFLAGS += -c
CFLAGS += -fconserve-stack
CFLAGS += -fno-delete-null-pointer-checks
CFLAGS += -fno-strict-aliasing
CFLAGS += -fno-strict-overflow
CFLAGS += -fshort-wchar
# Use V=1 for verbose output
ifeq ($(V),)
Q := @
else
Q :=
endif
# This is the default target
all: $(obj)/ntpm
SOURCES = ftdi_spi_tpm.c mpsse.c ntpm.c support.c tpm2lib_wrapper.c
OBJS = $(patsubst %.c,$(obj)/%.o,$(SOURCES))
DEPS = $(patsubst %.c,$(obj)/%.d,$(SOURCES))
export V DEBUG CFLAGS
.PHONY: $(obj)/libtpm2.a
$(obj)/libtpm2.a:
make -C $(TPM2_SRC) obj=$(obj)
$(Q)$(AR) scr $@ $^
$(obj):
@echo " MKDIR $(obj)"
$(Q)mkdir -p $(obj)
$(obj)/%.d $(obj)/%.o: %.c | $(obj)
@echo " CC $(notdir $<)"
$(Q)$(CC) $(CFLAGS) -c -MMD -MF $(basename $@).d -o $(basename $@).o $<
.PHONY: clean
clean:
@echo " RM $(obj)"
$(Q)rm -rf $(obj)
ifneq ($(MAKECMDGOALS),clean)
-include $(DEPS)
endif
$(obj)/ntpm: $(OBJS) $(obj)/libtpm2.a
gcc -o $@ $^ -lftdi -lcrypto