⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 cryptlib是功能强大的安全工具集。允许开发人员快速在自己的软件中集成加密和认证服务。
💻
📖 第 1 页 / 共 5 页
字号:
# 'cut'.  PHUX returns the version as something like 'B.11.11', so we have
# to carefully extract the thing that looks most like a version number from
# this.
#
# The MVS USS c89 compiler has a strict ordering of options.  That ordering
# can be relaxed with the _C89_CCMODE environment variable to accept options
# and file names in any order, so we check to make sure that this is set.
#
# The Cray uname reports the machine serial number instead of the machine
# type by default, so we have to explicitly check for Cray systems and
# modify the machine-detection mechanism to handle this.
#
# The '-' to disable error-checking in several cases below is necessary for
# the braindamaged QNX make, which bails out as soon as one of the tests
# fails, whether this would affect the make or not.

default:
	@make directories
	@make endian_test
	@- if [ $(OSNAME) = 'OS/390' -a "$(_C89_CCMODE)" != "1" ] ; then \
		echo "The c89 environment variable _C89_CCMODE must be set to 1." >&2 ; \
		exit 1 ; \
	fi
	@case $(OSNAME) in \
		'AIX') \
			make CFLAGS="$(CFLAGS) `./endian` \
				-DOSVERSION=`oslevel | cut -d'.' -f1`" $(OSNAME) ;; \
		'BeOS') \
			make CFLAGS="$(CFLAGS) `./endian` \
				-DOSVERSION=`uname -r | sed 's/^[A-Z]//' | cut -b 1` \
				-D_STATIC_LINKING" $(OSNAME) ;; \
		'HP-UX') \
			if gcc -v > /dev/null 2>&1 ; then \
				make CC=gcc CFLAGS="$(CFLAGS) `./endian` \
					-DOSVERSION=`uname -r | sed 's/^[A-Z]\.//' | cut -d'.' -f1`" \
					$(OSNAME) ; \
			else \
				make CFLAGS="$(CFLAGS) `./endian` \
					-DOSVERSION=`uname -r | sed 's/^[A-Z]\.//' | cut -d'.' -f1`" \
					$(OSNAME) ; \
			fi ;; \
		'QNX')\
			make CFLAGS="$(CFLAGS) `./endian` \
				-DOSVERSION=`uname -v | sed 's/^[A-Z]//' | cut -c 1`" \
				$(OSNAME) ;; \
		'SunOS') \
			if [ `/usr/ucb/cc | grep -c installed` = '1' ] ; then \
				make CC=gcc CFLAGS="$(CFLAGS) `./endian` \
					-DOSVERSION=`uname -r | sed 's/^[A-Z]//' | cut -b 1`" \
					$(OSNAME) ; \
			else \
				make CFLAGS="$(CFLAGS) `./endian` \
					-DOSVERSION=`uname -r | sed 's/^[A-Z]//' | cut -b 1`" \
					$(OSNAME) ; \
			fi ;; \
		*) \
			if [ `uname -m | cut -c 1-4` = 'CRAY' ] ; then \
				make CFLAGS="$(CFLAGS) `./endian` -DOSVERSION=`uname -r | cut -c 1`" \
				OSNAME=`uname -m | cut -c 1-4` CRAY ; \
			else \
				make CFLAGS="$(CFLAGS) `./endian` \
					-DOSVERSION=`uname -r | sed 's/^[A-Z]//' | cut -b 1`" \
					$(OSNAME) ; \
			fi ;; \
	esac

