mirror of
https://github.com/rvtr/ctr_eFuse.git
synced 2025-11-02 00:11:04 -04:00
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_eFuse@171 ff987cc8-cf2f-4642-8568-d52cce064691
219 lines
5.3 KiB
Makefile
219 lines
5.3 KiB
Makefile
# nm ntd_mem_allocator.o | grep " [T|B|D] "
|
|
# nm ntd_crypto_ecdsa.o | grep " [T|B|D] "
|
|
# nm ntd_crypto_rsa.o | grep " [T|B|D] "
|
|
# nm generate_id.o | grep " [T|B|D] "
|
|
# nm ../rsa_keysrcgen/rsa1_key.o | grep " [T|B|D] "
|
|
|
|
|
|
# 最終的なビルドスイッチの設定は、以下の通り。
|
|
# DEV_CYGWIN = FALSE
|
|
# DEBUG_PRINT = FALSE
|
|
# ECDSA_SHA256 = TRUE
|
|
# USE_HSM = TRUE
|
|
# RESET_HSM = TRUE
|
|
|
|
DEV_CYGWIN = FALSE
|
|
DEBUG_PRINT = FALSE
|
|
ECDSA_SHA256 = TRUE
|
|
USE_HSM = TRUE
|
|
RESET_HSM = TRUE
|
|
|
|
ifeq ($(USE_HSM),TRUE)
|
|
|
|
# HSM使用時は強制的にDUMMY_KEYは未使用にする。
|
|
USE_DUMMY_KEY = FALSE
|
|
|
|
# nFast Path
|
|
NFAST_PATH = /opt/nfast
|
|
|
|
# nFast Developer tools installation
|
|
NFAST_DEV_PATH = $(NFAST_PATH)/c/ctd/gcc
|
|
NFAST_EXAMPLES = $(NFAST_PATH)/c/ctd/examples
|
|
|
|
# nFast Developer tools library
|
|
NFAST_LIBPATH = $(NFAST_DEV_PATH)/lib
|
|
|
|
# nFast Developer tools include
|
|
NFAST_INC = $(NFAST_DEV_PATH)/include
|
|
|
|
# nFast CPPFLAGS
|
|
NFAST_CPPFLAGS = \
|
|
-I$(NFAST_INC)/sworld \
|
|
-I$(NFAST_INC)/hilibs \
|
|
-I$(NFAST_INC)/nflog \
|
|
-I$(NFAST_INC)/cutils \
|
|
-I$(NFAST_EXAMPLES)/sworld \
|
|
-I$(NFAST_EXAMPLES)/hilibs \
|
|
-I$(NFAST_EXAMPLES)/nflog \
|
|
-I$(NFAST_EXAMPLES)/cutils \
|
|
|
|
# nFast LDLIBS
|
|
NFAST_LDLIBS = \
|
|
$(NFAST_LIBPATH)/libnfkm.a \
|
|
$(NFAST_LIBPATH)/libnfstub.a \
|
|
$(NFAST_LIBPATH)/libnflog.a \
|
|
$(NFAST_LIBPATH)/libcutils.a \
|
|
|
|
else # !USE_HSM
|
|
|
|
# HSMが使用できない場合は、DUMMY_KEYを使ってテストする。
|
|
USE_DUMMY_KEY = TRUE
|
|
|
|
endif # USE_HSM
|
|
|
|
ifeq ($(USE_DUMMY_KEY),TRUE)
|
|
DEV_DER_KEY_DIR = ./dummyKey/dev
|
|
PROD_DER_KEY_DIR = ./dummyKey/prod
|
|
else # !USE_DUMMY_KEY
|
|
DEV_DER_KEY_DIR = ./realKey/dev
|
|
PROD_DER_KEY_DIR = ./realKey/prod
|
|
endif # USE_DUMMY_KEY
|
|
|
|
PACKAGE_DIR = ./package
|
|
# OPENSSL_DIR = ./openssl-1.0.0-beta2
|
|
OPENSSL_DIR = ./openssl-0.9.8k
|
|
|
|
TARGET_LIB = libgenid.a
|
|
|
|
TARGET = gen_id
|
|
|
|
KEYS_C = cr_eFuse_iv_prod.c \
|
|
cr_eFuse_iv_dev.c \
|
|
cr_NCT2_pub_prod.c \
|
|
cr_NCT2_pub_dev.c
|
|
|
|
ifeq ($(USE_DUMMY_KEY),TRUE)
|
|
KEYS_C += cr_eFuse_privKey_prod.c cr_eFuse_pubKey_prod.c \
|
|
cr_eFuse_privKey_dev.c cr_eFuse_pubKey_dev.c \
|
|
cr_eFuse_aesKey_prod.c \
|
|
cr_eFuse_aesKey_dev.c \
|
|
cr_NCT2_priv_prod.c \
|
|
cr_NCT2_priv_dev.c
|
|
endif # USE_DUMMY_KEY
|
|
|
|
SRCS = main.c
|
|
OBJS = $(notdir $(SRCS:.c=.o))
|
|
|
|
LIB_SRCS = cr_generate_id.c cr_id_util.c cr_keyPair.c \
|
|
cr_device_cert.c cr_enc_id.c cr_alloc.c \
|
|
cr_hsm_code.c cr_hsm_alloc.c cr_hsm_bignum.c
|
|
LIB_OBJS = $(notdir $(LIB_SRCS:.c=.o))
|
|
|
|
CFLAGS = -Wall -DMEXP=216091 -msse2 -DHAVE_SSE2
|
|
CPPFLAGS= -I. -I$(OPENSSL_DIR)/include -I$(OPENSSL_DIR)/crypto/ec
|
|
LDFLAGS = -mwindows -L$(OPENSSL_DIR)
|
|
LDLIBS = -lcrypto -lssl
|
|
MERGE_PROG = merge_lib_objs.plx
|
|
|
|
ifeq ($(DEV_CYGWIN),TRUE)
|
|
CC := C:/Cygwin/bin/gcc
|
|
LD = C:/Cygwin/bin/gcc
|
|
CFLAGS += -mno-cygwin -DDEV_CYGWIN
|
|
LDFLAGS += -Wl,--subsystem,console -mno-cygwin
|
|
TARGET_DEL = $(TARGET).exe
|
|
else # DEV_CYGWIN
|
|
CC := /usr/bin/gcc
|
|
LD = /usr/bin/gcc
|
|
LDFLAGS += -Wl
|
|
LDLIBS += -ldl -lnsl
|
|
TARGET_DEL = $(TARGET)
|
|
endif # DEV_CYGWIN
|
|
|
|
ifeq ($(USE_DUMMY_KEY),TRUE)
|
|
CFLAGS += -DUSE_DUMMY_KEY
|
|
endif
|
|
|
|
ifeq ($(DEBUG_PRINT),TRUE)
|
|
CFLAGS += -DDEBUG_PRINT
|
|
endif
|
|
|
|
ifeq ($(ECDSA_SHA256),TRUE)
|
|
CFLAGS += -DECDSA_SHA256
|
|
endif
|
|
|
|
ifeq ($(USE_HSM),TRUE)
|
|
CFLAGS += -DUSE_HSM
|
|
CPPFLAGS+= $(NFAST_CPPFLAGS)
|
|
LDLIBS += $(NFAST_LDLIBS)
|
|
MERGE_PROG = merge_lib_objs_hsm.plx
|
|
endif
|
|
|
|
ifeq ($(RESET_HSM),TRUE)
|
|
CFLAGS += -DRESET_HSM
|
|
endif
|
|
|
|
.SUFFIXES:
|
|
|
|
all: package_build $(KEYS_C) $(TARGET_LIB) $(TARGET)
|
|
|
|
# install: $(TARGET)
|
|
# install -c -m 777 $(TARGET) ../bin
|
|
|
|
ifeq ($(DEV_CYGWIN),TRUE)
|
|
package_build :
|
|
cd $(PACKAGE_DIR);make DEV_CYGWIN=TRUE
|
|
else
|
|
package_build :
|
|
cd $(PACKAGE_DIR);make
|
|
endif
|
|
|
|
$(TARGET): $(OBJS) $(TARGET_LIB)
|
|
$(LD) $(LDFLAGS) $(OBJS) -o $@ $(TARGET_LIB)
|
|
|
|
$(TARGET_LIB): $(LIB_OBJS)
|
|
ar rcs $@ $(LIB_OBJS)
|
|
perl tools/$(MERGE_PROG)
|
|
|
|
%.o:%.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
|
|
|
|
#%.c:$(DER_KEY_DIR)/%.der
|
|
# perl tools/bin2c.plx $<
|
|
|
|
cr_eFuse_privKey_prod.c : $(PROD_DER_KEY_DIR)/eFuse_privKey.der
|
|
perl tools/bin2c.plx $< prod
|
|
|
|
cr_eFuse_pubKey_prod.c : $(PROD_DER_KEY_DIR)/eFuse_pubKey.der
|
|
perl tools/bin2c.plx $< prod
|
|
|
|
cr_eFuse_aesKey_prod.c : $(PROD_DER_KEY_DIR)/eFuse_aesKey.bin
|
|
perl tools/bin2c.plx $< prod
|
|
|
|
cr_eFuse_iv_prod.c : $(PROD_DER_KEY_DIR)/eFuse_iv.bin
|
|
perl tools/bin2c.plx $< prod
|
|
|
|
cr_NCT2_priv_prod.c : $(PROD_DER_KEY_DIR)/NCT2_priv.der
|
|
perl tools/bin2c.plx $< prod
|
|
|
|
cr_NCT2_pub_prod.c : $(PROD_DER_KEY_DIR)/NCT2_pub.der
|
|
perl tools/bin2c.plx $< prod
|
|
|
|
|
|
cr_eFuse_privKey_dev.c : $(DEV_DER_KEY_DIR)/eFuse_privKey.der
|
|
perl tools/bin2c.plx $< dev
|
|
|
|
cr_eFuse_pubKey_dev.c : $(DEV_DER_KEY_DIR)/eFuse_pubKey.der
|
|
perl tools/bin2c.plx $< dev
|
|
|
|
cr_eFuse_aesKey_dev.c : $(DEV_DER_KEY_DIR)/eFuse_aesKey.bin
|
|
perl tools/bin2c.plx $< dev
|
|
|
|
cr_eFuse_iv_dev.c : $(DEV_DER_KEY_DIR)/eFuse_iv.bin
|
|
perl tools/bin2c.plx $< dev
|
|
|
|
cr_NCT2_priv_dev.c : $(DEV_DER_KEY_DIR)/NCT2_priv.der
|
|
perl tools/bin2c.plx $< dev
|
|
|
|
cr_NCT2_pub_dev.c : $(DEV_DER_KEY_DIR)/NCT2_pub.der
|
|
perl tools/bin2c.plx $< dev
|
|
|
|
|
|
.PHONY: clean clobber
|
|
clean:
|
|
$(RM) $(LIB_OBJS) $(OBJS) $(TARGET_DEL) $(TARGET_LIB) $(KEYS_C) $(KEYS_H)
|
|
|
|
clobber:
|
|
$(RM) $(LIB_OBJS) $(OBJS) $(TARGET_DEL) $(TARGET_LIB) $(KEYS_C) $(KEYS_H)
|
|
cd $(PACKAGE_DIR);make clobber
|
|
|