blob: 983138f384b37c5fccda40e2824cd4f6cdefb439 [file] [log] [blame]
obj ?= ./build
CROSS_COMPILE ?=
CC ?= $(CROSS_COMPILE)gcc
AR ?= $(CROSS_COMPILE)ar
SOURCES = hmac.c
SOURCES += p256.c
SOURCES += p256_ec.c
SOURCES += p256_ecdsa.c
SOURCES += p256_prng.c
SOURCES += sha.c
SOURCES += sha256.c
ifeq ($(CONFIG_UPTO_SHA512),y)
SOURCES += sha384.c
SOURCES += sha512.c
endif
SOURCES += util.c
# Use V=1 for verbose output
ifeq ($(V),)
Q := @
else
Q :=
endif
CFLAGS += -Iinclude
CFLAGS += -Wall -Werror
CFLAGS += -DTHIRD_PARTY
ifeq ($(CONFIG_UPTO_SHA512),y)
CFLAGS += -DSHA512_SUPPORT
endif
OBJS = $(patsubst %.c,$(obj)/%.o,$(SOURCES))
DEPS = $(patsubst %.c,$(obj)/%.d,$(SOURCES))
# This is the default target
$(obj)/libcryptoc.a: $(OBJS)
@echo " AR $(notdir $@)"
$(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