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