shared:
	@make directories
	@make endian_test
	@- if [ $(OSNAME) = 'OS/390' -a "$(_C89_CCMODE)" != "1" ] ; then \
		echo "The c89 environment variable _C89_CCMODE must be set to 1." >&2 ; \
		exit 1; \
	fi
	@case $(OSNAME) in \
		'AIX') \
			make TARGET=$(SLIBNAME) OBJPATH=$(SHARED_OBJ_PATH) \
				CFLAGS="$(SCFLAGS) `./endian` \
				-DOSVERSION=`oslevel | cut -d'.' -f1`" $(OSNAME) ;; \
		'Darwin') \
			make TARGET=$(DYLIBNAME) OBJPATH=$(SHARED_OBJ_PATH) \
				CFLAGS="$(SCFLAGS) -fno-common `./endian` \
				-DOSVERSION=`uname -r | cut -b 1`" $(OSNAME) ;; \
		'QNX') \
			make TARGET=$(SLIBNAME) OBJPATH=$(SHARED_OBJ_PATH) \
				CFLAGS="$(SCFLAGS) `./endian` \
				-DOSVERSION=`uname -v | sed 's/^[A-Z]//' | cut -c 1`" \
				$(OSNAME) ;; \
		'SunOS') \
			if [ `/usr/ucb/cc | grep -c installed` = '1' ] ; then \
				make TARGET=$(SLIBNAME) OBJPATH=$(SHARED_OBJ_PATH) \
					CC=gcc CFLAGS="$(SCFLAGS) `./endian` \
					-DOSVERSION=`uname -r | sed 's/^[A-Z]//' | cut -b 1`" \
					$(OSNAME) ; \
			else \
				make TARGET=$(SLIBNAME) OBJPATH=$(SHARED_OBJ_PATH) \
					CFLAGS="$(SCFLAGS) `./endian` \
					-DOSVERSION=`uname -r | sed 's/^[A-Z]//' | cut -b 1`" \
					$(OSNAME) ; \
			fi ;; \
		*) \
			make TARGET=$(SLIBNAME) OBJPATH=$(SHARED_OBJ_PATH) \
				CFLAGS="$(SCFLAGS) `./endian` \
				-DOSVERSION=`uname -r | sed 's/^[A-Z]//' | cut -b 1`" \
				$(OSNAME) ;; \
	esac

directories:
	@- if [ ! -d $(STATIC_OBJ_PATH) ] ; then mkdir $(STATIC_OBJ_DIR) ; fi
	@- if [ ! -d $(SHARED_OBJ_PATH) ] ; then mkdir $(SHARED_OBJ_DIR) ; fi

endian_test:	endian
	@if gcc -v > /dev/null 2>&1 ; then \
		gcc endian.c -o endian > /dev/null ; \
	elif [ $(OSNAME) = 'NONSTOP_KERNEL' ] ; then \
		c89 endian.c -o endian > /dev/null ; \
	else \
		$(CC) endian.c -o endian > /dev/null ; \
	fi

# Frohe Ostern.

babies:
	@echo "Good grief, what do you think I am?  Unix is capable, but not that capable."

cookies:
	@echo "Mix 250g flour, 150g sugar, 125g butter, an egg, a few drops of vanilla"
	@echo "essence, and 1 tsp baking powder into a dough, cut cookies from rolls of"
	@echo "dough, bake for about 15 minutes at 180C until they turn very light brown"
	@echo "at the edges."

love:
	@echo "Nicht wahr?"

#****************************************************************************
#*																			*
#*								C Module Targets							*
#*																			*
#****************************************************************************

# Main directory

$(OBJPATH)cryptapi.o:	$(CRYPT_DEP) crypt/md2.h crypt/md4.h crypt/md5.h \
						crypt/sha.h cryptapi.c
						$(CC) $(CFLAGS) cryptapi.c -o $(OBJPATH)cryptapi.o

$(OBJPATH)cryptcfg.o:	$(CRYPT_DEP) cryptcfg.c
						$(CC) $(CFLAGS) cryptcfg.c -o $(OBJPATH)cryptcfg.o

$(OBJPATH)cryptcrt.o:	$(CRYPT_DEP) cert/cert.h cryptcrt.c
						$(CC) $(CFLAGS) cryptcrt.c -o $(OBJPATH)cryptcrt.o

$(OBJPATH)cryptctx.o:	$(CRYPT_DEP) context/context.h cryptctx.c
						$(CC) $(CFLAGS) cryptctx.c -o $(OBJPATH)cryptctx.o

$(OBJPATH)cryptdev.o:	$(CRYPT_DEP) device/device.h cryptdev.c
						$(CC) $(CFLAGS) cryptdev.c -o $(OBJPATH)cryptdev.o

