Makefile.asm revision 305152
195967Speter# $FreeBSD: stable/11/secure/lib/libcrypto/Makefile.asm 305152 2016-08-31 20:30:49Z 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 81305152Sjkim.elif defined(ASM_arm) 82305152Sjkim 83305152Sjkim.PATH: ${LCRYPTO_SRC}/crypto \ 84305152Sjkim ${LCRYPTO_SRC}/crypto/aes/asm \ 85305152Sjkim ${LCRYPTO_SRC}/crypto/bn/asm \ 86305152Sjkim ${LCRYPTO_SRC}/crypto/modes/asm \ 87305152Sjkim ${LCRYPTO_SRC}/crypto/sha/asm 88305152Sjkim 89305152SjkimPERLPATH= -I${LCRYPTO_SRC}/crypto/perlasm 90305152Sjkim 91305152Sjkim# aes 92305152SjkimSRCS= aesv8-armx.pl bsaes-armv7.pl 93305152Sjkim 94305152Sjkim# bn 95305152SjkimSRCS+= armv4-mont.pl armv4-gf2m.pl 96305152Sjkim 97305152Sjkim# modes 98305152SjkimSRCS+= ghash-armv4.pl ghashv8-armx.pl 99305152Sjkim 100305152Sjkim# sha 101305152SjkimSRCS+= sha1-armv4-large.pl sha256-armv4.pl sha512-armv4.pl 102305152Sjkim 103305152SjkimASM= aes-armv4.S ${SRCS:R:S/$/.S/} 104305152Sjkim 105305152Sjkimall: ${ASM} 106305152Sjkim 107305152SjkimCLEANFILES= ${ASM} ${SRCS:R:S/$/.s/} 108305152Sjkim.SUFFIXES: .pl 109305152Sjkim 110305152Sjkimaes-armv4.S: aes-armv4.pl 111305152Sjkim ( echo '# $$'FreeBSD'$$' ;\ 112305152Sjkim echo '# Do not modify. This file is auto-generated from ${.ALLSRC:T}.' ;\ 113305152Sjkim env CC=cc perl ${.ALLSRC} elf ) > ${.TARGET} 114305152Sjkim 115305152Sjkim.pl.S: 116305152Sjkim env CC=cc perl ${.IMPSRC} elf ${.TARGET:R:S/$/.s/} 117305152Sjkim ( echo ' # $$'FreeBSD'$$' ;\ 118305152Sjkim echo ' # Do not modify. This file is auto-generated from ${.IMPSRC:T:R:S/$/.pl/}.' ;\ 119305152Sjkim cat ${.TARGET:R:S/$/.s/}) > ${.TARGET} 120305152Sjkim 121305150Sjkim.elif defined(ASM_i386) 122238405Sjkim 123238405Sjkim.PATH: ${LCRYPTO_SRC}/crypto \ 124238405Sjkim ${LCRYPTO_SRC}/crypto/aes/asm \ 125238405Sjkim ${LCRYPTO_SRC}/crypto/bf/asm \ 126238405Sjkim ${LCRYPTO_SRC}/crypto/bn/asm \ 127238405Sjkim ${LCRYPTO_SRC}/crypto/camellia/asm \ 128238405Sjkim ${LCRYPTO_SRC}/crypto/des/asm \ 129238405Sjkim ${LCRYPTO_SRC}/crypto/md5/asm \ 130238405Sjkim ${LCRYPTO_SRC}/crypto/modes/asm \ 131238405Sjkim ${LCRYPTO_SRC}/crypto/rc4/asm \ 132238405Sjkim ${LCRYPTO_SRC}/crypto/rc5/asm \ 133238405Sjkim ${LCRYPTO_SRC}/crypto/ripemd/asm \ 134238405Sjkim ${LCRYPTO_SRC}/crypto/sha/asm \ 135238405Sjkim ${LCRYPTO_SRC}/crypto/whrlpool/asm 136238405Sjkim 137142429SnectarPERLPATH= -I${LCRYPTO_SRC}/crypto/des/asm -I${LCRYPTO_SRC}/crypto/perlasm 13895967Speter 139238405Sjkim# aes 140238405SjkimSRCS= aes-586.pl aesni-x86.pl vpaes-x86.pl 141238405Sjkim 14295967Speter# blowfish 143238405SjkimSRCS+= bf-586.pl bf-686.pl 14495967Speter 14595967Speter# bn 146238405SjkimSRCS+= bn-586.pl co-586.pl x86-gf2m.pl x86-mont.pl 14795967Speter 148238405Sjkim# camellia 149238405SjkimSRCS+= cmll-x86.pl 150238405Sjkim 15195967Speter# des 152238405SjkimSRCS+= crypt586.pl des-586.pl 15395967Speter 15495967Speter# md5 15595967SpeterSRCS+= md5-586.pl 15695967Speter 157238405Sjkim# modes 158238405SjkimSRCS+= ghash-x86.pl 159238405Sjkim 16095967Speter# rc4 16195967SpeterSRCS+= rc4-586.pl 16295967Speter 16395967Speter# rc5 16495967SpeterSRCS+= rc5-586.pl 16595967Speter 16695967Speter# ripemd 16795967SpeterSRCS+= rmd-586.pl 16895967Speter 16995967Speter# sha 170238405SjkimSRCS+= sha1-586.pl sha256-586.pl sha512-586.pl 17195967Speter 172238405Sjkim# whrlpool 173238405SjkimSRCS+= wp-mmx.pl 174238405Sjkim 175238405Sjkim# cpuid 176238405SjkimSRCS+= x86cpuid.pl 177238405Sjkim 178299479SjkimASM= ${SRCS:R:S/$/.S/} 17995967Speter 18095967Speterall: ${ASM} 18195967Speter 182299479SjkimCLEANFILES= ${ASM} 183238405Sjkim.SUFFIXES: .pl 18495967Speter 185299389Sjkim.pl.S: 186299479Sjkim ( echo '# $$'FreeBSD'$$' ;\ 187299479Sjkim echo '# Do not modify. This file is auto-generated from ${.IMPSRC:T}.' ;\ 188299389Sjkim echo '#ifdef PIC' ;\ 189299480Sjkim env CC=cc perl ${PERLPATH} ${.IMPSRC} elf ${CFLAGS} -fpic -DPIC ;\ 190299389Sjkim echo '#else' ;\ 191299480Sjkim env CC=cc perl ${PERLPATH} ${.IMPSRC} elf ${CFLAGS} ;\ 192299389Sjkim echo '#endif') |\ 193299389Sjkim sed -E 's|(\.file[[:blank:]]+)".*"|\1"${.TARGET}"|' > ${.TARGET} 194238405Sjkim.endif 19595967Speter 19695967Speter.include <bsd.prog.mk> 197