Vadim Bendebury | 08c04c5 | 2019-02-05 11:54:08 -0800 | [diff] [blame] | 1 | # 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 modadugu | 4fae542 | 2016-05-10 16:11:54 -0700 | [diff] [blame] | 5 | obj ?= ./build |
| 6 | CROSS_COMPILE ?= |
| 7 | CC ?= $(CROSS_COMPILE)gcc |
| 8 | AR ?= $(CROSS_COMPILE)ar |
| 9 | |
| 10 | SOURCES = hmac.c |
nagendra modadugu | 793cf59 | 2019-10-09 14:07:05 -0700 | [diff] [blame] | 11 | SOURCES += md5.c |
nagendra modadugu | 4fae542 | 2016-05-10 16:11:54 -0700 | [diff] [blame] | 12 | SOURCES += p256.c |
| 13 | SOURCES += p256_ec.c |
| 14 | SOURCES += p256_ecdsa.c |
| 15 | SOURCES += p256_prng.c |
| 16 | SOURCES += sha.c |
nagendra modadugu | 793cf59 | 2019-10-09 14:07:05 -0700 | [diff] [blame] | 17 | SOURCES += sha224.c |
nagendra modadugu | 4fae542 | 2016-05-10 16:11:54 -0700 | [diff] [blame] | 18 | SOURCES += sha256.c |
nagendra modadugu | 6283eee | 2016-12-13 10:23:48 -0800 | [diff] [blame] | 19 | ifeq ($(CONFIG_UPTO_SHA512),y) |
nagendra modadugu | c0fe836 | 2016-12-08 14:43:06 -0800 | [diff] [blame] | 20 | SOURCES += sha384.c |
| 21 | SOURCES += sha512.c |
| 22 | endif |
nagendra modadugu | 7c350b9 | 2016-10-18 15:13:05 -0700 | [diff] [blame] | 23 | SOURCES += util.c |
nagendra modadugu | 4fae542 | 2016-05-10 16:11:54 -0700 | [diff] [blame] | 24 | |
| 25 | # Use V=1 for verbose output |
| 26 | ifeq ($(V),) |
| 27 | Q := @ |
| 28 | else |
| 29 | Q := |
| 30 | endif |
| 31 | |
| 32 | CFLAGS += -Iinclude |
| 33 | CFLAGS += -Wall -Werror |
nagendra modadugu | 5319e83 | 2016-05-25 13:48:49 -0700 | [diff] [blame] | 34 | CFLAGS += -DTHIRD_PARTY |
nagendra modadugu | 6283eee | 2016-12-13 10:23:48 -0800 | [diff] [blame] | 35 | ifeq ($(CONFIG_UPTO_SHA512),y) |
| 36 | CFLAGS += -DSHA512_SUPPORT |
| 37 | endif |
nagendra modadugu | 4fae542 | 2016-05-10 16:11:54 -0700 | [diff] [blame] | 38 | |
Vadim Bendebury | b256f39 | 2019-02-06 15:29:58 -0800 | [diff] [blame] | 39 | OBJS := $(patsubst %.c,$(obj)/%.o,$(SOURCES)) |
| 40 | DEPS := $(patsubst %.c,$(obj)/%.d,$(SOURCES)) |
nagendra modadugu | 4fae542 | 2016-05-10 16:11:54 -0700 | [diff] [blame] | 41 | |
| 42 | # This is the default target |
| 43 | $(obj)/libcryptoc.a: $(OBJS) |
| 44 | @echo " AR $(notdir $@)" |
| 45 | $(Q)$(AR) scr $@ $^ |
| 46 | |
Vadim Bendebury | b256f39 | 2019-02-06 15:29:58 -0800 | [diff] [blame] | 47 | # Special target which allows to trigger re-compiling of all sources without |
| 48 | # linking a library. |
| 49 | objs: $(OBJS) |
| 50 | |
nagendra modadugu | 4fae542 | 2016-05-10 16:11:54 -0700 | [diff] [blame] | 51 | $(obj): |
| 52 | @echo " MKDIR $(obj)" |
| 53 | $(Q)mkdir -p $(obj) |
| 54 | |
| 55 | $(obj)/%.d $(obj)/%.o: %.c | $(obj) |
| 56 | @echo " CC $(notdir $<)" |
Vadim Bendebury | 51c319f | 2020-02-06 11:44:03 -0800 | [diff] [blame] | 57 | $(Q)$(CC) $(CFLAGS) -c -MMD -MF $(basename $@).d -MT $(basename $@).o \ |
| 58 | -o $(basename $@).o $< |
nagendra modadugu | 4fae542 | 2016-05-10 16:11:54 -0700 | [diff] [blame] | 59 | |
| 60 | .PHONY: clean |
| 61 | clean: |
| 62 | @echo " RM $(obj)" |
| 63 | $(Q)rm -rf $(obj) |
| 64 | |
| 65 | ifneq ($(MAKECMDGOALS),clean) |
| 66 | -include $(DEPS) |
| 67 | endif |