ctr_eFuse/Makefile
kubodera_yuichi 86a0d8f40d cr_generate_id.cからHSM関連コードを除外する(今はcygwinでのみビルド通る)
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_eFuse@11 ff987cc8-cf2f-4642-8568-d52cce064691
2009-12-22 02:01:20 +00:00

163 lines
3.7 KiB
Makefile
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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] "
# ダミーのRSA鍵ペアを使用する場合は、USE_DUMMY_KEYをTRUEにしてください。
# 正式な RSA鍵ペアを使用する場合は、USE_DUMMY_KEYをコメントアウトして、DER_KEY_DIRにRSA鍵ペアが入ったフォルダを指定してください。
DEV_CYGWIN = TRUE
#ENCRYPT_AES = TRUE
USE_DUMMY_KEY = TRUE
USE_SFMT = TRUE
#USE_HSM = TRUE
ifeq ($(USE_HSM),TRUE)
# 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)/librqcard.a \
$(NFAST_LIBPATH)/libnfkm.a \
$(NFAST_LIBPATH)/libnfstub.a \
$(NFAST_LIBPATH)/libnflog.a \
$(NFAST_LIBPATH)/libcutils.a -lm \
# nFast OBJS
NFAST_OBJS_PATH = $(NFAST_EXAMPLES)/nfuser/build-gcc-lib
NFAST_OBJS_LIST = \
$(NFAST_OBJS_PATH)/simplebignum.o \
$(NFAST_OBJS_PATH)/nfutil.o \
endif # USE_HSM
ifeq ($(USE_DUMMY_KEY),TRUE)
DER_KEY_DIR = ./rsakey_dummy
else
#DER_KEY_DIR = ./rsakey
DER_KEY_DIR = ./rsakey_dummy
endif
PACKAGE_DIR = ./package
# OPENSSL_DIR = ./openssl-1.0.0-beta2
OPENSSL_DIR = ./openssl-0.9.8k
SFMT_DIR = ./SFMT-src-1.3.3
TARGET = gen_id
KEYS_C = cr_gen_id_rsa_key_priv.c cr_gen_id_rsa_key_pub.c
KEYS_H = $(KEYS_C:.c=.h)
SRCS = main.c cr_generate_id.c cr_enc_id.c cr_alloc.c cr_hsm_code.c $(KEYS_C)
ifeq ($(USE_SFMT),TRUE)
SRCS += $(SFMT_DIR)/SFMT.c
endif
OBJS = $(notdir $(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
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
else # DEV_CYGWIN
CC := /usr/bin/gcc
LD = /usr/bin/gcc
LDFLAGS += -Wl
LDLIBS += -ldl -lnsl
endif # DEV_CYGWIN
ifeq ($(ENCRYPT_AES),TRUE)
CFLAGS += -DENCRYPT_AES
endif
ifeq ($(USE_DUMMY_KEY),TRUE)
CFLAGS += -DUSE_DUMMY_KEY
endif
ifeq ($(USE_SFMT),TRUE)
CFLAGS += -DUSE_SFMT
CPPFLAGS+= -I$(SFMT_DIR)
endif
ifeq ($(USE_HSM),TRUE)
CFLAGS += -DUSE_HSM
CPPFLAGS+= $(NFAST_CPPFLAGS)
LDLIBS += $(NFAST_LDLIBS)
endif
.SUFFIXES:
all: package_build $(KEYS_C) $(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)
$(LD) $(LDFLAGS) $(OBJS) -o $@ $(LDLIBS) $(NFAST_OBJS_LIST)
$(OBJS): $(HEADS) Makefile
%.o:$(SFMT_DIR)/%.c
$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
%.o:%.c
$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
#%.c:$(DER_KEY_DIR)/%.der
# perl tools/bin2c.plx $<
cr_gen_id_rsa_key_priv.c : $(DER_KEY_DIR)/gen_id_rsa_key_priv.der
perl tools/bin2c.plx $<
cr_gen_id_rsa_key_pub.c : $(DER_KEY_DIR)/gen_id_rsa_key_pub.der
perl tools/bin2c.plx $<
.PHONY: clean clobber
clean:
$(RM) $(OBJS) $(TARGET).exe $(KEYS_C) $(KEYS_H)
clobber:
$(RM) $(OBJS) $(TARGET).exe $(KEYS_C) $(KEYS_H)
cd $(PACKAGE_DIR);make clobber