xref: /illumos-gate/usr/src/cmd/saf/Makefile (revision e4fb8a5fd5bb5a5d316430c6ac8f6d33704fcf5d)
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# Copyright (c) 2018, Joyent, Inc.
26
27PROG= sac sacadm pmadm
28
29MANIFEST = sac.xml
30
31include ../Makefile.cmd
32
33ROOTMANIFESTDIR = $(ROOTSVCSYSTEM)
34
35SACOBJ= sac.o readtab.o global.o log.o misc.o
36SACOBJS= $(SACOBJ) util1.o
37SACADMOBJ= sacadm.o admutil.o
38SACADMOBJS= $(SACADMOBJ) util2.o
39PMADMOBJ= pmadm.o admutil.o
40PMADMOBJS= $(PMADMOBJ) util2.o
41SACSRC= $(SACOBJ:%.o=%.c)
42SACSRCS= $(SACSRC) util.c
43SACADMSRC= $(SACADMOBJ:%.o=%.c)
44SACADMSRCS= $(SACADMSRC) util.c
45PMADMSRC= $(PMADMOBJ:%.o=%.c)
46PMADMSRCS= $(PMADMSRC) util.c
47OBJS= $(SACOBJS) $(SACADMOBJS) $(PMADMOBJS)
48
49LIBSAFD = $(ROOTLIB)/saf
50DIRS= $(LIBSAFD)
51SACF= sac
52ADMF= sacadm pmadm
53ROOTSACF= $(SACF:%=$(LIBSAFD)/%)
54ROOTADMF= $(ADMF:%=$(ROOTUSRSBIN)/%)
55
56LDLIBS += -lnsl
57LDFLAGS += $(MAPFILE.NGB:%=-M%)
58LINTFLAGS += -b -x
59
60CERRWARN += -_gcc=-Wno-implicit-function-declaration
61CERRWARN += -_gcc=-Wno-parentheses
62CERRWARN += -_gcc=-Wno-unused-variable
63CERRWARN += -_gcc=-Wno-extra
64
65# too many untyped funcs
66SMATCH=off
67
68util1.o := CPPFLAGS += -DSAC
69util2.o := CPPFLAGS += -USAC
70
71sac :=	LDLIBS += -lpam
72
73$(ROOTUSRSBIN)/sacadm :=	FILEMODE =	04755
74
75$(LIBSAFD)/% : %
76	$(INS.file)
77
78.KEEP_STATE:
79
80.PARALLEL: $(OBJS)
81
82all: $(PROG)
83
84sac: $(SACOBJS) $(MAPFILE.NGB)
85	$(LINK.c) $(SACOBJS) -o $@ $(LDLIBS)
86	$(POST_PROCESS)
87
88sacadm: $(SACADMOBJS) $(MAPFILE.NGB)
89	$(LINK.c) $(SACADMOBJS) -o $@ $(LDLIBS)
90	$(POST_PROCESS)
91
92pmadm: $(PMADMOBJS) $(MAPFILE.NGB)
93	$(LINK.c) $(PMADMOBJS) -o $@ $(LDLIBS)
94	$(POST_PROCESS)
95
96util1.o: util.c
97	$(COMPILE.c) -o $@ util.c
98
99util2.o: util.c
100	$(COMPILE.c) -o $@ util.c
101
102install: all .WAIT $(ROOTSACF) $(ROOTADMF) $(ROOTMANIFEST)
103
104# Don't install dirs already installed by Targetdirs
105#$(DIRS):
106#	$(INS.dir)
107
108check:	$(CHKMANIFEST)
109
110clean:
111	$(RM) $(OBJS)
112
113lint:
114	$(LINT.c) $(SACSRCS)
115	$(LINT.c) $(SACADMSRCS)
116	$(LINT.c) $(PMADMSRCS)
117
118include ../Makefile.targ
119