Я пытаюсь использовать библиотеку ECC на contiki os.
Но я получил ошибку из-за зависимости. Я думаю, что проблема в моем Makefile, но я не уверен, что не так.
Я скачал из источника https://github.com/nist-emntg/ecc-light-certificate, но у меня возникли проблемы с использованием git submodule update
после git
клонирования из исходного кода, поэтому я вручную загружаю и вставляю файл contiki в папку contiki.
Может ли быть проблема в этом?
Сообщение об ошибке
> make TARGET=cooja clean
rm -f *~ *core core *.srec \
*.lst *.map \
*.cprg *.bin *.data contiki*.a *.firmware core-labels.S *.ihex *.ini \
*.ce *.co
rm -rf
rm -rf obj_cooja
> make sender-node.cooja TARGET=cooja
CC sender-node.c
sender-node.c: In function 'process_thread_sender_node_process':
sender-node.c:104:11: warning: unused variable 'pubKey' [-Wunused-variable]
mkdir obj_cooja
CC ../../../platform/cooja/./contiki-cooja-main.c
../../../platform/cooja/./contiki-cooja-main.c: In function 'contiki_init':
../../../platform/cooja/./contiki-cooja-main.c:230:14: warning: variable 'shortaddr' set but not used [-Wunused-but-set-variable]
../../../platform/cooja/./contiki-cooja-main.c:288:5: warning: passing argument 1 of 'rimeaddr_copy' from incompatible pointer type [enabled by default]
../../../core/./net/rime/rimeaddr.h:79:6: note: expected 'union rimeaddr_t *' but argument is of type 'uint8_t *'
mv contiki-cooja-main.o obj_cooja/mtype371.o
CC ../../../../ecc/ecc.c
../../../../ecc/ecc.c:700:1: fatal error: opening dependency file obj_cooja/../../../../ecc/ecc.d: No such file or directory
compilation terminated.
make: *** [obj_cooja/../../../../ecc/ecc.o] Error 1
Process returned error code 2
Это мой make-файл
all: sender-node receiver-node root-node
extra: example tools tests
CONTIKI=../../..
WITH_UIP6=1
UIP_CONF_IPV6=1
include $(CONTIKI)/../Makefile.curve
CURVE_DIR=$(CONTIKI)/../ecc/curve-params
CFLAGS+= -DUIP_CONF_IPV6_RPL\
-DSHA2_USE_INTTYPES_H \
-DWITH_SHA256 \
-D$(DOMAIN_PARAMS) \
-DTHIRTYTWO_BIT_PROCESSOR \
-DDOMAIN_PARAMS=$(DOMAIN_PARAMS)
CFLAGS+=-DPROJECT_CONF_H=\"project-conf.h\"
PROJECT_SOURCEFILES += $(CONTIKI)/../ecc/ecc.c $(CONTIKI)/../ecc/ecdsa.c $(CONTIKI)/../ecc/nn.c $(CONTIKI)/../sha2/sha2.c $(CONTIKI)/../certificate/certificate.c
PROJECTDIRS += sha2 ecc $(CURVE_DIR) certificate
include $(CONTIKI)/../ecc/curve-params/Makefile.curve_params
# mc1322x is little endian only
ifeq ($(TARGET),econotag)
CFLAGS+= -DWORDS_LITTLEENDIAN
endif
ifdef WITH_COMPOWER
APPS+=powertrace
CFLAGS+= -DCONTIKIMAC_CONF_COMPOWER=1 -DWITH_COMPOWER=1 -DQUEUEBUF_CONF_NUM=4
endif
ifdef SERVER_REPLY
CFLAGS+=-DSERVER_REPLY=$(SERVER_REPLY)
endif
ifdef PERIOD
CFLAGS+=-DPERIOD=$(PERIOD)
endif
include $(CONTIKI)/Makefile.include
example:
make -C example
tools:
make -C tools
tests:
make -C tests