xref: /illumos-gate/usr/src/cmd/svc/milestone/Makefile (revision cd964fce751ca752af4158842063a9579a2d4331)
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# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
23#
24
25include ../../Makefile.cmd
26
27FILEMODE = 0444
28
29BUILTXML= \
30	console-login.xml
31
32FSSVCS= \
33	local-fs.xml \
34	minimal-fs.xml \
35	root-fs.xml \
36	usr-fs.xml
37
38FSMANIFESTS= $(FSSVCS:%=$(ROOTSVCSYSTEMFILESYSTEM)/%)
39
40NETSVCS= \
41	network-initial.xml \
42	network-install.xml \
43	network-iptun.xml \
44	network-ipqos.xml \
45	network-location.xml \
46	network-loopback.xml \
47	network-netcfg.xml \
48	network-netmask.xml \
49	network-netcfg.xml \
50	network-physical.xml \
51	network-routing-setup.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	devices-audio.xml
69
70SYSDEVMANIFESTS= $(SYSDEVSVCS:%=$(ROOTSVCSYSTEMDEVICE)/%)
71
72SYSTEMSVCS= \
73	boot-archive.xml \
74	console-login.xml \
75	early-manifest-import.xml \
76	identity.xml \
77	manifest-import.xml \
78	process-security.xml \
79	rmtmpfiles.xml	\
80	vtdaemon.xml
81
82SYSTEMMANIFESTS = $(SYSTEMSVCS:%=$(ROOTSVCSYSTEM)/%)
83
84SYSTEMSVCSVCS= \
85	restarter.xml \
86	global.xml
87
88SYSTEMSVCMANIFESTS= $(SYSTEMSVCSVCS:%=$(ROOTSVCSYSTEM)/svc/%)
89
90MISCFILES= \
91	README.share
92
93SYSTEMMISCFILES = $(MISCFILES:%.share=$(ROOT)/lib/svc/share/%)
94
95#
96# MANIFEST is used solely in the construction of the check target.
97#
98MANIFEST= $(FSSVCS) $(NETSVCS) $(MAINMILESTONES) $(SYSTEMSVCS) \
99	$(SYSDEVSVCS) $(SYSTEMSVCSVCS)
100
101SVCMETHOD=\
102	boot-archive \
103	console-login \
104	devices-audio \
105	devices-local \
106	fs-local \
107	fs-minimal \
108	fs-root \
109	fs-usr \
110	identity-domain \
111	identity-node \
112	manifest-import \
113	net-loc \
114	net-loopback \
115	net-init \
116	net-install \
117	net-iptun \
118	net-ipqos \
119	net-netmask \
120	net-nwam \
121	net-physical \
122	net-routing-setup \
123	net-svc \
124	rmtmpfiles \
125	vtdaemon
126
127$(ROOTSVCMETHOD) := FILEMODE = 0555
128
129all: $(BUILTXML)
130
131install: $(FSMANIFESTS) $(MAINMANIFESTS) $(NETMANIFESTS) $(SYSTEMMANIFESTS) \
132	$(ROOTSVCMETHOD) $(SYSDEVMANIFESTS) $(SYSTEMSVCMANIFESTS) \
133	$(SYSTEMMISCFILES)
134
135check:	$(CHKMANIFEST)
136
137console-login.xml: make-console-login-xml
138	$(SH) ./make-console-login-xml
139
140clobber: clean
141	-$(RM) $(BUILTXML)
142
143$(ROOTSVCMILESTONE)/%: %
144	$(INS.file)
145
146$(ROOTSVCNETWORK)/%: %
147	$(INS.file)
148
149$(ROOTSVCSYSTEM)/%: %
150	$(INS.file)
151
152$(ROOTSVCSYSTEMDEVICE)/%: %
153	$(INS.file)
154
155$(ROOTSVCSYSTEMFILESYSTEM)/%: %
156	$(INS.file)
157
158$(ROOTSVCSYSTEM)/svc/%: %
159	$(INS.file)
160
161$(ROOT)/lib/svc/share/%: %.share
162	$(INS.rename)
163
164clean lint _msg:
165