xref: /titanic_52/usr/src/uts/intel/config/Makefile (revision ba3594ba9b5dd4c846c472a8d657edcb7c8109ac)
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# uts/intel/config/Makefile
23# Copyright 2010 Nexenta Systems, Inc.  All rights reserved.
24# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
25# Use is subject to license terms.
26#
27#	This makefile drives the production of the kernel configuration files.
28#
29#	intel architecture dependent
30#
31
32#
33#	Path to the base of the uts directory tree (usually /usr/src/uts).
34#
35UTSBASE	= ../..
36
37#
38#	Include common rules.
39#
40include $(UTSBASE)/intel/Makefile.intel
41
42#
43#	Define the module and object file sets.
44#
45SRCDIR		= $(UTSBASE)/intel/os
46PATH2INST	= path_to_inst
47CONFIGFILES	= name_to_major minor_perm driver_aliases name_to_sysnum \
48		  driver_classes dacf.conf $(PATH2INST) mach
49SECCONFIG	= device_policy priv_names
50BOOTIMAGE	= splashimage.xpm
51ALTBOOTIMAGE	= solaris.xpm	# Temporary, for compatibility
52BOOTENVRC	= bootenv.rc
53DEVMASTER	= master
54FILEMODE	= 644
55ROOTETC		= $(ROOT)/etc
56ROOTETCSEC	= $(ROOTETC)/security
57ROOTBOOT	= $(ROOT)/boot
58BOOTSOLARIS	= $(ROOTBOOT)/solaris
59BOOTDEVICEDB	= $(BOOTSOLARIS)/devicedb
60
61SRCFILES	= $(CONFIGFILES:%=$(SRCDIR)/%) $(SECCONFIG:%=$(SRCDIR)/%)
62SRCFILES	+= $(BOOTIMAGE:%=$(SRCDIR)/%)
63SRCFILES	+= $(BOOTENVRC:%=$(SRCDIR)/%)
64SRCFILES	+= $(DEVMASTER:%=$(SRCDIR)/%)
65ROOTCONFIGFILES	= $(CONFIGFILES:%=$(ROOTETC)/%) $(SECCONFIG:%=$(ROOTETCSEC)/%)
66ROOTCONFIGFILES	+= $(BOOTIMAGE:%=$(ROOTBOOT)/%)
67ROOTCONFIGFILES	+= $(BOOTENVRC:%=$(BOOTSOLARIS)/%)
68ROOTCONFIGFILES	+= $(DEVMASTER:%=$(BOOTDEVICEDB)/%)
69ROOTALTBOOTIMAGE = $(ALTBOOTIMAGE:%=$(ROOTBOOT)/%)
70
71#
72#	Default build targets.
73#
74.KEEP_STATE:
75
76def all: $(SRCFILES)
77
78install: all $(ROOTCONFIGFILES) $(ROOTALTBOOTIMAGE)
79
80#
81#	The ROOTETC directory is made by ../../../Targetdirs
82#	through the rootdirs target in ../../../Makefile.
83#
84#	etc/path_to_inst has permissions different from the other config files
85#
86$(ROOTETC)/$(PATH2INST):= FILEMODE=444
87
88$(ROOTETC)/%: $(SRCDIR)/%
89	$(INS.file)
90
91$(ROOTETCSEC)/%: $(SRCDIR)/%
92	$(INS.file)
93
94$(ROOTBOOT):
95	$(INS) -s -d -m $(DIRMODE) $@
96
97$(ROOTBOOT)/%: $(ROOTBOOT) $(SRCDIR)/%
98	$(INS.file)
99
100$(ROOTBOOT)/solaris.xpm: $(ROOTBOOT)/splashimage.xpm
101	$(RM) $@; $(LN) $(ROOTBOOT)/splashimage.xpm $@
102
103
104$(BOOTSOLARIS):
105	$(INS) -s -d -m $(DIRMODE) $@
106
107$(BOOTSOLARIS)/%: $(BOOTSOLARIS) $(SRCDIR)/%
108	$(INS.file)
109
110$(BOOTDEVICEDB):
111	$(INS) -s -d -m $(DIRMODE) $@
112
113$(BOOTDEVICEDB)/%: $(BOOTDEVICEDB) $(SRCDIR)/%
114	$(INS.file)
115
116$(SRCDIR)/priv_names: $(PRIVS_DEF) $(PRIVS_AWK)
117	$(NAWK) -f $(PRIVS_AWK) < $(PRIVS_DEF) -v pnamesfile=$@
118
119clean lint:
120clobber: clobber.targ
121
122#
123#	No lints, so keep the clobber and clean targets reasonable.
124#
125CLEANLINTFILES	= Nothing_to_remove
126CLEANFILES	= Nothing_to_remove
127CLOBBERFILES	= $(SRCDIR)/priv_names
128
129#
130#	Include common targets.
131#
132include $(UTSBASE)/intel/Makefile.targ
133