xref: /illumos-gate/usr/src/cmd/svc/profile/Makefile (revision c4ccc1f9004b70b07e4cdb57641c38ab607306c9)
17c478bd9Sstevel@tonic-gate#
27c478bd9Sstevel@tonic-gate# CDDL HEADER START
37c478bd9Sstevel@tonic-gate#
47c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the
525cf1a30Sjl139090# Common Development and Distribution License (the "License").
625cf1a30Sjl139090# You may not use this file except in compliance with the License.
77c478bd9Sstevel@tonic-gate#
87c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
107c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions
117c478bd9Sstevel@tonic-gate# and limitations under the License.
127c478bd9Sstevel@tonic-gate#
137c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
147c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
157c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
167c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
177c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
187c478bd9Sstevel@tonic-gate#
197c478bd9Sstevel@tonic-gate# CDDL HEADER END
207c478bd9Sstevel@tonic-gate#
211d4b38e0Srsmaeda
227c478bd9Sstevel@tonic-gate#
239444c26fSTom Whitten# Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
247c478bd9Sstevel@tonic-gate# Use is subject to license terms.
25*2a1fd0ffSPeter Tribble# Copyright 2019 Peter Tribble.
267c478bd9Sstevel@tonic-gate#
277c478bd9Sstevel@tonic-gate
287c478bd9Sstevel@tonic-gateinclude ../../Makefile.cmd
297c478bd9Sstevel@tonic-gate
307c478bd9Sstevel@tonic-gateFILEMODE = 0444
317c478bd9Sstevel@tonic-gate
329444c26fSTom WhittenROOTPROFILE = $(ROOT)/etc/svc/profile
337c478bd9Sstevel@tonic-gate
347c478bd9Sstevel@tonic-gatePROFILESRCS = \
357c478bd9Sstevel@tonic-gate	generic_open.xml \
367c478bd9Sstevel@tonic-gate	generic_limited_net.xml \
377c478bd9Sstevel@tonic-gate	inetd_generic.xml \
387c478bd9Sstevel@tonic-gate	inetd_upgrade.xml \
397c478bd9Sstevel@tonic-gate	ns_dns.xml \
407c478bd9Sstevel@tonic-gate	ns_files.xml \
417c478bd9Sstevel@tonic-gate	ns_ldap.xml \
427c478bd9Sstevel@tonic-gate	ns_nis.xml \
437c478bd9Sstevel@tonic-gate	ns_none.xml \
4425cf1a30Sjl139090	platform_SUNW,SPARC-Enterprise.xml \
457c478bd9Sstevel@tonic-gate	platform_SUNW,Sun-Fire-880.xml \
467c478bd9Sstevel@tonic-gate	platform_SUNW,Sun-Fire.xml \
471d4b38e0Srsmaeda	platform_none.xml \
481d4b38e0Srsmaeda	platform_sun4v.xml
497c478bd9Sstevel@tonic-gate
507c478bd9Sstevel@tonic-gatePROFILES = $(PROFILESRCS:%=$(ROOTPROFILE)/%)
517c478bd9Sstevel@tonic-gate
526a42cb7bSjohnzPROFILES_open = generic_open.xml inetd_generic.xml
536a42cb7bSjohnzPROFILES_limited = generic_limited_net.xml
546a42cb7bSjohnzCHECK_OPEN = check_open
556a42cb7bSjohnzCHECK_LMTD = check_limited
566a42cb7bSjohnz
576a42cb7bSjohnzCOMM =	/usr/bin/comm
586a42cb7bSjohnzTEE =	/usr/bin/tee
596a42cb7bSjohnzTEST =	/usr/bin/test
606a42cb7bSjohnzLISTSVCS = listsvcs.pl
616a42cb7bSjohnz
626a42cb7bSjohnzinstall: all $(PROFILES)
637c478bd9Sstevel@tonic-gate	$(RM) $(ROOTPROFILE)/platform.xml
647c478bd9Sstevel@tonic-gate	# SUNW,Sun-Fire-V890
657c478bd9Sstevel@tonic-gate	$(RM) $(ROOTPROFILE)/platform_SUNW,Sun-Fire-V890.xml
667c478bd9Sstevel@tonic-gate	$(LN) $(ROOTPROFILE)/platform_SUNW,Sun-Fire-880.xml \
677c478bd9Sstevel@tonic-gate	    $(ROOTPROFILE)/platform_SUNW,Sun-Fire-V890.xml
687c478bd9Sstevel@tonic-gate
697c478bd9Sstevel@tonic-gate$(ROOTPROFILE)/%: %
707c478bd9Sstevel@tonic-gate	$(INS.file)
717c478bd9Sstevel@tonic-gate
726a42cb7bSjohnzall:	$(CHECK_OPEN) $(CHECK_LMTD)
736a42cb7bSjohnz
746a42cb7bSjohnz#
756a42cb7bSjohnz#	Enforce consistency between open and limited profiles per README
766a42cb7bSjohnz#
776a42cb7bSjohnz$(CHECK_OPEN) :=	PROFILES_CHECKED = open
786a42cb7bSjohnz$(CHECK_OPEN) :=	PROFILES_COVERING = limited
796a42cb7bSjohnz$(CHECK_LMTD) :=	PROFILES_CHECKED = limited
806a42cb7bSjohnz$(CHECK_LMTD) :=	PROFILES_COVERING = open
816a42cb7bSjohnz$(CHECK_OPEN) $(CHECK_LMTD): \
826a42cb7bSjohnz	$(LISTSVCS) $(PROFILES_open) $(PROFILES_limited)
836a42cb7bSjohnz	@$(ECHO) Check for enabled $(PROFILES_CHECKED) services \
846a42cb7bSjohnz		not covered by $(PROFILES_COVERING) profile
856a42cb7bSjohnz	@$(PERL) -w $(LISTSVCS) -e $(PROFILES_$(PROFILES_CHECKED)) > $@.enabled
866a42cb7bSjohnz	@$(PERL) -w $(LISTSVCS) $(PROFILES_$(PROFILES_COVERING)) > $@.all
876a42cb7bSjohnz	@$(COMM) -23 $@.enabled $@.all | $(TEE) $@.notcovered
886a42cb7bSjohnz	@$(TEST) ! -s $@.notcovered && $(TOUCH) $@
896a42cb7bSjohnz
906a42cb7bSjohnzlint _msg:
916a42cb7bSjohnz
926a42cb7bSjohnzclobber clean:
936a42cb7bSjohnz	$(RM) $(CHECK_OPEN)* $(CHECK_LMTD)*
94