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