Makefile.asm revision 305150
195967Speter# $FreeBSD: stable/11/secure/lib/libcrypto/Makefile.asm 305150 2016-08-31 20:21:03Z jkim $ 2299389Sjkim# Use this to help generate the asm *.S files after an import. It is not 395967Speter# perfect by any means, but does what is needed. 4299389Sjkim# Do a 'make -f Makefile.asm all' and it will generate *.S. Move them 5299389Sjkim# to the arch subdir, and correct any exposed paths and $ FreeBSD $ tags. 695967Speter 795967Speter.include "Makefile.inc" 895967Speter 9305150Sjkim.if defined(ASM_amd64) 10106538Sobrien 11238405Sjkim.PATH: ${LCRYPTO_SRC}/crypto \ 12238405Sjkim ${LCRYPTO_SRC}/crypto/aes/asm \ 13238405Sjkim ${LCRYPTO_SRC}/crypto/bn/asm \ 14238405Sjkim ${LCRYPTO_SRC}/crypto/camellia/asm \ 15290207Sjkim ${LCRYPTO_SRC}/crypto/ec/asm \ 16238405Sjkim ${LCRYPTO_SRC}/crypto/md5/asm \ 17238405Sjkim ${LCRYPTO_SRC}/crypto/modes/asm \ 18238405Sjkim ${LCRYPTO_SRC}/crypto/rc4/asm \ 19238405Sjkim ${LCRYPTO_SRC}/crypto/sha/asm \ 20238405Sjkim ${LCRYPTO_SRC}/crypto/whrlpool/asm 21238405Sjkim 22238405Sjkim# aes 23290207SjkimSRCS= aes-x86_64.pl aesni-mb-x86_64.pl aesni-sha1-x86_64.pl \ 24290207Sjkim aesni-sha256-x86_64.pl aesni-x86_64.pl bsaes-x86_64.pl \ 25238405Sjkim vpaes-x86_64.pl 26238405Sjkim 27238405Sjkim# bn 28290207SjkimSRCS+= rsaz-avx2.pl rsaz-x86_64.pl x86_64-gf2m.pl x86_64-mont.pl \ 29290207Sjkim x86_64-mont5.pl 30238405Sjkim 31238405Sjkim# camellia 32238405SjkimSRCS+= cmll-x86_64.pl 33238405Sjkim 34290207Sjkim# ec 35290207SjkimSRCS+= ecp_nistz256-x86_64.pl 36290207Sjkim 37238405Sjkim# md5 38238405SjkimSRCS+= md5-x86_64.pl 39238405Sjkim 40238405Sjkim# modes 41290207SjkimSRCS+= aesni-gcm-x86_64.pl ghash-x86_64.pl 42238405Sjkim 43238405Sjkim# rc4 44238405SjkimSRCS+= rc4-md5-x86_64.pl rc4-x86_64.pl 45238405Sjkim 46238405Sjkim# sha 47299479SjkimSRCS+= sha1-mb-x86_64.pl sha1-x86_64.pl sha256-mb-x86_64.pl 48238405Sjkim 49238405Sjkim# whrlpool 50238405SjkimSRCS+= wp-x86_64.pl 51238405Sjkim 52299479Sjkim# cpuid 53299479SjkimSRCS+= x86_64cpuid.pl 54238405Sjkim 55299479SjkimSHA_ASM= sha256-x86_64 sha512-x86_64 56299479SjkimSHA_SRC= sha512-x86_64.pl 57299479SjkimSHA_TMP= ${SHA_ASM:S/$/.s/} 58299479Sjkim 59299479SjkimASM= ${SRCS:R:S/$/.S/} ${SHA_ASM:S/$/.S/} 60299479Sjkim 61238405Sjkimall: ${ASM} 62238405Sjkim 63299479SjkimCLEANFILES= ${ASM} ${SHA_ASM:S/$/.s/} 64299479Sjkim.SUFFIXES: .pl 65238405Sjkim 66299479Sjkim.pl.S: 67299479Sjkim ( echo '# $$'FreeBSD'$$' ;\ 68299479Sjkim echo '# Do not modify. This file is auto-generated from ${.IMPSRC:T}.' ;\ 69299480Sjkim env CC=cc perl ${.IMPSRC} elf ) > ${.TARGET} 70238405Sjkim 71299479Sjkim${SHA_TMP}: ${SHA_SRC} 72299480Sjkim env CC=cc perl ${.ALLSRC} elf ${.TARGET} 73299479Sjkim 74299479Sjkim.for s in ${SHA_ASM} 75299479Sjkim${s}.S: ${s}.s 76299464Semaste ( echo ' # $$'FreeBSD'$$' ;\ 77299479Sjkim echo ' # Do not modify. This file is auto-generated from ${SHA_SRC}.' ;\ 78299479Sjkim cat ${s}.s ) > ${.TARGET} 79299479Sjkim.endfor 80238405Sjkim 81305150Sjkim.elif defined(ASM_i386) 82238405Sjkim 83238405Sjkim.PATH: ${LCRYPTO_SRC}/crypto \ 84238405Sjkim ${LCRYPTO_SRC}/crypto/aes/asm \ 85238405Sjkim ${LCRYPTO_SRC}/crypto/bf/asm \ 86238405Sjkim ${LCRYPTO_SRC}/crypto/bn/asm \ 87238405Sjkim ${LCRYPTO_SRC}/crypto/camellia/asm \ 88238405Sjkim ${LCRYPTO_SRC}/crypto/des/asm \ 89238405Sjkim ${LCRYPTO_SRC}/crypto/md5/asm \ 90238405Sjkim ${LCRYPTO_SRC}/crypto/modes/asm \ 91238405Sjkim ${LCRYPTO_SRC}/crypto/rc4/asm \ 92238405Sjkim ${LCRYPTO_SRC}/crypto/rc5/asm \ 93238405Sjkim ${LCRYPTO_SRC}/crypto/ripemd/asm \ 94238405Sjkim ${LCRYPTO_SRC}/crypto/sha/asm \ 95238405Sjkim ${LCRYPTO_SRC}/crypto/whrlpool/asm 96238405Sjkim 97142429SnectarPERLPATH= -I${LCRYPTO_SRC}/crypto/des/asm -I${LCRYPTO_SRC}/crypto/perlasm 9895967Speter 99238405Sjkim# aes 100238405SjkimSRCS= aes-586.pl aesni-x86.pl vpaes-x86.pl 101238405Sjkim 10295967Speter# blowfish 103238405SjkimSRCS+= bf-586.pl bf-686.pl 10495967Speter 10595967Speter# bn 106238405SjkimSRCS+= bn-586.pl co-586.pl x86-gf2m.pl x86-mont.pl 10795967Speter 108238405Sjkim# camellia 109238405SjkimSRCS+= cmll-x86.pl 110238405Sjkim 11195967Speter# des 112238405SjkimSRCS+= crypt586.pl des-586.pl 11395967Speter 11495967Speter# md5 11595967SpeterSRCS+= md5-586.pl 11695967Speter 117238405Sjkim# modes 118238405SjkimSRCS+= ghash-x86.pl 119238405Sjkim 12095967Speter# rc4 12195967SpeterSRCS+= rc4-586.pl 12295967Speter 12395967Speter# rc5 12495967SpeterSRCS+= rc5-586.pl 12595967Speter 12695967Speter# ripemd 12795967SpeterSRCS+= rmd-586.pl 12895967Speter 12995967Speter# sha 130238405SjkimSRCS+= sha1-586.pl sha256-586.pl sha512-586.pl 13195967Speter 132238405Sjkim# whrlpool 133238405SjkimSRCS+= wp-mmx.pl 134238405Sjkim 135238405Sjkim# cpuid 136238405SjkimSRCS+= x86cpuid.pl 137238405Sjkim 138299479SjkimASM= ${SRCS:R:S/$/.S/} 13995967Speter 14095967Speterall: ${ASM} 14195967Speter 142299479SjkimCLEANFILES= ${ASM} 143238405Sjkim.SUFFIXES: .pl 14495967Speter 145299389Sjkim.pl.S: 146299479Sjkim ( echo '# $$'FreeBSD'$$' ;\ 147299479Sjkim echo '# Do not modify. This file is auto-generated from ${.IMPSRC:T}.' ;\ 148299389Sjkim echo '#ifdef PIC' ;\ 149299480Sjkim env CC=cc perl ${PERLPATH} ${.IMPSRC} elf ${CFLAGS} -fpic -DPIC ;\ 150299389Sjkim echo '#else' ;\ 151299480Sjkim env CC=cc perl ${PERLPATH} ${.IMPSRC} elf ${CFLAGS} ;\ 152299389Sjkim echo '#endif') |\ 153299389Sjkim sed -E 's|(\.file[[:blank:]]+)".*"|\1"${.TARGET}"|' > ${.TARGET} 154238405Sjkim.endif 15595967Speter 15695967Speter.include <bsd.prog.mk> 157