blob: 393969af46fa423cac8bc70c7b87a778100ffb4f [file] [log] [blame]
Vadim Bendebury08c04c52019-02-05 11:54:08 -08001# Copyright 2016 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
nagendra modadugu4fae5422016-05-10 16:11:54 -07005obj ?= ./build
6CROSS_COMPILE ?=
7CC ?= $(CROSS_COMPILE)gcc
8AR ?= $(CROSS_COMPILE)ar
9
10SOURCES = hmac.c
11SOURCES += p256.c
12SOURCES += p256_ec.c
13SOURCES += p256_ecdsa.c
14SOURCES += p256_prng.c
15SOURCES += sha.c
16SOURCES += sha256.c
nagendra modadugu6283eee2016-12-13 10:23:48 -080017ifeq ($(CONFIG_UPTO_SHA512),y)
nagendra modaduguc0fe8362016-12-08 14:43:06 -080018SOURCES += sha384.c
19SOURCES += sha512.c
20endif
nagendra modadugu7c350b92016-10-18 15:13:05 -070021SOURCES += util.c
nagendra modadugu4fae5422016-05-10 16:11:54 -070022
23# Use V=1 for verbose output
24ifeq ($(V),)
25Q := @
26else
27Q :=
28endif
29
30CFLAGS += -Iinclude
31CFLAGS += -Wall -Werror
nagendra modadugu5319e832016-05-25 13:48:49 -070032CFLAGS += -DTHIRD_PARTY
nagendra modadugu6283eee2016-12-13 10:23:48 -080033ifeq ($(CONFIG_UPTO_SHA512),y)
34CFLAGS += -DSHA512_SUPPORT
35endif
nagendra modadugu4fae5422016-05-10 16:11:54 -070036
Vadim Bendeburyb256f392019-02-06 15:29:58 -080037OBJS := $(patsubst %.c,$(obj)/%.o,$(SOURCES))
38DEPS := $(patsubst %.c,$(obj)/%.d,$(SOURCES))
nagendra modadugu4fae5422016-05-10 16:11:54 -070039
40# This is the default target
41$(obj)/libcryptoc.a: $(OBJS)
42 @echo " AR $(notdir $@)"
43 $(Q)$(AR) scr $@ $^
44
Vadim Bendeburyb256f392019-02-06 15:29:58 -080045# Special target which allows to trigger re-compiling of all sources without
46# linking a library.
47objs: $(OBJS)
48
nagendra modadugu4fae5422016-05-10 16:11:54 -070049$(obj):
50 @echo " MKDIR $(obj)"
51 $(Q)mkdir -p $(obj)
52
53$(obj)/%.d $(obj)/%.o: %.c | $(obj)
54 @echo " CC $(notdir $<)"
55 $(Q)$(CC) $(CFLAGS) -c -MMD -MF $(basename $@).d -o $(basename $@).o $<
56
57.PHONY: clean
58clean:
59 @echo " RM $(obj)"
60 $(Q)rm -rf $(obj)
61
62ifneq ($(MAKECMDGOALS),clean)
63-include $(DEPS)
64endif