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://www.opensolaris.org/os/licensing. 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 # 22 # Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. 23 # Copyright 2013 Saso Kiselkov. All rights reserved. 24 # 25 26 LIBRARY = libmd.a 27 VERS = .1 28 29 OBJECTS = edonr.o md4.o md5.o sha1.o sha2.o \ 30 skein.o skein_block.o skein_iv.o 31 32 include $(SRC)/lib/Makefile.lib 33 include $(SRC)/lib/Makefile.rootfs 34 include $(SRC)/lib/Makefile.lib.64 35 include ../Makefile.com 36 37 CAPFILES = pics/sha1-ni.o \ 38 pics/sha256-ni.o 39 40 EXTPICS = pics/md5_amd64.o \ 41 pics/sha512-x86_64.o \ 42 pics/sha256-x86_64.o \ 43 pics/sha1-x86_64.o \ 44 $(CAPFILES:%.o=%.o.symcap) 45 46 CLEANFILES += $(EXTPICS) \ 47 $(EXTPICS:pics/%.o=%.s) \ 48 $(CAPFILES) \ 49 $(CAPFILES:%.o=%.o.objcap) \ 50 $(CAPFILES:%.o=%.o.symcap) 51 52 pics/sha1-ni.o.objcap := CAPFILE = capabilities/sha.cap 53 pics/sha256-ni.o.objcap := CAPFILE = capabilities/sha.cap 54 55 # This prevents <sys/asm_linkage.h> from including C source: 56 AS_CPPFLAGS += -D_ASM 57 58 .KEPP_STATE: 59 60 all: $(LIBS) 61 62 install: all $(ROOTLIBS64) $(ROOTLINKS64) $(ROOTLINT64) 63 64 lint: lintcheck 65 66 pics/%.o: %.s 67 $(COMPILE.s) -o $@ ${@F:.o=.s} 68 $(POST_PROCESS_O) 69 70 pics/%.o: $(SRC)/common/crypto/sha1/amd64/%.s 71 $(COMPILE.s) -o $@ $< 72 $(POST_PROCESS_O) 73 74 pics/%.o: $(SRC)/common/crypto/sha2/amd64/%.s 75 $(COMPILE.s) -o $@ $< 76 $(POST_PROCESS_O) 77 78 pics/%.o.objcap: pics/%.o 79 $(LD) -r -o $@ -M$(CAPFILE) -Breduce $< 80 $(POST_PROCESS_O) 81 82 pics/%.o.symcap: pics/%.o.objcap 83 $(LD) -r -o $@ -z symbolcap $< 84 85 md5_amd64.s: $(COMDIR)/md5/amd64/md5_amd64.pl 86 $(PERL) $? $@ 87 88 sha1-x86_64.s: $(COMDIR)/sha1/amd64/sha1-x86_64.pl 89 $(PERL) $? $@ 90 91 sha512-x86_64.s: $(COMDIR)/sha2/amd64/sha512-x86_64.pl 92 $(PERL) $? $@ 93 94 sha256-x86_64.s: $(COMDIR)/sha2/amd64/sha512-x86_64.pl 95 $(PERL) $? $@ 96 97 include ../Makefile.targ