xref: /illumos-gate/usr/src/lib/libbsm/Makefile (revision 401f278d817f55ca385f31d9e40db6deac6220e8)
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 2006 Sun Microsystems, Inc.  All rights reserved.
23# Use is subject to license terms.
24#
25# ident	"%Z%%M%	%I%	%E% SMI"
26#
27
28include ../Makefile.lib
29
30SUBDIRS =	$(MACH)
31$(BUILD64)SUBDIRS += $(MACH64)
32
33XGETFLAGS_ADT += -a
34
35all :=		TARGET= all
36clean :=	TARGET= clean
37clobber :=	TARGET= clobber
38delete :=	TARGET= delete
39install :=	TARGET= install
40lint :=		TARGET= lint
41package :=	TARGET= package
42
43.KEEP_STATE:
44
45all clean clobber delete install lint package: $(SUBDIRS)
46
47COMMONDIR = common
48
49#
50# Macros for libbsm header files. These define user-level only interfaces.
51#
52GENHDRS = audit_uevents.h
53HDRS = libbsm.h devices.h devalloc.h adt.h adt_event.h audit_private.h
54COMMONHDRS =	$(HDRS:%=$(COMMONDIR)/%)
55ROOTHDRDIR = 	$(ROOT)/usr/include/bsm
56ROOTCHDRS = 	$(HDRS:%=$(ROOTHDRDIR)/%)
57ROOTHDRS = 	$(GENHDRS:%=$(ROOTHDRDIR)/%)
58
59CHECKCHDRS =	$(COMMONHDRS:%.h=%.check)
60CHECKHDRS =	$(GENHDRS:%.h=%.check)
61
62$(ROOTHDRS) := 	FILEMODE = 0644
63$(ROOTCHDRS) :=	FILEMODE = 0644
64
65#
66# Macros for libbsm database files. These should probably be installed
67# from somewhere else. Until we find that better place, install them
68# from here.
69#
70
71ROOTETCSECURITY = 	$(ROOT)/etc/security
72$(ROOTETCSECURITY) := 	DIRMODE = 0755
73$(ROOTETCSECURITY) := 	OWNER = root
74$(ROOTETCSECURITY) := 	GROUP = sys
75
76ESFILES =		audit_class audit_control audit_event audit_user
77ESSRC =			$(ESFILES:%=%.txt)
78ETCSECURITYFILES =	$(ESFILES:%=$(ROOTETCSECURITY)/%)
79$(ETCSECURITYFILES) :=	FILEMODE = 0644
80$(ETCSECURITYFILES) :=	OWNER = root
81$(ETCSECURITYFILES) :=	GROUP = sys
82
83EESFILES =		audit_startup
84EESSRC =		$(EESFILES:%=%.txt)
85EETCSECURITYFILES =	$(EESFILES:%=$(ROOTETCSECURITY)/%)
86$(EETCSECURITYFILES) :=	FILEMODE = 0744
87$(EETCSECURITYFILES) :=	OWNER = root
88$(EETCSECURITYFILES) :=	GROUP = sys
89
90#
91# /etc/security/audit/localhost/files is a symbolic link to /var/audit.
92# This is provided so that auditreduce will work in the default configuration.
93#
94RESA=$(ROOTETCSECURITY)/audit
95RESAL=$(RESA)/localhost
96VARAUDIT=$(ROOT)/var/audit
97AUDITDIRS=$(RESA) $(RESAL) $(VARAUDIT)
98$(AUDITDIRS) := FILEMODE = 0750
99$(AUDITDIRS) := OWNER = root
100$(AUDITDIRS) := GROUP = sys
101
102ARSYMLNK=$(RESAL)/files
103
104#
105# message catalogue file
106#
107MSGFILES =	`$(GREP) -l gettext $(COMMONDIR)/*.c`
108POFILE =	libbsm.po
109
110#
111# Definitions for XML (DTD AND XSL)
112#
113DTD =		adt_record.dtd.1
114XSL =		adt_record.xsl.1
115ROOTXMLDIR =	$(ROOT)/usr/share/lib/xml
116ROOTDTDDIR=	$(ROOTXMLDIR)/dtd
117ROOTXSLDIR=	$(ROOTXMLDIR)/style
118ROOTDTD=	$(DTD:%=$(ROOTDTDDIR)/%)
119ROOTXSL=	$(XSL:%=$(ROOTXSLDIR)/%)
120ROOTXMLDIRS =	$(ROOTXMLDIR) $(ROOTDTDDIR) $(ROOTXSLDIR)
121ROOTXMLFILES =	$(ROOTDTD) $(ROOTXSL)
122
123$(ROOTXMLDIRS) :=  FILEMODE = 755
124$(ROOTXMLDIRS) :=  OWNER = root
125$(ROOTXMLDIRS) :=  GROUP = sys
126
127$(ROOTXMLFILES) :=  FILEMODE = 444
128$(ROOTXMLFILES) :=  OWNER = root
129$(ROOTXMLFILES) :=  GROUP = bin
130
131
132CPPFLAGS += -I$(COMMONDIR)
133CPPFLAGS += -D_REENTRANT
134
135.KEEP_STATE:
136
137install: install_dirs install_data
138
139#		$(ROOTUSRLIB) $(ROOTLIBS) $(ROOTLINKS)
140
141install_h: $(ROOTHDRDIR) $(ROOTHDRS) $(ROOTCHDRS)
142
143check:	$(CHECKHDRS) $(CHECKCHDRS)
144
145install_data: $(ESSRC) $(RESSRC) $(ROOTETCSECURITY) $(ETCSECURITYFILES) \
146	$(EETCSECURITYFILES) $(ROOTXMLFILES)
147
148install_dirs: $(AUDITDIRS) $(ARSYMLNK) $(ROOTXMLDIRS)
149
150audit_uevents.h: mkhdr.sh audit_event.txt
151	sh mkhdr.sh
152
153$(ETCSECURITYFILES) $(EETCSECURITYFILES) $(RESA): \
154	$(ETCSECURITY) \
155	$(ROOTETCSECURITY)
156
157$(RESAL): $(RESA)
158
159$(ARSYMLNK): $(RESAL)
160
161$(ROOTHDRDIR):
162	$(INS.dir)
163
164$(ROOTHDRDIR)/%:%
165	$(INS.file)
166
167$(ROOTHDRDIR)/%:$(COMMONDIR)/%
168	$(INS.file)
169
170$(ROOTXMLDIRS):
171	$(INS.dir)
172
173$(ROOTDTDDIR)/% $(ROOTXSLDIR)/%: %
174	$(INS.file)
175
176$(AUDITDIRS):
177	$(INS.dir)
178
179$(ARSYMLNK):
180	$(RM) $@
181	$(SYMLINK) ../../../../var/audit $@
182
183$(ETCSECURITY)/%: %.txt
184	$(INS.rename)
185
186$(ROOTETCSECURITY):
187	$(INS.dir)
188
189$(ROOTETCSECURITY)/%: %.txt
190	$(INS.rename)
191
192$(POFILE):	 pofile_MSGFILES
193
194_msg:	$(MSGDOMAINPOFILE)
195
196# has strings but doesn't use gettext
197adt_xlate.po: $(COMMONDIR)/adt_xlate.c
198	$(RM) adt_xlate.po
199	$(XGETTEXT) $(XGETFLAGS_ADT) $(COMMONDIR)/adt_xlate.c
200	$(SED) "/^domain/d" < messages.po > adt_xlate.po
201	$(RM) messages.po
202
203$(SUBDIRS):	FRC
204	@cd $@; pwd; $(MAKE) $(TARGET)
205
206FRC:
207
208include ../Makefile.targ
209include ../../Makefile.msg.targ
210