xref: /illumos-gate/usr/src/cmd/allocate/Makefile (revision 55fea89dcaa64928bed4327112404dcb3e07b79f)
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
545916cd2Sjpk# Common Development and Distribution License (the "License").
645916cd2Sjpk# 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#
2145916cd2Sjpk
227c478bd9Sstevel@tonic-gate#
23269f47deSThuy Fettig# Copyright (c) 1992, 2010, Oracle and/or its affiliates. All rights reserved.
247c478bd9Sstevel@tonic-gate#
255661bb76SJohn Levon# Copyright (c) 2018, Joyent, Inc.
267c478bd9Sstevel@tonic-gate
27f875b4ebSricaETCTSOLFILES =	devalloc_defaults
28f875b4ebSrica
297c478bd9Sstevel@tonic-gateinclude		../Makefile.cmd
307c478bd9Sstevel@tonic-gate
317014882cSRichard LoweCERRWARN +=	-_gcc=-Wno-unused-value
32*d3b5f563SJohn LevonCERRWARN +=	$(CNOWARN_UNINIT)
337014882cSRichard LoweCERRWARN +=	-_gcc=-Wno-parentheses
347014882cSRichard LoweCERRWARN +=	-_gcc=-Wno-clobbered
357014882cSRichard Lowe
365661bb76SJohn Levon# not linted
375661bb76SJohn LevonSMATCH=off
385661bb76SJohn Levon
397c478bd9Sstevel@tonic-gateROOTSEC =	$(ROOTETC)/security
407c478bd9Sstevel@tonic-gateROOTSECDEV =	$(ROOTSEC)/dev
417c478bd9Sstevel@tonic-gateROOTSECLIB =	$(ROOTSEC)/lib
4288447a05SGarrett D'AmoreROOTSECAUD =	$(ROOTSEC)/audio
4388447a05SGarrett D'AmoreROOTDIRS =	$(ROOTSECDEV) $(ROOTSECLIB) $(ROOTSECAUD)
447c478bd9Sstevel@tonic-gate
45269f47deSThuy FettigROOTMANIFESTDIR=	$(ROOTSVCSYSTEMDEVICE)
46269f47deSThuy FettigSVCMETHOD =	svc-allocate
47269f47deSThuy FettigMANIFEST =	allocate.xml
48269f47deSThuy Fettig
497c478bd9Sstevel@tonic-gateRTLCKS =	audio fd0 sr0 st0 st1
50f875b4ebSricaCLEANfd =	fd_clean
51f875b4ebSricaCLEANsr =	sr_clean
52f875b4ebSricaCLEANst =	st_clean
5388447a05SGarrett D'AmoreCLEANaudio =	audio_clean
54f875b4ebSricaCLEANdisk =	disk_clean
55f875b4ebSricaCLEAN_SCRIPTS =	$(CLEANfd) $(CLEANsr) $(CLEANst) $(CLEANaudio) $(CLEANdisk)
56f875b4ebSricaWDW_SCRIPTS =	wdwmsg wdwwrapper
57f875b4ebSricaWDW_LINKS =	$(CLEANaudio) $(CLEANdisk) $(CLEANst)
58f875b4ebSricaSCRIPTS =	$(CLEAN_SCRIPTS) $(WDW_SCRIPTS)
597c478bd9Sstevel@tonic-gateALLSCRIPTS =	allscripts.sh
607c478bd9Sstevel@tonic-gate
6145916cd2SjpkPROGalloc =	allocate
6245916cd2SjpkPROGmkdevalloc =	mkdevalloc
6345916cd2SjpkPROGdminfo =	dminfo
64f875b4ebSricaPROGaddalloc =	add_allocatable
65f875b4ebSricaPROG =		$(PROGalloc) $(PROGmkdevalloc) $(PROGdminfo) \
6688447a05SGarrett D'Amore	$(PROGaddalloc)
6745916cd2Sjpk
6845916cd2SjpkLINKPROGalloc =	deallocate list_devices
6945916cd2SjpkLINKPROGmkdevalloc = mkdevmaps
70f875b4ebSricaLINKPROGaddalloc = remove_allocatable
7145916cd2Sjpk
727c478bd9Sstevel@tonic-gatePOFILE =	allocate_all.po
737c478bd9Sstevel@tonic-gatePOFILES =	$(OBJS:%.o=%.po) $(ALLSCRIPTS:%.sh=%.po)
747c478bd9Sstevel@tonic-gate
7545916cd2SjpkDFLAGS +=	-D_REENTRANT
767c478bd9Sstevel@tonic-gateCPPFLAGS +=	$(DFLAGS)
777c478bd9Sstevel@tonic-gate
787c478bd9Sstevel@tonic-gateROOTLOCKS =	$(RTLCKS:%=$(ROOTSECDEV)/%)
797c478bd9Sstevel@tonic-gateROOTSCRIPTS =	$(SCRIPTS:%=$(ROOTSECLIB)/%)
80f875b4ebSricaROOTWDWLINKS =	$(WDW_LINKS:%=$(ROOTSECLIB)/%.windowing)
817c478bd9Sstevel@tonic-gate
8245916cd2SjpkROOTPROG =	$(PROGallocate:%=$(ROOTUSRSBIN)/%) \
8345916cd2Sjpk		$(PROGmkdevalloc:%=$(ROOTUSRSBIN)/%) \
8445916cd2Sjpk		$(PROGdminfo:%=$(ROOTUSRSBIN)/%) \
85f875b4ebSrica		$(PROGaddaloc:%=$(ROOTUSRSBIN)/%)
8645916cd2SjpkROOTLINKalloc =	$(LINKPROGalloc:%=$(ROOTUSRSBIN)/%)
8745916cd2SjpkROOTLINKmkdevalloc = $(LINKPROGmkdevalloc:%=$(ROOTUSRSBIN)/%)
88f875b4ebSricaROOTLINKaddalloc = $(LINKPROGaddalloc:%=$(ROOTUSRSBIN)/%)
89f875b4ebSricaROOTLINKS =	$(ROOTLINKalloc) $(ROOTLINKmkdevalloc) $(ROOTLINKaddalloc)
907c478bd9Sstevel@tonic-gate
9145916cd2SjpkPROGallocOBJS =		allocate.o allocate3.o
9245916cd2SjpkPROGmkdevallocOBJS =	mkdevalloc.o
9345916cd2SjpkPROGdminfoOBJS =	dminfo.o
94f875b4ebSricaPROGaddallocOBJS =	add_allocatable.o
957c478bd9Sstevel@tonic-gate
9645916cd2SjpkOBJS =		$(PROGallocOBJS) \
9745916cd2Sjpk		$(PROGmkdevallocOBJS) \
9845916cd2Sjpk		$(PROGdminfoOBJS) \
99f875b4ebSrica		$(PROGaddallocOBJS)
10045916cd2Sjpk
1017c478bd9Sstevel@tonic-gateSRCS =		$(OBJS:%.o=%.c)
1027c478bd9Sstevel@tonic-gate
10345916cd2Sjpk$(ROOTUSRSBIN)/% :=	FILEMODE = 555
10445916cd2Sjpk$(ROOTUSRSBIN)/allocate :=	FILEMODE = 4555
1057c478bd9Sstevel@tonic-gate$(ROOTSECDEV)/% :=	FILEMODE = 0400
10645916cd2Sjpk$(ROOTSECLIB)/% :=	FILEMODE = 0555
1077c478bd9Sstevel@tonic-gate
10867e3a03eSrielint :=			LDLIBS += -lbsm -lsec -lsecdb -ldevinfo -ltsol
10967e3a03eSrie
11067e3a03eSrie$(PROGalloc) :=		LDLIBS += -lbsm -lsec -lsecdb -ldevinfo -ltsol
11145916cd2Sjpk$(PROGmkdevalloc) :=	LDLIBS += -lbsm
11245916cd2Sjpk$(PROGdminfo) :=	LDLIBS += -lbsm
11367e3a03eSrie$(PROGaddalloc) :=	LDLIBS += -lbsm -lsecdb -ltsol
1147c478bd9Sstevel@tonic-gate
11545916cd2SjpkCLOBBERFILES +=	$(SCRIPTS)
1167c478bd9Sstevel@tonic-gate
1177c478bd9Sstevel@tonic-gate.KEEP_STATE:
1187c478bd9Sstevel@tonic-gate
1197c478bd9Sstevel@tonic-gateall :		$(PROG) $(RTLCKS) $(SCRIPTS)
1207c478bd9Sstevel@tonic-gate
12145916cd2Sjpkinstall :	$(PROG) $(ROOTDIRS) $(ROOTPROG) $(ROOTLOCKS) \
122269f47deSThuy Fettig		$(ROOTSCRIPTS) $(ROOTLINKS) $(ROOTWDWLINKS) \
123269f47deSThuy Fettig		$(ROOTETCTSOLFILES) $(ROOTMANIFEST) $(ROOTSVCMETHOD)
1247c478bd9Sstevel@tonic-gate$(RTLCKS):
1257c478bd9Sstevel@tonic-gate		$(TOUCH) $@
1267c478bd9Sstevel@tonic-gate
12745916cd2Sjpk$(ROOTSECLIB)/%: %.sh
12845916cd2Sjpk		$(INS.rename)
12945916cd2Sjpk
13045916cd2Sjpk$(PROGalloc) :	$(PROGallocOBJS)
13145916cd2Sjpk		$(LINK.c) $(PROGallocOBJS) -o $@ $(LDLIBS)
13245916cd2Sjpk		$(POST_PROCESS)
13345916cd2Sjpk
134f875b4ebSrica$(PROGaddalloc) :	$(PROGaddallocOBJS)
135f875b4ebSrica		$(LINK.c) $(PROGaddallocOBJS) -o $@ $(LDLIBS)
136f875b4ebSrica		$(POST_PROCESS)
137f875b4ebSrica
13845916cd2Sjpk$(PROGmkdevalloc) :	$(PROGmkdevallocOBJS)
13945916cd2Sjpk			$(LINK.c) $(PROGmkdevallocOBJS) -o $@ $(LDLIBS)
14045916cd2Sjpk			$(POST_PROCESS)
14145916cd2Sjpk
14245916cd2Sjpk$(PROGdminfo) :	$(PROGdminfoOBJS)
14345916cd2Sjpk		$(LINK.c) $(PROGdminfoOBJS) -o $@ $(LDLIBS)
14445916cd2Sjpk		$(POST_PROCESS)
14545916cd2Sjpk
1467c478bd9Sstevel@tonic-gate$(ROOTDIRS) :
1477c478bd9Sstevel@tonic-gate		$(INS.dir)
1487c478bd9Sstevel@tonic-gate
1497c478bd9Sstevel@tonic-gate$(ROOTSECDEV)/%: %
1507c478bd9Sstevel@tonic-gate		$(INS.file)
1517c478bd9Sstevel@tonic-gate
1527c478bd9Sstevel@tonic-gate$(ROOTSECLIB)/%: %
15345916cd2Sjpk		$(RM) $@
1547c478bd9Sstevel@tonic-gate		$(INS.file)
1557c478bd9Sstevel@tonic-gate
15645916cd2Sjpk$(ROOTLINKalloc) :	$(PROGalloc:%=$(ROOTUSRSBIN)/%)
15745916cd2Sjpk			$(RM) $@
15845916cd2Sjpk			$(LN) $(PROGalloc:%=$(ROOTUSRSBIN)/%) $@
15945916cd2Sjpk
160f875b4ebSrica$(ROOTLINKaddalloc) :	$(PROGaddalloc:%=$(ROOTUSRSBIN)/%)
161f875b4ebSrica			$(RM) $@
162f875b4ebSrica			$(LN) $(PROGaddalloc:%=$(ROOTUSRSBIN)/%) $@
163f875b4ebSrica
16445916cd2Sjpk$(ROOTLINKmkdevalloc) :	$(PROGmkdevalloc:%=$(ROOTUSRSBIN)/%)
16545916cd2Sjpk			$(RM) $@
16645916cd2Sjpk			$(LN) $(PROGmkdevalloc:%=$(ROOTUSRSBIN)/%) $@
16745916cd2Sjpk
168f875b4ebSrica
169f875b4ebSrica$(ROOTETCSECLIB)/%.windowing: %
170f875b4ebSrica	$(RM) $@
171f875b4ebSrica	$(SYMLINK) $< $@
172f875b4ebSrica
1737c478bd9Sstevel@tonic-gate$(POFILE):      $(POFILES)
17445916cd2Sjpk		$(RM) $@
17545916cd2Sjpk		$(CAT) $(POFILES) > $@
1767c478bd9Sstevel@tonic-gate
1777c478bd9Sstevel@tonic-gate#
1787c478bd9Sstevel@tonic-gate# Concatenate all the scripts into one before we build the catalogue.
1797c478bd9Sstevel@tonic-gate# Done to shrink the catalogue since some messages are shared between
1807c478bd9Sstevel@tonic-gate# the various scripts.
1817c478bd9Sstevel@tonic-gate#
1827c478bd9Sstevel@tonic-gate$(ALLSCRIPTS):	$(SCRIPTS:%=%.sh)
1837c478bd9Sstevel@tonic-gate		$(CAT) $(SCRIPTS:%=%.sh) > $@
1847c478bd9Sstevel@tonic-gate
1857c478bd9Sstevel@tonic-gateclean :
18645916cd2Sjpk		$(RM) $(PROG) $(RTLCKS) $(OBJS) \
18745916cd2Sjpk		$(SCRIPTS) $(ALLSCRIPTS) $(POFILE) $(POFILES)
1887c478bd9Sstevel@tonic-gate
1897c478bd9Sstevel@tonic-gatelint :		lint_SRCS
1907c478bd9Sstevel@tonic-gate
1917c478bd9Sstevel@tonic-gatestrip :
1927c478bd9Sstevel@tonic-gate		$(STRIP) $(PROG)
1937c478bd9Sstevel@tonic-gate
1947c478bd9Sstevel@tonic-gateinclude		../Makefile.targ
195