xref: /illumos-gate/usr/src/cmd/svc/milestone/Makefile (revision 300fdee27f8b59b381c1a0316bdee52fdfdb9213)
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 
25 include ../../Makefile.cmd
26 
27 FILEMODE = 0444
28 
29 BUILTXML= \
30 	console-login.xml
31 
32 FSSVCS= \
33 	local-fs.xml \
34 	minimal-fs.xml \
35 	root-fs.xml \
36 	usr-fs.xml
37 
38 FSMANIFESTS= $(FSSVCS:%=$(ROOTSVCSYSTEMFILESYSTEM)/%)
39 
40 NETSVCS= \
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 
54 NETMANIFESTS= $(NETSVCS:%=$(ROOTSVCNETWORK)/%)
55 
56 MAINMILESTONES= \
57 	multi-user-server.xml \
58 	multi-user.xml \
59 	name-services.xml \
60 	network.xml \
61 	single-user.xml \
62 	sysconfig.xml
63 
64 MAINMANIFESTS= $(MAINMILESTONES:%=$(ROOTSVCMILESTONE)/%)
65 
66 SYSDEVSVCS= \
67 	devices-local.xml \
68 	devices-audio.xml
69 
70 SYSDEVMANIFESTS= $(SYSDEVSVCS:%=$(ROOTSVCSYSTEMDEVICE)/%)
71 
72 SYSTEMSVCS= \
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 
82 SYSTEMMANIFESTS = $(SYSTEMSVCS:%=$(ROOTSVCSYSTEM)/%)
83 
84 SYSTEMSVCSVCS= \
85 	restarter.xml \
86 	global.xml
87 
88 SYSTEMSVCMANIFESTS= $(SYSTEMSVCSVCS:%=$(ROOTSVCSYSTEM)/svc/%)
89 
90 MISCFILES= \
91 	README.share
92 
93 SYSTEMMISCFILES = $(MISCFILES:%.share=$(ROOT)/lib/svc/share/%)
94 
95 #
96 # MANIFEST is used solely in the construction of the check target.
97 #
98 MANIFEST= $(FSSVCS) $(NETSVCS) $(MAINMILESTONES) $(SYSTEMSVCS) \
99 	$(SYSDEVSVCS) $(SYSTEMSVCSVCS)
100 
101 SVCMETHOD=\
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 
129 all: $(BUILTXML)
130 
131 install: $(FSMANIFESTS) $(MAINMANIFESTS) $(NETMANIFESTS) $(SYSTEMMANIFESTS) \
132 	$(ROOTSVCMETHOD) $(SYSDEVMANIFESTS) $(SYSTEMSVCMANIFESTS) \
133 	$(SYSTEMMISCFILES)
134 
135 check:	$(CHKMANIFEST)
136 
137 console-login.xml: make-console-login-xml
138 	$(SH) ./make-console-login-xml
139 
140 clobber: 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 
164 clean lint _msg:
165