$(OBJPATH)cryptenv.o:	$(CRYPT_DEP) envelope/envelope.h $(ASN1_DEP) \
						cryptenv.c
						$(CC) $(CFLAGS) cryptenv.c -o $(OBJPATH)cryptenv.o

$(OBJPATH)cryptkey.o:	$(CRYPT_DEP) keyset/keyset.h cryptkey.c
						$(CC) $(CFLAGS) cryptkey.c -o $(OBJPATH)cryptkey.o

$(OBJPATH)cryptlib.o:	$(CRYPT_DEP) cryptlib.c
						$(CC) $(CFLAGS) cryptlib.c -o $(OBJPATH)cryptlib.o

$(OBJPATH)cryptses.o:	$(CRYPT_DEP) cryptses.c
						$(CC) $(CFLAGS) cryptses.c -o $(OBJPATH)cryptses.o

$(OBJPATH)cryptusr.o:	$(CRYPT_DEP) cryptusr.c
						$(CC) $(CFLAGS) cryptusr.c -o $(OBJPATH)cryptusr.o

# Additional modules whose use needs to be explicitly enabled by the user.

$(OBJPATH)java_jni.o:	$(CRYPT_DEP) bindings/java_jni.c
						$(CC) $(CFLAGS) bindings/java_jni.c -o $(OBJPATH)java_jni.o

# bn subdirectory

$(OBJPATH)bn_add.o:		crypt/osconfig.h bn/bn.h bn/bn_lcl.h bn/bn_add.c
						$(CC) $(CFLAGS) bn/bn_add.c -o $(OBJPATH)bn_add.o

$(OBJPATH)bn_asm.o:		crypt/osconfig.h bn/bn.h bn/bn_lcl.h bn/bn_asm.c
						$(CC) $(CFLAGS) bn/bn_asm.c -o $(OBJPATH)bn_asm.o

$(OBJPATH)bn_ctx.o:		crypt/osconfig.h bn/bn.h bn/bn_lcl.h bn/bn_ctx.c
						$(CC) $(CFLAGS) bn/bn_ctx.c -o $(OBJPATH)bn_ctx.o

$(OBJPATH)bn_div.o:		crypt/osconfig.h bn/bn.h bn/bn_lcl.h bn/bn_div.c
						$(CC) $(CFLAGS) bn/bn_div.c -o $(OBJPATH)bn_div.o

$(OBJPATH)bn_exp.o:		crypt/osconfig.h bn/bn.h bn/bn_lcl.h bn/bn_exp.c
						$(CC) $(CFLAGS) bn/bn_exp.c -o $(OBJPATH)bn_exp.o

$(OBJPATH)bn_exp2.o:	crypt/osconfig.h bn/bn.h bn/bn_lcl.h bn/bn_exp2.c
						$(CC) $(CFLAGS) bn/bn_exp2.c -o $(OBJPATH)bn_exp2.o

$(OBJPATH)bn_gcd.o:		crypt/osconfig.h bn/bn.h bn/bn_lcl.h bn/bn_gcd.c
						$(CC) $(CFLAGS) bn/bn_gcd.c -o $(OBJPATH)bn_gcd.o

$(OBJPATH)bn_lib.o:		crypt/osconfig.h bn/bn.h bn/bn_lcl.h bn/bn_lib.c
						$(CC) $(CFLAGS) bn/bn_lib.c -o $(OBJPATH)bn_lib.o

$(OBJPATH)bn_mod.o:		crypt/osconfig.h bn/bn.h bn/bn_lcl.h bn/bn_mod.c
						$(CC) $(CFLAGS) bn/bn_mod.c -o $(OBJPATH)bn_mod.o

$(OBJPATH)bn_mont.o:	crypt/osconfig.h bn/bn.h bn/bn_lcl.h bn/bn_mont.c
						$(CC) $(CFLAGS) bn/bn_mont.c -o $(OBJPATH)bn_mont.o

$(OBJPATH)bn_mul.o:		crypt/osconfig.h bn/bn.h bn/bn_lcl.h bn/bn_mul.c
						$(CC) $(CFLAGS) bn/bn_mul.c -o $(OBJPATH)bn_mul.o

