📄 makefile
字号:
# '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 + -