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