$(OBJPATH)bn_recp.o:	crypt/osconfig.h bn/bn.h bn/bn_lcl.h bn/bn_recp.c
						$(CC) $(CFLAGS) bn/bn_recp.c -o $(OBJPATH)bn_recp.o

$(OBJPATH)bn_shift.o:	crypt/osconfig.h bn/bn.h bn/bn_lcl.h bn/bn_shift.c
						$(CC) $(CFLAGS) bn/bn_shift.c -o $(OBJPATH)bn_shift.o

$(OBJPATH)bn_sqr.o:		crypt/osconfig.h bn/bn.h bn/bn_lcl.h bn/bn_sqr.c
						$(CC) $(CFLAGS) bn/bn_sqr.c -o $(OBJPATH)bn_sqr.o

$(OBJPATH)bn_word.o:	crypt/osconfig.h bn/bn.h bn/bn_lcl.h bn/bn_word.c
						$(CC) $(CFLAGS) bn/bn_word.c -o $(OBJPATH)bn_word.o

# cert subdirectory

$(OBJPATH)certrev.o:	$(CRYPT_DEP) $(ASN1_DEP) cert/cert.h cert/certrev.c
						$(CC) $(CFLAGS) cert/certrev.c -o $(OBJPATH)certrev.o

$(OBJPATH)certsign.o:	$(CRYPT_DEP) $(ASN1_DEP) cert/cert.h cert/certsign.c
						$(CC) $(CFLAGS) cert/certsign.c -o $(OBJPATH)certsign.o

$(OBJPATH)certval.o:	$(CRYPT_DEP) $(ASN1_DEP) cert/cert.h cert/certval.c
						$(CC) $(CFLAGS) cert/certval.c -o $(OBJPATH)certval.o

$(OBJPATH)chain.o:		$(CRYPT_DEP) $(ASN1_DEP) cert/cert.h cert/chain.c
						$(CC) $(CFLAGS) cert/chain.c -o $(OBJPATH)chain.o

$(OBJPATH)chk_cert.o:	$(CRYPT_DEP) $(ASN1_DEP) cert/cert.h cert/chk_cert.c
						$(CC) $(CFLAGS) cert/chk_cert.c -o $(OBJPATH)chk_cert.o

$(OBJPATH)chk_chn.o:	$(CRYPT_DEP) $(ASN1_DEP) cert/cert.h cert/chk_chn.c
						$(CC) $(CFLAGS) cert/chk_chn.c -o $(OBJPATH)chk_chn.o

$(OBJPATH)chk_use.o:	$(CRYPT_DEP) $(ASN1_DEP) cert/cert.h cert/chk_use.c
						$(CC) $(CFLAGS) cert/chk_use.c -o $(OBJPATH)chk_use.o

$(OBJPATH)comp_get.o:	$(CRYPT_DEP) $(ASN1_DEP) cert/cert.h cert/comp_get.c
						$(CC) $(CFLAGS) cert/comp_get.c -o $(OBJPATH)comp_get.o

$(OBJPATH)comp_set.o:	$(CRYPT_DEP) $(ASN1_DEP) cert/cert.h cert/comp_set.c
						$(CC) $(CFLAGS) cert/comp_set.c -o $(OBJPATH)comp_set.o

$(OBJPATH)dn.o:			$(CRYPT_DEP) $(ASN1_DEP) cert/cert.h cert/dn.c
						$(CC) $(CFLAGS) cert/dn.c -o $(OBJPATH)dn.o

$(OBJPATH)dnstring.o:	$(CRYPT_DEP) $(ASN1_DEP) cert/dnstring.c
						$(CC) $(CFLAGS) cert/dnstring.c -o $(OBJPATH)dnstring.o

$(OBJPATH)ext.o:		$(CRYPT_DEP) $(ASN1_DEP) cert/cert.h cert/ext.c
						$(CC) $(CFLAGS) cert/ext.c -o $(OBJPATH)ext.o

