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 26LIBRARY = libmd.a 27VERS = .1 28 29OBJECTS = edonr.o md4.o md5.o sha1.o sha2.o \ 30 skein.o skein_block.o skein_iv.o 31 32include $(SRC)/lib/Makefile.lib 33include $(SRC)/lib/Makefile.rootfs 34include $(SRC)/lib/Makefile.lib.64 35include ../Makefile.com 36 37CAPFILES = pics/sha1-ni.o \ 38 pics/sha256-ni.o 39 40EXTPICS = 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 46CLEANFILES += $(EXTPICS) \ 47 $(EXTPICS:pics/%.o=%.S) \ 48 $(EXTPICS:pics/%.o=%.s) \ 49 $(CAPFILES) \ 50 $(CAPFILES:%.o=%.o.objcap) \ 51 $(CAPFILES:%.o=%.o.symcap) 52 53pics/sha1-ni.o.objcap := CAPFILE = capabilities/sha.cap 54pics/sha256-ni.o.objcap := CAPFILE = capabilities/sha.cap 55 56# This prevents <sys/asm_linkage.h> from including C source: 57AS_CPPFLAGS += -D_ASM 58 59.KEPP_STATE: 60 61all: $(LIBS) 62 63install: all $(ROOTLIBS64) $(ROOTLINKS64) $(ROOTCOMPATLINKS64) 64 65pics/%.o: %.s 66 $(COMPILE.s) -o $@ ${@F:.o=.s} 67 $(POST_PROCESS_O) 68 69pics/%.o: %.S 70 $(COMPILE.s) -o $@ ${@F:.o=.S} 71 $(POST_PROCESS_O) 72 73pics/%.o: $(SRC)/common/crypto/sha1/amd64/%.S 74 $(COMPILE.s) -o $@ $< 75 $(POST_PROCESS_O) 76 77pics/%.o: $(SRC)/common/crypto/sha2/amd64/%.S 78 $(COMPILE.s) -o $@ $< 79 $(POST_PROCESS_O) 80 81pics/%.o.objcap: pics/%.o 82 $(LD) -r -o $@ -Wl,-M$(CAPFILE) $(BREDUCE) $< 83 $(POST_PROCESS_O) 84 85pics/%.o.symcap: pics/%.o.objcap 86 $(LD) -r -o $@ -z symbolcap $< 87 88md5_amd64.S: $(COMDIR)/md5/amd64/md5_amd64.pl 89 $(PERL) $? $@ 90 91sha1-x86_64.S: $(COMDIR)/sha1/amd64/sha1-x86_64.pl 92 $(PERL) $? $@ 93 94sha512-x86_64.S: $(COMDIR)/sha2/amd64/sha512-x86_64.pl 95 $(PERL) $? $@ 96 97sha256-x86_64.S: $(COMDIR)/sha2/amd64/sha512-x86_64.pl 98 $(PERL) $? $@ 99 100include ../Makefile.targ 101