Home | History | Annotate | Download | only in aes
      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 2009 Sun Microsystems, Inc.  All rights reserved.
     23 # Use is subject to license terms.
     24 #
     25 #	This makefile drives the production of the AES KEF provider.
     26 #
     27 #	Intel implementation architecture dependent
     28 #
     29 
     30 #
     31 #	Path to the base of the uts directory tree (usually /usr/src/uts).
     32 #
     33 UTSBASE	= ../..
     34 COM_DIR = $(COMMONBASE)/crypto/aes
     35 
     36 #
     37 #	Define the module and object file sets.
     38 #
     39 MODULE		= aes
     40 LINTS		= $(AESPROV_OBJS:%.o=$(LINTS_DIR)/%.ln)
     41 AESPROV_OBJS_32	=
     42 AESPROV_OBJS_64	= aes_amd64.o aes_intel.o aeskey.o
     43 AESPROV_OBJS	+= $(AESPROV_OBJS_$(CLASS))
     44 OBJECTS		= $(AESPROV_OBJS:%=$(OBJS_DIR)/%)
     45 ROOTMODULE	= $(ROOT_CRYPTO_DIR)/$(MODULE)
     46 
     47 #
     48 #	Include common rules.
     49 #
     50 include $(UTSBASE)/intel/Makefile.intel
     51 
     52 #	set signing mode
     53 ELFSIGN_MOD	= $(ELFSIGN_CRYPTO)
     54 
     55 #
     56 #	Define targets
     57 #
     58 ALL_TARGET	= $(BINARY)
     59 LINT_TARGET	= $(MODULE).lint
     60 INSTALL_TARGET	= $(BINARY) $(ROOTMODULE)
     61 
     62 #
     63 #	Linkage dependencies
     64 #
     65 LDFLAGS += -dy -Nmisc/kcf
     66 
     67 CPPFLAGS	+= -I$(COM_DIR) -I$(COM_DIR)/..
     68 CPPFLAGS	+= -DCRYPTO_PROVIDER_NAME=\"$(MODULE)\"
     69 AS_CPPFLAGS	+= -I../../$(PLATFORM)
     70 
     71 #
     72 #	Default build targets.
     73 #
     74 .KEEP_STATE:
     75 
     76 def:		$(DEF_DEPS)
     77 
     78 all:		$(ALL_DEPS)
     79 
     80 clean:		$(CLEAN_DEPS)
     81 
     82 clobber:	$(CLOBBER_DEPS)
     83 
     84 lint:		$(LINT_DEPS)
     85 
     86 modlintlib:	$(MODLINTLIB_DEPS)
     87 
     88 clean.lint:	$(CLEAN_LINT_DEPS)
     89 
     90 install:	$(INSTALL_DEPS)
     91 
     92 #
     93 #	Include common targets.
     94 #
     95 include $(UTSBASE)/intel/Makefile.targ
     96 
     97 $(OBJS_DIR)/%.ln: $(COM_DIR)/amd64/%.c
     98 	@($(LHEAD) $(LINT.c) $(COM_DIR)/amd64/${@F:.ln=.c} $(LTAIL))
     99 
    100 $(OBJS_DIR)/%.o:  $(COM_DIR)/amd64/%.c
    101 	$(COMPILE.c) -o $@ $(COM_DIR)/amd64/${@F:.o=.c}
    102 	$(POST_PROCESS_O)
    103 
    104 $(OBJS_DIR)/%.o: $(COM_DIR)/amd64/%.s
    105 	$(COMPILE.s) -o $@ $(COM_DIR)/amd64/${@F:.o=.s}
    106 	$(POST_PROCESS_O)
    107 
    108 $(OBJS_DIR)/%.ln: $(COM_DIR)/amd64/%.s
    109 	@($(LHEAD) $(LINT.s) $(COM_DIR)/amd64/${@F:.ln=.s} $(LTAIL))
    110