Home | History | Annotate | Download | only in hummingbird
      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 #
     23 # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
     24 # Use is subject to license terms.
     25 #
     26 
     27 #
     28 #	This makefile drives the production of the sun4u UltraSPARC-IIe
     29 #	driver module.
     30 #
     31 #	sun4u implementation architecture dependent
     32 #
     33 
     34 #
     35 #	Path to the base of the uts directory tree (usually /usr/src/uts).
     36 #
     37 UTSBASE	= ../..
     38 
     39 #
     40 #	Define the module and object file sets.
     41 #
     42 MODULE		= SUNW,UltraSPARC-IIe
     43 OBJECTS		= $(HUMMINGBIRD_OBJS:%=$(OBJS_DIR)/%)
     44 LINTS		= $(HUMMINGBIRD_OBJS:%.o=$(LINTS_DIR)/%.ln)
     45 ROOTMODULE	= $(ROOT_PSM_CPU_DIR)/$(MODULE)
     46 ROOTSOFTLINKS	= $(SOFTLINKS:%=$(ROOT_PSM_CPU_DIR)/%)
     47 
     48 CPU_DIR		= .
     49 HERE		= ../hummingbird
     50 
     51 #
     52 #	Include common rules.
     53 #
     54 include $(UTSBASE)/sun4u/Makefile.sun4u
     55 
     56 #
     57 #	Override defaults
     58 #
     59 CLEANFILES	+= $(CPULIB) $(SYM_MOD)
     60 
     61 #
     62 #	Define targets
     63 #
     64 ALL_TARGET	= $(SYM_MOD)
     65 LINT_TARGET	= $(MODULE).lint
     66 INSTALL_TARGET	= def $(BINARY) $(ROOTMODULE) $(ROOTSOFTLINKS)
     67 
     68 #
     69 # lint pass one enforcement
     70 #
     71 CFLAGS += $(CCVERBOSE)
     72 
     73 #
     74 # cpu-module-specific flags
     75 #
     76 CPPFLAGS += -DCPU_MODULE -DHUMMINGBIRD
     77 AS_CPPFLAGS += -DCPU_MODULE -DHUMMINGBIRD
     78 
     79 #
     80 #	Default build targets.
     81 #
     82 .KEEP_STATE:
     83 
     84 def:		$(DEF_DEPS)
     85 
     86 all:		$(ALL_DEPS)
     87 
     88 clean:		$(CLEAN_DEPS)
     89 
     90 clobber:	$(CLOBBER_DEPS)
     91 
     92 lint:		$(LINT_DEPS)
     93 
     94 modlintlib:	$(MODLINTLIB_DEPS)
     95 
     96 clean.lint:	$(CLEAN_LINT_DEPS)
     97 
     98 install:	$(INSTALL_DEPS)
     99 
    100 $(CPULIB):	$(BINARY)
    101 	$(BUILD.SO) $(BINARY)
    102 
    103 $(SYM_MOD):	$(UNIX_O) $(CPULIB)
    104 	@echo "resolving symbols against unix.o"
    105 	@(cd $(UNIX_DIR); pwd; \
    106 	    CPU_DIR=$(HERE) SYM_MOD=$(HERE)/$(SYM_MOD) $(MAKE) symcheck)
    107 
    108 $(ROOTSOFTLINKS): $(ROOTMODULE)
    109 	$(RM) $@; $(SYMLINK) $(MODULE) $@
    110 
    111 #	Include common targets.
    112 #
    113 include $(UTSBASE)/sun4u/Makefile.targ
    114 
    115 #
    116 # For now, disable these lint checks; maintainers should endeavor
    117 # to investigate and remove these for maximum lint coverage.
    118 # Please do not carry these forward to new Makefiles.
    119 #
    120 LINTTAGS	+= -erroff=E_PTRDIFF_OVERFLOW
    121 LINTTAGS	+= -erroff=E_ASSIGN_NARROW_CONV
    122 LINTTAGS	+= -erroff=E_BAD_FORMAT_STR2
    123