xref: /illumos-gate/usr/src/cmd/svc/milestone/Makefile (revision ef2504f26d1ea5859db9838255bb63f488f1b050)
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
28OWNER = root
29GROUP = sys
30FILEMODE = 0444
31
32BUILTXML= \
33	console-login.xml
34
35FSSVCS= \
36	local-fs.xml \
37	minimal-fs.xml \
38	root-fs.xml \
39	usr-fs.xml
40
41FSMANIFESTS= $(FSSVCS:%=$(ROOTSVCSYSTEMFILESYSTEM)/%)
42
43NETSVCS= \
44	network-initial.xml \
45	network-loopback.xml \
46	network-physical.xml \
47	network-routing-setup.xml \
48	network-service.xml
49
50NETMANIFESTS= $(NETSVCS:%=$(ROOTSVCNETWORK)/%)
51
52MAINMILESTONES= \
53	multi-user-server.xml \
54	multi-user.xml \
55	name-services.xml \
56	network.xml \
57	single-user.xml \
58	sysconfig.xml
59
60MAINMANIFESTS= $(MAINMILESTONES:%=$(ROOTSVCMILESTONE)/%)
61
62SYSDEVSVCS= \
63	devices-local.xml \
64	devices-audio.xml
65
66SYSDEVMANIFESTS= $(SYSDEVSVCS:%=$(ROOTSVCSYSTEMDEVICE)/%)
67
68SYSTEMSVCS= \
69	boot-archive.xml \
70	console-login.xml \
71	identity.xml \
72	manifest-import.xml \
73	rmtmpfiles.xml	\
74	vtdaemon.xml
75
76SYSTEMMANIFESTS = $(SYSTEMSVCS:%=$(ROOTSVCSYSTEM)/%)
77
78SYSTEMSVCSVCS= \
79	restarter.xml \
80	global.xml
81
82SYSTEMSVCMANIFESTS= $(SYSTEMSVCSVCS:%=$(ROOTSVCSYSTEM)/svc/%)
83
84MISCFILES= \
85	README.share
86
87SYSTEMMISCFILES = $(MISCFILES:%.share=$(ROOT)/lib/svc/share/%)
88
89#
90# MANIFEST is used solely in the construction of the check target.
91#
92MANIFEST= $(FSSVCS) $(NETSVCS) $(MAINMILESTONES) $(SYSTEMSVCS) \
93	$(SYSDEVSVCS) $(SYSTEMSVCSVCS)
94
95SVCMETHOD=\
96	boot-archive \
97	console-login \
98	devices-audio \
99	devices-local \
100	fs-local \
101	fs-minimal \
102	fs-root \
103	fs-usr \
104	identity-domain \
105	identity-node \
106	manifest-import \
107	net-loopback \
108	net-init \
109	net-nwam \
110	net-physical \
111	net-routing-setup \
112	net-svc \
113	rmtmpfiles \
114	vtdaemon
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