xref: /illumos-gate/usr/src/cmd/svc/milestone/Makefile (revision f48205be61a214698b763ff550ab9e657525104c)
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 2007 Sun Microsystems, Inc.  All rights reserved.
23# Use is subject to license terms.
24#
25#ident	"%Z%%M%	%I%	%E% SMI"
26
27include ../../Makefile.cmd
28
29OWNER = root
30GROUP = sys
31FILEMODE = 0444
32
33BUILTXML= \
34	console-login.xml
35
36FSSVCS= \
37	local-fs.xml \
38	minimal-fs.xml \
39	root-fs.xml \
40	usr-fs.xml
41
42FSMANIFESTS= $(FSSVCS:%=$(ROOTSVCSYSTEMFILESYSTEM)/%)
43
44NETSVCS= \
45	network-initial.xml \
46	network-loopback.xml \
47	network-physical.xml \
48	network-routing-setup.xml \
49	network-service.xml
50
51NETMANIFESTS= $(NETSVCS:%=$(ROOTSVCNETWORK)/%)
52
53MAINMILESTONES= \
54	multi-user-server.xml \
55	multi-user.xml \
56	name-services.xml \
57	network.xml \
58	single-user.xml \
59	sysconfig.xml
60
61MAINMANIFESTS= $(MAINMILESTONES:%=$(ROOTSVCMILESTONE)/%)
62
63SYSDEVSVCS= \
64	devices-local.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
75SYSTEMMANIFESTS = $(SYSTEMSVCS:%=$(ROOTSVCSYSTEM)/%)
76
77SYSTEMSVCSVCS= \
78	restarter.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-local \
97	fs-local \
98	fs-minimal \
99	fs-root \
100	fs-usr \
101	identity-domain \
102	identity-node \
103	manifest-import \
104	net-loopback \
105	net-init \
106	net-nwam \
107	net-physical \
108	net-routing-setup \
109	net-svc \
110	rmtmpfiles
111
112$(ROOTSVCMETHOD) := FILEMODE = 0555
113
114all: $(BUILTXML)
115
116install: $(FSMANIFESTS) $(MAINMANIFESTS) $(NETMANIFESTS) $(SYSTEMMANIFESTS) \
117	$(ROOTSVCMETHOD) $(SYSDEVMANIFESTS) $(SYSTEMSVCMANIFESTS) \
118	$(SYSTEMMISCFILES)
119
120check:	$(CHKMANIFEST)
121
122console-login.xml: make-console-login-xml
123	$(SH) ./make-console-login-xml
124
125clobber: clean
126	-$(RM) $(BUILTXML)
127
128$(ROOTSVCMILESTONE)/%: %
129	$(INS.file)
130
131$(ROOTSVCNETWORK)/%: %
132	$(INS.file)
133
134$(ROOTSVCSYSTEM)/%: %
135	$(INS.file)
136
137$(ROOTSVCSYSTEMDEVICE)/%: %
138	$(INS.file)
139
140$(ROOTSVCSYSTEMFILESYSTEM)/%: %
141	$(INS.file)
142
143$(ROOTSVCSYSTEM)/svc/%: %
144	$(INS.file)
145
146$(ROOT)/lib/svc/share/%: %.share
147	$(INS.rename)
148
149clean lint _msg:
150