$(OBJPATH)ext_add.o:	$(CRYPT_DEP) $(ASN1_DEP) cert/cert.h cert/ext_add.c
						$(CC) $(CFLAGS) cert/ext_add.c -o $(OBJPATH)ext_add.o

$(OBJPATH)ext_chk.o:	$(CRYPT_DEP) $(ASN1_DEP) cert/cert.h cert/ext_chk.c
						$(CC) $(CFLAGS) cert/ext_chk.c -o $(OBJPATH)ext_chk.o

$(OBJPATH)ext_copy.o:	$(CRYPT_DEP) $(ASN1_DEP) cert/cert.h cert/ext_copy.c
						$(CC) $(CFLAGS) cert/ext_copy.c -o $(OBJPATH)ext_copy.o

$(OBJPATH)ext_def.o:	$(CRYPT_DEP) $(ASN1_DEP) cert/cert.h cert/ext_def.c
						$(CC) $(CFLAGS) cert/ext_def.c -o $(OBJPATH)ext_def.o

$(OBJPATH)ext_rd.o:		$(CRYPT_DEP) $(ASN1_DEP) cert/cert.h cert/ext_rd.c
						$(CC) $(CFLAGS) cert/ext_rd.c -o $(OBJPATH)ext_rd.o

$(OBJPATH)ext_wr.o:		$(CRYPT_DEP) $(ASN1_DEP) cert/cert.h cert/ext_wr.c
						$(CC) $(CFLAGS) cert/ext_wr.c -o $(OBJPATH)ext_wr.o

$(OBJPATH)imp_exp.o:	$(CRYPT_DEP) $(ASN1_DEP) cert/cert.h cert/imp_exp.c
						$(CC) $(CFLAGS) cert/imp_exp.c -o $(OBJPATH)imp_exp.o

$(OBJPATH)read.o:		$(CRYPT_DEP) $(ASN1_DEP) cert/cert.h cert/read.c
						$(CC) $(CFLAGS) cert/read.c -o $(OBJPATH)read.o

$(OBJPATH)trustmgr.o:	$(CRYPT_DEP) $(ASN1_DEP) cert/cert.h cert/trustmgr.c
						$(CC) $(CFLAGS) cert/trustmgr.c -o $(OBJPATH)trustmgr.o

$(OBJPATH)write.o:		$(CRYPT_DEP) $(ASN1_DEP) cert/cert.h cert/write.c
						$(CC) $(CFLAGS) cert/write.c -o $(OBJPATH)write.o

# context subdirectory

$(OBJPATH)kg_dlp.o:		$(CRYPT_DEP) context/context.h bn/bn_prime.h context/kg_dlp.c
						$(CC) $(CFLAGS) context/kg_dlp.c -o $(OBJPATH)kg_dlp.o

$(OBJPATH)kg_prime.o:	$(CRYPT_DEP) context/context.h bn/bn_prime.h context/kg_prime.c
						$(CC) $(CFLAGS) context/kg_prime.c -o $(OBJPATH)kg_prime.o

$(OBJPATH)kg_rsa.o:		$(CRYPT_DEP) context/context.h bn/bn_prime.h context/kg_rsa.c
						$(CC) $(CFLAGS) context/kg_rsa.c -o $(OBJPATH)kg_rsa.o

$(OBJPATH)keyload.o:	$(CRYPT_DEP) context/context.h context/keyload.c
						$(CC) $(CFLAGS) context/keyload.c -o $(OBJPATH)keyload.o

$(OBJPATH)key_rd.o:		$(CRYPT_DEP) $(ASN1_DEP) context/key_rd.c
						$(CC) $(CFLAGS) context/key_rd.c -o $(OBJPATH)key_rd.o

$(OBJPATH)key_wr.o:		$(CRYPT_DEP) $(ASN1_DEP) context/key_wr.c
						$(CC) $(CFLAGS) context/key_wr.c -o $(OBJPATH)key_wr.o

$(OBJPATH)ctx_3des.o:	$(CRYPT_DEP) context/context.h crypt/des.h context/ctx_3des.c
						$(CC) $(CFLAGS) context/ctx_3des.c -o $(OBJPATH)ctx_3des.o

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -