Makefile revision 4604:5989fb2cb1d5
1215976Sjmallett#
2232812Sjmallett# CDDL HEADER START
3215976Sjmallett#
4215976Sjmallett# The contents of this file are subject to the terms of the
5215976Sjmallett# Common Development and Distribution License (the "License").
6215976Sjmallett# You may not use this file except in compliance with the License.
7215976Sjmallett#
8215976Sjmallett# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9215976Sjmallett# or http://www.opensolaris.org/os/licensing.
10215976Sjmallett# See the License for the specific language governing permissions
11215976Sjmallett# and limitations under the License.
12215976Sjmallett#
13215976Sjmallett# When distributing Covered Code, include this CDDL HEADER in each
14215976Sjmallett# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15215976Sjmallett# If applicable, add the following below this CDDL HEADER, with the
16215976Sjmallett# fields enclosed by brackets "[]" replaced with your own identifying
17215976Sjmallett# information: Portions Copyright [yyyy] [name of copyright owner]
18232812Sjmallett#
19215976Sjmallett# CDDL HEADER END
20215976Sjmallett#
21215976Sjmallett#
22215976Sjmallett# uts/intel/st/Makefile
23215976Sjmallett# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
24215976Sjmallett# Use is subject to license terms.
25215976Sjmallett#
26215976Sjmallett#ident	"%Z%%M%	%I%	%E% SMI"
27215976Sjmallett#
28215976Sjmallett#	This makefile drives the production of the st driver
29232812Sjmallett#	kernel module.
30215976Sjmallett#
31215976Sjmallett#	intel implementation architecture independent
32215976Sjmallett#
33215976Sjmallett
34215976Sjmallett#
35215976Sjmallett#	Path to the base of the uts directory tree (usually /usr/src/uts).
36215976Sjmallett#
37215976SjmallettUTSBASE	= ../..
38215976Sjmallett
39215976Sjmallett#
40215976Sjmallett#	Define the module and object file sets.
41215976Sjmallett#
42215976SjmallettMODULE		= st
43215976SjmallettOBJECTS		= $(ST_OBJS:%=$(OBJS_DIR)/%)
44215976SjmallettLINTS		= $(ST_OBJS:%.o=$(LINTS_DIR)/%.ln)
45215976SjmallettROOTMODULE	= $(ROOT_DRV_DIR)/$(MODULE)
46215976SjmallettCONF_SRCDIR	= $(UTSBASE)/intel/io/scsi/targets
47215976SjmallettWARLOCK_OUT     = $(ST_OBJS:%.o=%.ll)
48215976SjmallettWARLOCK_OK      = $(MODULE).ok
49215976SjmallettWLCMD_DIR	= $(UTSBASE)/common/io/warlock
50215976Sjmallett
51215976Sjmallett#
52232812Sjmallett#	Include common rules.
53232812Sjmallett#
54215976Sjmallettinclude $(UTSBASE)/intel/Makefile.intel
55215976Sjmallett
56215976Sjmallett#
57215976Sjmallett#	Define targets
58215976Sjmallett#
59232812SjmallettALL_TARGET	= $(BINARY) $(SRC_CONFILE)
60215976SjmallettLINT_TARGET	= $(MODULE).lint
61215976SjmallettINSTALL_TARGET	= $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
62215976Sjmallett
63215976Sjmallett#
64215976Sjmallett#	Overrides.
65215976Sjmallett#
66215976SjmallettDEBUG_FLGS	=
67215976SjmallettDEBUG_DEFS	+= $(DEBUG_FLGS)
68215976Sjmallett
69215976Sjmallett#
70232812Sjmallett# For now, disable these lint checks; maintainers should endeavor
71232812Sjmallett# to investigate and remove these for maximum lint coverage.
72232812Sjmallett# Please do not carry these forward to new Makefiles.
73232812Sjmallett#
74232812SjmallettLINTTAGS	+= -erroff=E_SUSPICIOUS_COMPARISON
75215976SjmallettLINTTAGS	+= -erroff=E_BAD_PTR_CAST_ALIGN
76232812SjmallettLINTTAGS	+= -erroff=E_ASSIGN_NARROW_CONV
77215976Sjmallett
78215976Sjmallett#
79232812Sjmallett#	Default build targets.
80215976Sjmallett#
81215976Sjmallett.KEEP_STATE:
82215976Sjmallett
83215976Sjmallettdef:		$(DEF_DEPS)
84215976Sjmallett
85232812Sjmallettall:		$(ALL_DEPS)
86215976Sjmallett
87215976Sjmallettclean:		$(CLEAN_DEPS)
88215976Sjmallett		$(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
89215976Sjmallett
90215976Sjmallettclobber:	$(CLOBBER_DEPS)
91215976Sjmallett		$(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
92215976Sjmallett
93215976Sjmallettlint:		$(LINT_DEPS)
94215976Sjmallett
95215976Sjmallettmodlintlib:	$(MODLINTLIB_DEPS)
96232812Sjmallett
97215976Sjmallettclean.lint:	$(CLEAN_LINT_DEPS)
98215976Sjmallett
99215976Sjmallettinstall:	$(INSTALL_DEPS)
100215976Sjmallett
101215976Sjmallett#
102215976Sjmallett#	Include common targets.
103215976Sjmallett#
104215976Sjmallettinclude $(UTSBASE)/intel/Makefile.targ
105215976Sjmallett
106215976Sjmallett#
107232812Sjmallett#	Defines for local commands.
108215976Sjmallett#
109215976SjmallettWARLOCK		= warlock
110215976SjmallettWLCC		= wlcc
111215976SjmallettTOUCH		= touch
112215976SjmallettTEST		= test
113215976Sjmallett
114215976Sjmallett#
115215976Sjmallett# Warlock targets
116215976Sjmallett#
117215976Sjmallett
118232812SjmallettSCSI_FILES = $(SCSI_OBJS:%.o=-l ../scsi/%.ll)
119215976Sjmallett
120215976SjmallettWARLOCK_TARGETS = warlock_alone
121215976Sjmallett$(CLOSED_BUILD)WARLOCK_TARGETS += warlock_with_glm
122215976Sjmallett
123215976Sjmallettwarlock: $(WARLOCK_TARGETS)
124215976Sjmallett
125215976Sjmallettwarlock_alone: $(WARLOCK_OK)
126215976Sjmallett
127215976Sjmallettscsi_files:
128215976Sjmallett	@cd ../scsi; pwd; $(MAKE) warlock
129232812Sjmallett
130232812Sjmallett$(WARLOCK_OK): 	$(WLCMD_DIR)/st.wlcmd $(WARLOCK_OUT) scsi_files \
131232812Sjmallett	warlock_ddi.files
132232812Sjmallett	$(WARLOCK) -c $(WLCMD_DIR)/st.wlcmd $(WARLOCK_OUT) $(SCSI_FILES) \
133232812Sjmallett	-l ../warlock/ddi_dki_impl.ll
134215976Sjmallett	$(TOUCH) $@
135215976Sjmallett
136215976Sjmallett%.ll: $(UTSBASE)/common/io/scsi/targets/%.c
137215976Sjmallett	$(WLCC) $(CPPFLAGS) -DDEBUG -o $@ $<
138215976Sjmallett
139215976Sjmallettwarlock_with_glm: $(WLCMD_DIR)/st_with_glm.wlcmd $(WARLOCK_OUT) scsi_files \
140215976Sjmallett	glm_files warlock_ddi.files
141215976Sjmallett	$(WARLOCK) -c $(WLCMD_DIR)/st_with_glm.wlcmd \
142215976Sjmallett		$(WARLOCK_OUT) $(CLOSED)/uts/intel/glm/glm $(SCSI_FILES) \
143215976Sjmallett		-l ../warlock/ddi_dki_impl.ll
144232812Sjmallettglm_files:
145232812Sjmallett	@cd $(CLOSED)/uts/intel/glm; pwd; $(MAKE) warlock
146232812Sjmallett
147232812Sjmallettwarlock_ddi.files:
148232812Sjmallett	@cd ../warlock; pwd; $(MAKE) warlock
149215976Sjmallett
150215976Sjmallettscsi.files:
151215976Sjmallett	@cd ../scsi; pwd; $(MAKE) warlock
152215976Sjmallett