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 2008 Sun Microsystems, Inc.  All rights reserved.
  23 # Use is subject to license terms.
  24 #
  25 # ident "@(#)Makefile.com       1.5     08/03/05 SMI"
  26 #
  27 
  28 # $LIBRARY is set in lower makefiles so we can have platform and
  29 # processor optimised versions of this library via libmd_psr and libmd_hwcapN
  30 
  31 #LIBRARY= libmd.a
  32 VERS= .1
  33 
  34 OBJECTS= md4.o md5.o $(MD5_PSR_OBJECTS) sha1.o $(SHA1_PSR_OBJECTS) \
  35                 sha2.o $(SHA2_PSR_OBJECTS)
  36 
  37 # Use $(SRC) to include makefiles rather than ../../ because the
  38 # platform subdirs are one level deeper so it would be ../../../ for them
  39 include $(SRC)/lib/Makefile.lib
  40 include $(SRC)/lib/Makefile.rootfs
  41 
  42 LIBS =          $(DYNLIB) $(LINTLIB)
  43 SRCS = \
  44         $(COMDIR)/md4/md4.c \
  45         $(COMDIR)/md5/md5.c \
  46         $(COMDIR)/sha1/sha1.c \
  47         $(COMDIR)/sha2/sha2.c
  48 
  49 COMDIR= $(SRC)/common/crypto
  50 
  51 $(LINTLIB) :=   SRCS = $(SRCDIR)/$(LINTSRC)
  52 LDLIBS +=       -lc
  53 
  54 SRCDIR =        ../common
  55 COMDIR =        $(SRC)/common/crypto
  56 
  57 CFLAGS += $(CCVERBOSE) $(C_BIGPICFLAGS)
  58 CFLAGS64 += $(C_BIGPICFLAGS)
  59 CPPFLAGS += -I$(SRCDIR)
  60 
  61 # The md5 and sha1 code is very careful about data alignment
  62 # but lint doesn't know that, so just shut lint up.
  63 LINTFLAGS += -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
  64 LINTFLAGS64 += -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
  65 
  66 
  67 ROOTLINT= $(LINTSRC:%=$(ROOTLIBDIR)/%)
  68 
  69 .KEEP_STATE:
  70 
  71 all: $(LIBS) fnamecheck
  72 
  73 lint: lintcheck
  74 
  75 pics/%.o: $(COMDIR)/md4/%.c
  76         $(COMPILE.c) -I$(COMDIR)/md4 -o $@ $<
  77         $(POST_PROCESS_O)
  78 
  79 pics/%.o: $(COMDIR)/md5/%.c
  80         $(COMPILE.c) -I$(COMDIR)/md5 $(INLINES) -o $@ $<
  81         $(POST_PROCESS_O)
  82 
  83 pics/%.o: $(COMDIR)/sha1/%.c
  84         $(COMPILE.c) -I$(COMDIR)/sha1 -o $@ $<
  85         $(POST_PROCESS_O)
  86 
  87 pics/%.o: $(COMDIR)/sha1/sparc/$(PLATFORM)/sha1_asm.s
  88         $(COMPILE.s) -P -DPIC -D_ASM -o $@ $<
  89         $(POST_PROCESS_O)
  90 
  91 pics/%.o: $(COMDIR)/sha2/%.c
  92         $(COMPILE.c) -I$(COMDIR)/sha2 -o $@ $<
  93         $(POST_PROCESS_O)
  94 
  95 #
  96 # Used when building links in /platform/$(PLATFORM)/lib for libmd_psr.so.1
  97 #
  98 
  99 LIBMD_PSR_DIRS = $(LINKED_PLATFORMS:%=$(ROOT_PLAT_DIR)/%/lib)
 100 LIBMD_PSR_LINKS = $(LINKED_PLATFORMS:%=$(ROOT_PLAT_DIR)/%/lib/$(MODULE))
 101 
 102 LIBMD_PSR64_DIRS = $(LINKED_PLATFORMS:%=$(ROOT_PLAT_DIR)/%/lib/$(MACH64))
 103 LIBMD_PSR64_LINKS = $(LINKED_PLATFORMS:%=$(ROOT_PLAT_DIR)/%/lib/$(MACH64)/$(MODULE))
 104 
 105 INS.slink6 = $(RM) -r $@; $(SYMLINK) ../../$(PLATFORM)/lib/$(MODULE) $@ $(CHOWNLINK) $(CHGRPLINK)
 106 
 107 INS.slink64 = $(RM) -r $@; $(SYMLINK) ../../../$(PLATFORM)/lib/$(MACH64)/$(MODULE) $@ $(CHOWNLINK) $(CHGRPLINK)
 108 
 109 $(LIBMD_PSR_DIRS):
 110         -$(INS.dir.root.bin)
 111 
 112 $(LIBMD_PSR_LINKS): $(LIBMD_PSR_DIRS)
 113         -$(INS.slink6)
 114 
 115 $(LIBMD_PSR64_DIRS):
 116         -$(INS.dir.root.bin)
 117 
 118 $(LIBMD_PSR64_LINKS): $(LIBMD_PSR64_DIRS)
 119         -$(INS.slink64)
 120 
 121 include $(SRC)/lib/Makefile.targ