Makefile revision 1531:4158f60aced8
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, Version 1.0 only
6# (the "License").  You may not use this file except in compliance
7# with the License.
8#
9# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10# or http://www.opensolaris.org/os/licensing.
11# See the License for the specific language governing permissions
12# and limitations under the License.
13#
14# When distributing Covered Code, include this CDDL HEADER in each
15# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16# If applicable, add the following below this CDDL HEADER, with the
17# fields enclosed by brackets "[]" replaced with your own identifying
18# information: Portions Copyright [yyyy] [name of copyright owner]
19#
20# CDDL HEADER END
21#
22#
23# uts/sun4u/montecarlo/Makefile
24# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
25# Use is subject to license terms.
26#
27#
28#ident	"%Z%%M%	%I%	%E% SMI"
29#
30#     This makefile drives the production of all MonteCarlo system
31#     dependent modules for the sun4u architecture.
32#
33
34#
35#	Path to the base of the uts directory tree (usually /usr/src/uts).
36#
37UTSBASE		= ../..
38GROUP		= sys
39CHGRP		= /usr/bin/chgrp -h
40
41#
42#	Include common rules.
43#
44include $(UTSBASE)/sun4u/montecarlo/Makefile.montecarlo
45
46def		:=	TARGET= def
47all		:=	TARGET= all
48install		:=	TARGET= install
49install_h	:=	TARGET= install_h
50clean		:=	TARGET= clean
51clobber		:=	TARGET= clobber
52lint		:=	TARGET= lint
53#lintlib	:=	TARGET= lintlib
54modlintlib	:=	TARGET= modlintlib
55modlist		:=	TARGET= modlist
56modlist		:=	NO_STATE= -K $$MODSTATE$$$$
57clean.lint	:=	TARGET= clean.lint
58check		:=	TARGET= check
59
60#
61#	Default build targets.
62#
63.KEEP_STATE:
64
65def all clean.lint clean clobber modlist: $(MONTECARLO_KMODS) \
66	$(CLOSED_MONTECARLO_KMODS)
67
68modlintlib:	$(MONTECARLO_KMODS) $(CLOSED_MONTECARLO_KMODS)
69
70install:        $(ROOT_MONTECARLO_DIR) $(USR_MONTECARLO_DIR) \
71                $(USR_MONTECARLO_INC_DIR) \
72                $(USR_MONTECARLO_SBIN_DIR) \
73                $(USR_MONTECARLO_LIB_DIR) \
74                .WAIT $(MONTECARLO_KMODS) $(CLOSED_MONTECARLO_KMODS) \
75		se.conf ttymux.conf
76
77se.conf:	$(ROOT_MONTECARLO_DRV_DIR)
78		-@$(RM) $(ROOT_MONTECARLO_DRV_DIR)/$@
79		$(CP) $(UTSBASE)/sun4u/montecarlo/io/$@ \
80		$(ROOT_MONTECARLO_DRV_DIR)/$@
81		$(CHMOD) $(CFILEMODE) $(ROOT_MONTECARLO_DRV_DIR)/$@
82		$(CHGRP) $(GROUP) $(ROOT_MONTECARLO_DRV_DIR)/$@
83
84ttymux.conf:	$(ROOT_MONTECARLO_DRV_DIR)
85		-@$(RM) $(ROOT_MONTECARLO_DRV_DIR)/$@
86		$(CP) $(UTSBASE)/sun4u/montecarlo/io/$@ \
87		$(ROOT_MONTECARLO_DRV_DIR)/$@
88		$(CHMOD) $(CFILEMODE) $(ROOT_MONTECARLO_DRV_DIR)/$@
89		$(CHGRP) $(GROUP) $(ROOT_MONTECARLO_DRV_DIR)/$@
90
91install_h check:	FRC
92	@cd sys; pwd; $(MAKE) $(TARGET)
93
94lint:		modlintlib
95
96#
97# The 'lint.platmod' target lints the montecarlo platform module against
98# the sun4u kernel.  This ends up doing all the kernel cross-checks,
99# so it takes a couple of minutes.
100# Due to the low ROI, it's not run by default, but it's a good
101# idea to run this if you change os/montecarlo.c.
102#
103LINT_LIBS	 = $(LINT_LIB) \
104		   -L$(MONTECARLO_LINT_LIB_DIR) \
105		   -L$(LINT_LIB_DIR) $(LINT_KMODS:%=-l%) \
106		       $(CLOSED_LINT_KMODS:%=-l%) \
107		   -L$(SPARC_LIB_DIR) $(SPARC_LINTS:%=-l%)
108
109lint.platmod:   modlintlib
110	@-$(ECHO) "\nMonteCarlo Platform-dependent module: global crosschecks:"
111	@-$(LINT) $(LINTFLAGS) $(LINT_LIBS) 2>&1 | $(LGREP.2)
112
113$(MONTECARLO_KMODS): FRC
114	@cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET)
115
116$(CLOSED_MONTECARLO_KMODS): FRC
117	cd $(CLOSED)/uts/sun4u/montecarlo/$@; pwd; \
118	    $(MAKE) $(NO_STATE) $(TARGET)
119
120#
121#	Include common targets.
122#
123include $(UTSBASE)/sun4u/montecarlo/Makefile.targ
124