xref: /illumos-gate/usr/src/cmd/halt/Makefile (revision 20a7641f9918de8574b8b3b47dbe35c4bfc78df1)
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# Copyright 2016 Toomas Soome <tsoome@me.com>
22# Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
23# Use is subject to license terms.
24# Copyright 2018 Joyent, Inc.
25#
26
27PROG = halt
28
29include ../Makefile.cmd
30
31#
32# Currently Fast Reboot is only supported on x86.
33# A new propery config/uadmin_boot_archive_sync is added to
34# boot-config service. Which needs a support on sparc also.
35#
36sparc_SUBDIRS = smf.sparc
37i386_SUBDIRS = smf.i386
38SUBDIRS = $($(MACH)_SUBDIRS)
39
40ROOTLINKS = $(ROOTUSRSBIN)/poweroff $(ROOTUSRSBIN)/reboot
41ROOTSYMLINKS= $(ROOTETC)/halt $(ROOTETC)/reboot
42
43FILEMODE = 0755
44
45.KEEP_STATE:
46
47CPPFLAGS += -I../../lib/libzpool/common
48CPPFLAGS += -I../../lib/libscf/inc
49CPPFLAGS += -I../../uts/common/fs/zfs
50
51LDLIBS += -lbsm -lscf -lzfs -lgen
52LDLIBS_i386 +=	-lbe
53LDLIBS +=	$(LDLIBS_$(MACH))
54
55CLOBBERFILES += $(ROOTLINKS) $(ROOTSYMLINKS)
56
57all     :=	TARGET = all
58install :=	TARGET = install
59clean   :=	TARGET = clean
60clobber :=	TARGET = clobber
61lint    :=	TARGET = lint
62lint	:=	LINTFLAGS += -u
63
64
65all: $(PROG)
66
67install: all $(ROOTUSRSBINPROG) $(ROOTLINKS) $(ROOTSYMLINKS) $(SUBDIRS)
68
69$(ROOTLINKS): $(ROOTUSRSBINPROG)
70	$(RM) $@
71	$(LN) $(ROOTUSRSBINPROG) $@
72
73$(ROOTSYMLINKS):
74	$(RM) $@
75	$(SYMLINK) ../usr/sbin/$(PROG) $@
76
77$(SUBDIRS):	FRC
78	@cd $@; pwd; $(MAKE) $(TARGET)
79
80clean:
81
82clobber: $(SUBDIRS)
83
84lint:	lint_PROG
85
86check: $(CHKMANIFEST)
87
88FRC:
89
90include ../Makefile.targ
91