blob: 863a53b769f3920380704b3125f341fe431f405b [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
nagendra modadugu793cf592019-10-09 14:07:05 -070011SOURCES += md5.c
nagendra modadugu4fae5422016-05-10 16:11:54 -070012SOURCES += p256.c
13SOURCES += p256_ec.c
14SOURCES += p256_ecdsa.c
15SOURCES += p256_prng.c
16SOURCES += sha.c
nagendra modadugu793cf592019-10-09 14:07:05 -070017SOURCES += sha224.c
nagendra modadugu4fae5422016-05-10 16:11:54 -070018SOURCES += sha256.c
nagendra modadugu6283eee2016-12-13 10:23:48 -080019ifeq ($(CONFIG_UPTO_SHA512),y)
nagendra modaduguc0fe8362016-12-08 14:43:06 -080020SOURCES += sha384.c
21SOURCES += sha512.c
22endif
nagendra modadugu7c350b92016-10-18 15:13:05 -070023SOURCES += util.c
nagendra modadugu4fae5422016-05-10 16:11:54 -070024
25# Use V=1 for verbose output
26ifeq ($(V),)
27Q := @
28else
29Q :=
30endif
31
32CFLAGS += -Iinclude
33CFLAGS += -Wall -Werror
nagendra modadugu5319e832016-05-25 13:48:49 -070034CFLAGS += -DTHIRD_PARTY
nagendra modadugu6283eee2016-12-13 10:23:48 -080035ifeq ($(CONFIG_UPTO_SHA512),y)
36CFLAGS += -DSHA512_SUPPORT
37endif
nagendra modadugu4fae5422016-05-10 16:11:54 -070038
Vadim Bendeburyb256f392019-02-06 15:29:58 -080039OBJS := $(patsubst %.c,$(obj)/%.o,$(SOURCES))
40DEPS := $(patsubst %.c,$(obj)/%.d,$(SOURCES))
nagendra modadugu4fae5422016-05-10 16:11:54 -070041
42# This is the default target
43$(obj)/libcryptoc.a: $(OBJS)
44 @echo " AR $(notdir $@)"
45 $(Q)$(AR) scr $@ $^
46
Vadim Bendeburyb256f392019-02-06 15:29:58 -080047# Special target which allows to trigger re-compiling of all sources without
48# linking a library.
49objs: $(OBJS)
50
nagendra modadugu4fae5422016-05-10 16:11:54 -070051$(obj):
52 @echo " MKDIR $(obj)"
53 $(Q)mkdir -p $(obj)
54
55$(obj)/%.d $(obj)/%.o: %.c | $(obj)
56 @echo " CC $(notdir $<)"
Vadim Bendebury51c319f2020-02-06 11:44:03 -080057 $(Q)$(CC) $(CFLAGS) -c -MMD -MF $(basename $@).d -MT $(basename $@).o \
58 -o $(basename $@).o $<
nagendra modadugu4fae5422016-05-10 16:11:54 -070059
60.PHONY: clean
61clean:
62 @echo " RM $(obj)"
63 $(Q)rm -rf $(obj)
64
65ifneq ($(MAKECMDGOALS),clean)
66-include $(DEPS)
67endif