1 # 2 # CDDL HEADER START 3 # 4 # The contents of this file are subject to the terms of the 5 # Common Development and Distribution License (the "License"). 6 # You may not use this file except in compliance with the License. 7 # 8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 # or http://opensource.org/licenses/CDDL-1.0. 10 # See the License for the specific language governing permissions 11 # and limitations under the License. 12 # 13 # When distributing Covered Code, include this CDDL HEADER in each 14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 # If applicable, add the following below this CDDL HEADER, with the 16 # fields enclosed by brackets "[]" replaced with your own identifying 17 # information: Portions Copyright [yyyy] [name of copyright owner] 18 # 19 # CDDL HEADER END 20 # 21 # Copyright 2013 Saso Kiselkov. All rights reserved. 22 # 23 # This makefile drives the production of the sha2 test suite. 24 # To run the tests, simply type "make" or "make check". 25 26 include ../../../../Makefile.master 27 28 CFLAGS = -I${SRC}/uts/common -D_KERNEL -fno-builtin -O2 -W -Wall \ 29 -Wno-unknown-pragmas -Wno-unused -std=c99 30 CPUMHZ:sh = psrinfo -v 0 | awk '/processor operates at/{print $6}' 31 GCC = $(GCC_ROOT)/bin/gcc 32 33 PERL = perl 34 AS = /opt/onbld/bin/i386/aw 35 ASSFLAGS = -P -xarch=amd64 -P -Ui386 -U__i386 -D_KERNEL -D_SYSCALL32 \ 36 -D_SYSCALL32_IMPL -D_ELF64 -D_DDI_STRICT -Dsun -D__sun -D__SVR4 \ 37 -DDEBUG -D_ASM -D__STDC__=0 -I../../../../uts/intel \ 38 -I../../../../uts/common 39 COMPILE.s = $(AS) $(ASSFLAGS) 40 41 check : sha2_test32_check sha2_test64_check 42 all : sha2_test32 sha2_test64 43 44 sha2_test32 : sha2_test.c 45 @ echo Building 32-bit test... 46 @ $(GCC) $(CFLAGS) -o sha2_test32 sha2_test.c ../sha2.c 47 48 sha2_test64 : sha2_test.c sha256-x86_64.o sha512-x86_64.o ../sha2.c 49 @ echo Building 64-bit test... 50 @ $(GCC) $(CFLAGS) -m64 -o $@ sha2_test.c sha256-x86_64.o \ 51 sha512-x86_64.o ../sha2.c 52 53 sha2_test32_check : sha2_test32 54 @ echo Running 32-bit test... 55 @ ./sha2_test32 $(CPUMHZ) 56 57 sha2_test64_check : sha2_test64 58 @ echo Running 64-bit test... 59 @ ./sha2_test64 $(CPUMHZ) 60 61 %.o: %.s 62 @ $(COMPILE.s) -o $@ ${@F:.o=.s} 63 64 sha512-x86_64.s: ../amd64/sha512-x86_64.pl 65 @ $(PERL) $? $@ 66 67 sha256-x86_64.s: ../amd64/sha512-x86_64.pl 68 @ $(PERL) $? $@ 69 70 clean : 71 rm -f sha2_test32 sha2_test64 *.o *.s