Home | History | Annotate | Download | only in cmlb
      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 2008 Sun Microsystems, Inc.  All rights reserved.
     24 # Use is subject to license terms.
     25 #
     26 #	This makefile drives the production of the cmlb "misc"
     27 #	kernel module.
     28 #
     29 #	intel architecture dependent
     30 #
     31 
     32 #
     33 #	Path to the base of the uts directory tree (usually /usr/src/uts).
     34 #
     35 UTSBASE	= ../..
     36 
     37 #
     38 #	Define the module and object file sets.
     39 #
     40 MODULE		= cmlb
     41 OBJECTS		= $(CMLB_OBJS:%=$(OBJS_DIR)/%)
     42 LINTS		= $(CMLB_OBJS:%.o=$(LINTS_DIR)/%.ln)
     43 WARLOCK_OUT	= $(CMLB_OBJS:%.o=%.ll)
     44 WARLOCK_OK	= $(MODULE).ok
     45 ROOTMODULE	= $(ROOT_MISC_DIR)/$(MODULE)
     46 
     47 #
     48 #	Include common rules.
     49 #
     50 include $(UTSBASE)/intel/Makefile.intel
     51 
     52 #
     53 #	Define targets
     54 #
     55 ALL_TARGET	= $(BINARY)
     56 LINT_TARGET	= $(MODULE).lint
     57 INSTALL_TARGET	= $(BINARY) $(ROOTMODULE)
     58 
     59 #
     60 #	Overrides.
     61 #
     62 DEBUG_FLGS	=
     63 DEBUG_DEFS	+= $(DEBUG_FLGS)
     64 
     65 # enable larger than 1TB VTOC support
     66 
     67 CPPFLAGS	+= -D_EXTVTOC
     68 
     69 #
     70 # For now, disable these lint checks; maintainers should endeavor
     71 # to investigate and remove these for maximum lint coverage.
     72 # Please do not carry these forward to new Makefiles.
     73 #
     74 LINTTAGS	+= -erroff=E_SUSPICIOUS_COMPARISON
     75 LINTTAGS	+= -erroff=E_BAD_PTR_CAST_ALIGN
     76 LINTTAGS	+= -erroff=E_STATIC_UNUSED
     77 LINTTAGS	+= -erroff=E_ASSIGN_NARROW_CONV
     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 		$(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
     90 
     91 clobber:	$(CLOBBER_DEPS)
     92 		$(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
     93 
     94 lint:		$(LINT_DEPS)
     95 
     96 modlintlib:	$(MODLINTLIB_DEPS)
     97 
     98 clean.lint:	$(CLEAN_LINT_DEPS)
     99 
    100 install:	$(INSTALL_DEPS)
    101 
    102 #
    103 #	Include common targets.
    104 #
    105 include $(UTSBASE)/intel/Makefile.targ
    106 
    107 #
    108 #	Defines for local commands.
    109 #
    110 WLCC		= wlcc
    111 TOUCH		= touch
    112 WARLOCK		= warlock
    113 
    114 #
    115 #	Warlock targets
    116 #
    117 warlock: $(WARLOCK_OK) 
    118 
    119 $(WARLOCK_OK):	$(WARLOCK_OUT)
    120 	$(TOUCH) $@
    121 
    122 %.ll: $(UTSBASE)/common/io/%.c
    123 	$(WLCC) $(CPPFLAGS) -DDEBUG -o $@ $<
    124