xref: /illumos-gate/usr/src/cmd/svc/milestone/Makefile (revision 5435d801)
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# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
24# Use is subject to license terms.
25#
26#ident	"%Z%%M%	%I%	%E% SMI"
27
28include ../../Makefile.cmd
29
30OWNER = root
31GROUP = sys
32FILEMODE = 0444
33
34BUILTXML= \
35	console-login.xml
36
37FSSVCS= \
38	local-fs.xml \
39	minimal-fs.xml \
40	root-fs.xml \
41	usr-fs.xml
42
43FSMANIFESTS= $(FSSVCS:%=$(ROOTSVCSYSTEMFILESYSTEM)/%)
44
45NETSVCS= \
46	datalink.xml \
47	datalink-init.xml \
48	aggregation.xml \
49	network-initial.xml \
50	network-loopback.xml \
51	network-physical.xml \
52	network-service.xml
53
54NETMANIFESTS= $(NETSVCS:%=$(ROOTSVCNETWORK)/%)
55
56MAINMILESTONES= \
57	multi-user-server.xml \
58	multi-user.xml \
59	name-services.xml \
60	network.xml \
61	single-user.xml \
62	sysconfig.xml
63
64MAINMANIFESTS= $(MAINMILESTONES:%=$(ROOTSVCMILESTONE)/%)
65
66SYSDEVSVCS= \
67	devices-local.xml
68
69SYSDEVMANIFESTS= $(SYSDEVSVCS:%=$(ROOTSVCSYSTEMDEVICE)/%)
70
71SYSTEMSVCS= \
72	boot-archive.xml \
73	console-login.xml \
74	identity.xml \
75	manifest-import.xml \
76	rmtmpfiles.xml
77
78SYSTEMMANIFESTS = $(SYSTEMSVCS:%=$(ROOTSVCSYSTEM)/%)
79
80SYSTEMSVCSVCS= \
81	restarter.xml
82
83SYSTEMSVCMANIFESTS= $(SYSTEMSVCSVCS:%=$(ROOTSVCSYSTEM)/svc/%)
84
85MISCFILES= \
86	README.share
87
88SYSTEMMISCFILES = $(MISCFILES:%.share=$(ROOT)/lib/svc/share/%)
89
90#
91# MANIFEST is used solely in the construction of the check target.
92#
93MANIFEST= $(FSSVCS) $(NETSVCS) $(MAINMILESTONES) $(SYSTEMSVCS) \
94	$(SYSDEVSVCS) $(SYSTEMSVCSVCS)
95
96SVCMETHOD=\
97	aggregation \
98	boot-archive \
99	console-login \
100	datalink \
101	datalink-init \
102	devices-local \
103	fs-local \
104	fs-minimal \
105	fs-root \
106	fs-usr \
107	identity-domain \
108	identity-node \
109	manifest-import \
110	net-loopback \
111	net-init \
112	net-physical \
113	net-svc \
114	rmtmpfiles
115
116$(ROOTSVCMETHOD) := FILEMODE = 0555
117
118all: $(BUILTXML)
119
120install: $(FSMANIFESTS) $(MAINMANIFESTS) $(NETMANIFESTS) $(SYSTEMMANIFESTS) \
121	$(ROOTSVCMETHOD) $(SYSDEVMANIFESTS) $(SYSTEMSVCMANIFESTS) \
122	$(SYSTEMMISCFILES)
123
124check:	$(CHKMANIFEST)
125
126console-login.xml: make-console-login-xml
127	$(SH) ./make-console-login-xml
128
129clobber: clean
130	-$(RM) $(BUILTXML)
131
132$(ROOTSVCMILESTONE)/%: %
133	$(INS.file)
134
135$(ROOTSVCNETWORK)/%: %
136	$(INS.file)
137
138$(ROOTSVCSYSTEM)/%: %
139	$(INS.file)
140
141$(ROOTSVCSYSTEMDEVICE)/%: %
142	$(INS.file)
143
144$(ROOTSVCSYSTEMFILESYSTEM)/%: %
145	$(INS.file)
146
147$(ROOTSVCSYSTEM)/svc/%: %
148	$(INS.file)
149
150$(ROOT)/lib/svc/share/%: %.share
151	$(INS.rename)
152
153clean lint _msg:
154