13ccda647Slclee# 2bf56214cSstevel# CDDL HEADER START 33ccda647Slclee# 4bf56214cSstevel# The contents of this file are subject to the terms of the 5bf56214cSstevel# Common Development and Distribution License (the "License"). 6bf56214cSstevel# You may not use this file except in compliance with the License. 7bf56214cSstevel# 8bf56214cSstevel# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9bf56214cSstevel# or http://www.opensolaris.org/os/licensing. 10bf56214cSstevel# See the License for the specific language governing permissions 11bf56214cSstevel# and limitations under the License. 12bf56214cSstevel# 13bf56214cSstevel# When distributing Covered Code, include this CDDL HEADER in each 14bf56214cSstevel# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15bf56214cSstevel# If applicable, add the following below this CDDL HEADER, with the 16bf56214cSstevel# fields enclosed by brackets "[]" replaced with your own identifying 17bf56214cSstevel# information: Portions Copyright [yyyy] [name of copyright owner] 18bf56214cSstevel# 19bf56214cSstevel# CDDL HEADER END 20bf56214cSstevel# 21bf56214cSstevel 22bf56214cSstevel# 23342440ecSPrasad Singamsetty# Copyright 2008 Sun Microsystems, Inc. All rights reserved. 243ccda647Slclee# Use is subject to license terms. 253ccda647Slclee# 263ccda647Slclee# This makefile drives the production of the cmlb "misc" 273ccda647Slclee# kernel module. 283ccda647Slclee# 293ccda647Slclee# intel architecture dependent 303ccda647Slclee# 313ccda647Slclee 323ccda647Slclee# 333ccda647Slclee# Path to the base of the uts directory tree (usually /usr/src/uts). 343ccda647Slclee# 353ccda647SlcleeUTSBASE = ../.. 363ccda647Slclee 373ccda647Slclee# 383ccda647Slclee# Define the module and object file sets. 393ccda647Slclee# 403ccda647SlcleeMODULE = cmlb 413ccda647SlcleeOBJECTS = $(CMLB_OBJS:%=$(OBJS_DIR)/%) 423ccda647SlcleeLINTS = $(CMLB_OBJS:%.o=$(LINTS_DIR)/%.ln) 434ebb14b2SfritsWARLOCK_OUT = $(CMLB_OBJS:%.o=%.ll) 444ebb14b2SfritsWARLOCK_OK = $(MODULE).ok 453ccda647SlcleeROOTMODULE = $(ROOT_MISC_DIR)/$(MODULE) 463ccda647Slclee 473ccda647Slclee# 483ccda647Slclee# Include common rules. 493ccda647Slclee# 503ccda647Slcleeinclude $(UTSBASE)/intel/Makefile.intel 513ccda647Slclee 523ccda647Slclee# 533ccda647Slclee# Define targets 543ccda647Slclee# 553ccda647SlcleeALL_TARGET = $(BINARY) 563ccda647SlcleeLINT_TARGET = $(MODULE).lint 573ccda647SlcleeINSTALL_TARGET = $(BINARY) $(ROOTMODULE) 583ccda647Slclee 593ccda647Slclee# 603ccda647Slclee# Overrides. 613ccda647Slclee# 623ccda647SlcleeDEBUG_FLGS = 633ccda647SlcleeDEBUG_DEFS += $(DEBUG_FLGS) 643ccda647Slclee 65342440ecSPrasad Singamsetty# enable larger than 1TB VTOC support 66342440ecSPrasad Singamsetty 67342440ecSPrasad SingamsettyCPPFLAGS += -D_EXTVTOC 68342440ecSPrasad Singamsetty 693ccda647Slclee# 70bb25c06cSjg# For now, disable these lint checks; maintainers should endeavor 71bb25c06cSjg# to investigate and remove these for maximum lint coverage. 72bb25c06cSjg# Please do not carry these forward to new Makefiles. 73bb25c06cSjg# 74bb25c06cSjgLINTTAGS += -erroff=E_SUSPICIOUS_COMPARISON 75bb25c06cSjgLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN 76bb25c06cSjgLINTTAGS += -erroff=E_STATIC_UNUSED 77bb25c06cSjgLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV 78bb25c06cSjg 79*7014882cSRichard LoweCERRWARN += -_gcc=-Wno-unused-label 80*7014882cSRichard LoweCERRWARN += -_gcc=-Wno-type-limits 81*7014882cSRichard LoweCERRWARN += -_gcc=-Wno-parentheses 82*7014882cSRichard LoweCERRWARN += -_gcc=-Wno-unused-function 83*7014882cSRichard LoweCERRWARN += -_gcc=-Wno-uninitialized 84*7014882cSRichard Lowe 85bb25c06cSjg# 863ccda647Slclee# Default build targets. 873ccda647Slclee# 883ccda647Slclee.KEEP_STATE: 893ccda647Slclee 903ccda647Slcleedef: $(DEF_DEPS) 913ccda647Slclee 923ccda647Slcleeall: $(ALL_DEPS) 933ccda647Slclee 943ccda647Slcleeclean: $(CLEAN_DEPS) 954ebb14b2Sfrits $(RM) $(WARLOCK_OUT) $(WARLOCK_OK) 963ccda647Slclee 973ccda647Slcleeclobber: $(CLOBBER_DEPS) 984ebb14b2Sfrits $(RM) $(WARLOCK_OUT) $(WARLOCK_OK) 993ccda647Slclee 1003ccda647Slcleelint: $(LINT_DEPS) 1013ccda647Slclee 1023ccda647Slcleemodlintlib: $(MODLINTLIB_DEPS) 1033ccda647Slclee 1043ccda647Slcleeclean.lint: $(CLEAN_LINT_DEPS) 1053ccda647Slclee 1063ccda647Slcleeinstall: $(INSTALL_DEPS) 1073ccda647Slclee 1083ccda647Slclee# 1093ccda647Slclee# Include common targets. 1103ccda647Slclee# 1113ccda647Slcleeinclude $(UTSBASE)/intel/Makefile.targ 1124ebb14b2Sfrits 1134ebb14b2Sfrits# 1144ebb14b2Sfrits# Defines for local commands. 1154ebb14b2Sfrits# 1164ebb14b2SfritsWLCC = wlcc 1174ebb14b2SfritsTOUCH = touch 1184ebb14b2SfritsWARLOCK = warlock 1194ebb14b2Sfrits 1204ebb14b2Sfrits# 1214ebb14b2Sfrits# Warlock targets 1224ebb14b2Sfrits# 1234ebb14b2Sfritswarlock: $(WARLOCK_OK) 1244ebb14b2Sfrits 1254ebb14b2Sfrits$(WARLOCK_OK): $(WARLOCK_OUT) 1264ebb14b2Sfrits $(TOUCH) $@ 1274ebb14b2Sfrits 1284ebb14b2Sfrits%.ll: $(UTSBASE)/common/io/%.c 1294ebb14b2Sfrits $(WLCC) $(CPPFLAGS) -DDEBUG -o $@ $< 130