Makefile revision bb25c06cca41ca78e5fb87fbb8e81d55beb18c95
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# uts/sparc/cmlb/Makefile
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# Use is subject to license terms.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#ident "%Z%%M% %I% %E% SMI"
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# This makefile drives the production of the cmlb "misc"
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# kernel module.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# Path to the base of the uts directory tree (usually /usr/src/uts).
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncUTSBASE = ../..
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# Define the module and object file sets.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncMODULE = cmlb
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncOBJECTS = $(CMLB_OBJS:%=$(OBJS_DIR)/%)
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncLINTS = $(CMLB_OBJS:%.o=$(LINTS_DIR)/%.ln)
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncWARLOCK_OUT = $(CMLB_OBJS:%.o=%.ll)
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncWARLOCK_OK = $(MODULE).ok
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncROOTMODULE = $(ROOT_MISC_DIR)/$(MODULE)
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# Include common rules.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncinclude $(UTSBASE)/sparc/Makefile.sparc
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync# Define targets
#
ALL_TARGET = $(BINARY)
LINT_TARGET = $(MODULE).lint
INSTALL_TARGET = $(BINARY) $(ROOTMODULE)
#
# Overrides.
#
DEBUG_FLGS =
DEBUG_DEFS += $(DEBUG_FLGS)
#
# For now, disable these lint checks; maintainers should endeavor
# to investigate and remove these for maximum lint coverage.
# Please do not carry these forward to new Makefiles.
#
LINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
LINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
LINTTAGS += -erroff=E_STATIC_UNUSED
LINTTAGS += -erroff=E_SUSPICIOUS_COMPARISON
#
# Default build targets.
#
.KEEP_STATE:
def: $(DEF_DEPS)
all: $(ALL_DEPS)
clean: $(CLEAN_DEPS)
$(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
clobber: $(CLOBBER_DEPS)
$(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
lint: $(LINT_DEPS)
modlintlib: $(MODLINTLIB_DEPS)
clean.lint: $(CLEAN_LINT_DEPS)
install: $(INSTALL_DEPS)
#
# Include common targets.
#
include $(UTSBASE)/sparc/Makefile.targ
#
# Defines for local commands.
#
WLCC = wlcc
TOUCH = touch
WARLOCK = warlock
#
# Warlock targets
#
CMLB_FILES = $(CMLB_OBJS:%.o=%.ll)
warlock: $(MODULE).ok
%.ok: $(CMLB_FILES)
$(TOUCH) $@
%.ll: $(UTSBASE)/common/io/%.c
$(WLCC) $(CPPFLAGS) -DDEBUG -o $@ $<