xref: /illumos-gate/usr/src/cmd/allocate/Makefile (revision fa9e4066f08beec538e775443c5be79dd423fcab)
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, Version 1.0 only
6# (the "License").  You may not use this file except in compliance
7# with the License.
8#
9# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10# or http://www.opensolaris.org/os/licensing.
11# See the License for the specific language governing permissions
12# and limitations under the License.
13#
14# When distributing Covered Code, include this CDDL HEADER in each
15# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16# If applicable, add the following below this CDDL HEADER, with the
17# fields enclosed by brackets "[]" replaced with your own identifying
18# information: Portions Copyright [yyyy] [name of copyright owner]
19#
20# CDDL HEADER END
21#
22#
23# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
24# Use is subject to license terms.
25#
26# ident	"%Z%%M%	%I%	%E% SMI"
27#
28
29include		../Makefile.cmd
30
31ROOTSEC =	$(ROOTETC)/security
32ROOTSECDEV =	$(ROOTSEC)/dev
33ROOTSECLIB =	$(ROOTSEC)/lib
34ROOTDIRS =	$(ROOTSECDEV) $(ROOTSECLIB)
35
36PROG1 =		allocate
37PROG2 =		mkdevmaps mkdevalloc
38PROG3 =		audio_clean
39PROG =		$(PROG1) $(PROG2) $(PROG3)
40DEFILE =	deallocate
41LISTFILE =	list_devices
42RTLCKS =	audio fd0 sr0 st0 st1
43SCRIPTS =	st_clean fd_clean sr_clean
44ALLSCRIPTS =	allscripts.sh
45
46POFILE=		allocate_all.po
47POFILES=	$(OBJS:%.o=%.po) $(ALLSCRIPTS:%.sh=%.po)
48
49# make DFLAGS=-DDEBUG
50
51DFLAGS=
52CPPFLAGS +=	$(DFLAGS)
53
54ROOTPROG =	$(PROG1:%=$(ROOTUSRSBIN)/%) $(PROG2:%=$(ROOTUSRSBIN)/%) \
55		$(PROG3:%=$(ROOTSECLIB)/%)
56ROOTLOCKS=	$(RTLCKS:%=$(ROOTSECDEV)/%)
57ROOTSCRIPTS=	$(SCRIPTS:%=$(ROOTSECLIB)/%)
58
59CLOBBERFILES += $(SCRIPTS)
60
61allocate :=	POBJS = allocate.o  allocate3.o
62mkdevmaps :=	POBJS = mkdevmaps.o
63mkdevalloc :=	POBJS = mkdevalloc.o
64audio_clean :=	POBJS = audio_clean.o
65
66OBJS =		allocate.o allocate3.o audio_clean.o mkdevmaps.o mkdevalloc.o
67SRCS =		$(OBJS:%.o=%.c)
68
69FILEMODE=       0755
70DIRMODE=        0755
71OWNER=          root
72GROUP=          sys
73
74$(ROOTUSRSBIN)/% :=     OWNER = root
75$(ROOTUSRSBIN)/% :=     GROUP = bin
76
77$(ROOTUSRSBIN)/allocate := 	FILEMODE = 04755
78$(ROOTUSRSBIN)/deallocate :=	FILEMODE = 04755
79$(ROOTUSRSBIN)/list_devices :=	FILEMODE = 04755
80
81$(ROOTSECDEV)/% :=		FILEMODE = 0400
82$(ROOTSECDEV)/% :=              OWNER = root
83$(ROOTSECDEV)/% :=              GROUP = bin
84
85$(ROOTSECLIB)/% :=		FILEMODE = 0751
86
87allocate :=	LDLIBS += -lbsm -lsec -lsecdb
88
89.KEEP_STATE:
90
91all :		$(PROG) $(RTLCKS) $(SCRIPTS)
92
93install :	all $(ROOTDIRS) $(ROOTPROG) $(ROOTLOCKS) $(ROOTSCRIPTS)
94		$(RM) $(ROOTUSRSBIN)/$(DEFILE)
95		$(LN) $(ROOTUSRSBIN)/$(PROG1) $(ROOTUSRSBIN)/$(DEFILE)
96		$(RM) $(ROOTUSRSBIN)/$(LISTFILE)
97		$(LN) $(ROOTUSRSBIN)/$(PROG1) $(ROOTUSRSBIN)/$(LISTFILE)
98
99$(PROG) :	$$(POBJS)
100		$(LINK.c) $(POBJS) -o $@ $(LDLIBS)
101		$(POST_PROCESS)
102
103$(RTLCKS):
104		$(TOUCH) $@
105
106$(ROOTDIRS):
107		$(INS.dir)
108
109$(ROOTSECDEV)/%: %
110		$(INS.file)
111
112$(ROOTSECLIB)/%: %
113		$(INS.file)
114
115$(POFILE):      $(POFILES)
116		$(RM) $@; $(CAT) $(POFILES) > $@; $(RM)  $(POFILES)
117
118#
119# Concatenate all the scripts into one before we build the catalogue.
120# Done to shrink the catalogue since some messages are shared between
121# the various scripts.
122#
123$(ALLSCRIPTS):	$(SCRIPTS:%=%.sh)
124		$(CAT) $(SCRIPTS:%=%.sh) > $@
125
126clean :
127		$(RM) $(OBJS) $(RTLCKS) $(ALLSCRIPTS)
128
129lint :		lint_SRCS
130
131strip :
132		$(STRIP) $(PROG)
133
134include		../Makefile.targ
135