refactor to use libsolo
This commit is contained in:
parent
a388607dab
commit
85365c635d
36
Makefile
36
Makefile
@ -9,37 +9,28 @@
|
|||||||
|
|
||||||
ecc_platform=2
|
ecc_platform=2
|
||||||
|
|
||||||
src = $(wildcard pc/*.c) $(wildcard fido2/*.c) $(wildcard fido2/extensions/*.c) \
|
src = pc/device.c # pc/main.c
|
||||||
$(wildcard crypto/sha256/*.c) crypto/tiny-AES-c/aes.c
|
|
||||||
|
|
||||||
obj = $(src:.c=.o) crypto/micro-ecc/uECC.o
|
obj = $(src:.c=.o)
|
||||||
|
|
||||||
LIBCBOR = tinycbor/lib/libtinycbor.a
|
LIBCBOR = tinycbor/lib/libtinycbor.a
|
||||||
|
LIBSOLO = fido2/libsolo.a
|
||||||
|
|
||||||
ifeq ($(shell uname -s),Darwin)
|
ifeq ($(shell uname -s),Darwin)
|
||||||
export LDFLAGS = -Wl,-dead_strip
|
export LDFLAGS = -Wl,-dead_strip
|
||||||
else
|
else
|
||||||
export LDFLAGS = -Wl,--gc-sections
|
export LDFLAGS = -Wl,--gc-sections
|
||||||
endif
|
endif
|
||||||
LDFLAGS += $(LIBCBOR)
|
LDFLAGS += $(LIBCBOR) $(LIBSOLO)
|
||||||
|
|
||||||
VERSION_FULL:=$(shell git describe)
|
|
||||||
VERSION:=$(shell python -c 'print("$(VERSION_FULL)".split("-")[0])')
|
|
||||||
VERSION_MAJ:=$(shell python -c 'print("$(VERSION)".split(".")[0])')
|
|
||||||
VERSION_MIN:=$(shell python -c 'print("$(VERSION)".split(".")[1])')
|
|
||||||
VERSION_PAT:=$(shell python -c 'print("$(VERSION)".split(".")[2])')
|
|
||||||
|
|
||||||
VERSION_FLAGS= -DSOLO_VERSION_MAJ=$(VERSION_MAJ) -DSOLO_VERSION_MIN=$(VERSION_MIN) \
|
CFLAGS = -O2 -fdata-sections -ffunction-sections -g
|
||||||
-DSOLO_VERSION_PATCH=$(VERSION_PAT) -DSOLO_VERSION=\"$(VERSION_FULL)\"
|
ECC_CFLAGS = -O2 -fdata-sections -ffunction-sections -DuECC_PLATFORM=$(ecc_platform)
|
||||||
|
|
||||||
CFLAGS = -O2 -fdata-sections -ffunction-sections $(VERSION_FLAGS) -g
|
INCLUDES = -I./fido2/ -I./pc -I../pc -I./tinycbor/src
|
||||||
|
|
||||||
INCLUDES = -I./tinycbor/src -I./crypto/sha256 -I./crypto/micro-ecc/ -Icrypto/tiny-AES-c/ -I./fido2/ -I./pc -I./fido2/extensions
|
|
||||||
INCLUDES += -I./crypto/cifra/src
|
|
||||||
|
|
||||||
CFLAGS += $(INCLUDES)
|
CFLAGS += $(INCLUDES)
|
||||||
# for crypto/tiny-AES-c
|
CFLAGS += -DAES256=1 -DSOLO_EXPERIMENTAL=1 -DDEBUG_LEVEL=1
|
||||||
CFLAGS += -DAES256=1 -DAPP_CONFIG=\"app.h\" -DSOLO_EXPERIMENTAL=1
|
|
||||||
|
|
||||||
name = main
|
name = main
|
||||||
|
|
||||||
@ -53,7 +44,10 @@ tinycbor/Makefile crypto/tiny-AES-c/aes.c:
|
|||||||
cbor: $(LIBCBOR)
|
cbor: $(LIBCBOR)
|
||||||
|
|
||||||
$(LIBCBOR):
|
$(LIBCBOR):
|
||||||
cd tinycbor/ && $(MAKE) clean && $(MAKE) LDFLAGS='' -j8
|
cd tinycbor/ && $(MAKE) LDFLAGS='' -j8
|
||||||
|
|
||||||
|
$(LIBSOLO):
|
||||||
|
cd fido2/ && $(MAKE) CFLAGS="$(CFLAGS)" ECC_CFLAGS="$(ECC_CFLAGS)" APP_CONFIG=app.h -j8
|
||||||
|
|
||||||
version:
|
version:
|
||||||
@git describe
|
@git describe
|
||||||
@ -66,12 +60,9 @@ test: venv
|
|||||||
$(MAKE) clean
|
$(MAKE) clean
|
||||||
$(MAKE) cppcheck
|
$(MAKE) cppcheck
|
||||||
|
|
||||||
$(name): $(obj) $(LIBCBOR)
|
$(name): $(obj) $(LIBCBOR) $(LIBSOLO)
|
||||||
$(CC) $(LDFLAGS) -o $@ $(obj) $(LDFLAGS)
|
$(CC) $(LDFLAGS) -o $@ $(obj) $(LDFLAGS)
|
||||||
|
|
||||||
crypto/micro-ecc/uECC.o: ./crypto/micro-ecc/uECC.c
|
|
||||||
$(CC) -c -o $@ $^ -O2 -fdata-sections -ffunction-sections -DuECC_PLATFORM=$(ecc_platform) -I./crypto/micro-ecc/
|
|
||||||
|
|
||||||
venv:
|
venv:
|
||||||
python3 -m venv venv
|
python3 -m venv venv
|
||||||
venv/bin/pip -q install --upgrade pip
|
venv/bin/pip -q install --upgrade pip
|
||||||
@ -128,6 +119,7 @@ clean:
|
|||||||
(cd `dirname $$f` ; git checkout -- .) ;\
|
(cd `dirname $$f` ; git checkout -- .) ;\
|
||||||
fi ;\
|
fi ;\
|
||||||
done
|
done
|
||||||
|
cd fido2 && $(MAKE) clean
|
||||||
|
|
||||||
full-clean: clean
|
full-clean: clean
|
||||||
rm -rf venv
|
rm -rf venv
|
||||||
|
@ -9,9 +9,9 @@ INC += -I../tinycbor/src
|
|||||||
INC += -I../crypto/sha256 -I../crypto/micro-ecc -I../crypto/tiny-AES-c
|
INC += -I../crypto/sha256 -I../crypto/micro-ecc -I../crypto/tiny-AES-c
|
||||||
INC += -I../crypto/cifra/src -I../crypto/cifra/src/ext
|
INC += -I../crypto/cifra/src -I../crypto/cifra/src/ext
|
||||||
|
|
||||||
CFLAGS += -DAPP_CONFIG=\"$(APP_CONFIG)\"
|
INT_CFLAGS = -DAPP_CONFIG=\"$(APP_CONFIG)\"
|
||||||
CFLAGS += $(INC)
|
INT_CFLAGS += $(INC)
|
||||||
CFLAGS += $(SOLO_VERSION_FLAGS)
|
INT_CFLAGS += $(SOLO_VERSION_FLAGS)
|
||||||
|
|
||||||
SRC = apdu.c util.c u2f.c test_power.c
|
SRC = apdu.c util.c u2f.c test_power.c
|
||||||
SRC += stubs.c log.c ctaphid.c ctap.c
|
SRC += stubs.c log.c ctaphid.c ctap.c
|
||||||
@ -34,10 +34,10 @@ libsolo.a: $(OBJ)
|
|||||||
$(AR) cqs $@ $^
|
$(AR) cqs $@ $^
|
||||||
|
|
||||||
%.o: %.c
|
%.o: %.c
|
||||||
$(CC) $^ $(CFLAGS) -c -o $@
|
$(CC) $^ $(INT_CFLAGS) $(CFLAGS) -c -o $@
|
||||||
|
|
||||||
../crypto/micro-ecc/uECC.o: ../crypto/micro-ecc/uECC.c
|
../crypto/micro-ecc/uECC.o: ../crypto/micro-ecc/uECC.c
|
||||||
$(CC) $^ $(ECC_CFLAGS) -c -o $@
|
$(CC) $^ $(INT_CFLAGS) $(ECC_CFLAGS) -c -o $@
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm $(OBJ) libsolo.a
|
rm $(OBJ) libsolo.a
|
||||||
|
@ -13,8 +13,6 @@
|
|||||||
|
|
||||||
#define USING_PC
|
#define USING_PC
|
||||||
|
|
||||||
#define DEBUG_LEVEL 1
|
|
||||||
|
|
||||||
#define ENABLE_U2F
|
#define ENABLE_U2F
|
||||||
#define ENABLE_U2F_EXTENSIONS
|
#define ENABLE_U2F_EXTENSIONS
|
||||||
//#define BRIDGE_TO_WALLET
|
//#define BRIDGE_TO_WALLET
|
||||||
|
@ -7,7 +7,10 @@
|
|||||||
#ifndef _LOG_H
|
#ifndef _LOG_H
|
||||||
#define _LOG_H
|
#define _LOG_H
|
||||||
|
|
||||||
|
#ifdef APP_CONFIG
|
||||||
#include APP_CONFIG
|
#include APP_CONFIG
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
#ifndef DEBUG_LEVEL
|
#ifndef DEBUG_LEVEL
|
||||||
@ -50,7 +53,7 @@ typedef enum
|
|||||||
TAG_FILENO = (1UL << 31)
|
TAG_FILENO = (1UL << 31)
|
||||||
} LOG_TAG;
|
} LOG_TAG;
|
||||||
|
|
||||||
#if DEBUG_LEVEL > 0
|
#if defined(DEBUG_LEVEL) && DEBUG_LEVEL > 0
|
||||||
|
|
||||||
void set_logging_mask(uint32_t mask);
|
void set_logging_mask(uint32_t mask);
|
||||||
#define printf1(tag,fmt, ...) LOG(tag & ~(TAG_FILENO), NULL, 0, fmt, ##__VA_ARGS__)
|
#define printf1(tag,fmt, ...) LOG(tag & ~(TAG_FILENO), NULL, 0, fmt, ##__VA_ARGS__)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user