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# lib/libbsm/Makefile 29# 30 31include ../../Makefile.master 32include ../Makefile.lib 33 34SUBDIRS= spec .WAIT $(MACH) $(BUILD64) $(MACH64) 35 36XGETFLAGS_ADT += -a 37 38all := TARGET= all 39clean := TARGET= clean 40clobber := TARGET= clobber 41delete := TARGET= delete 42install := TARGET= install 43lint := TARGET= lint 44package := TARGET= package 45 46.KEEP_STATE: 47 48all clean clobber delete install lint package: $(SUBDIRS) 49 50OBJECTS= adr.o \ 51 adrf.o \ 52 adrm.o \ 53 adt.o \ 54 adt_token.o \ 55 adt_xlate.o \ 56 au_open.o \ 57 au_preselect.o \ 58 au_to.o \ 59 au_usermask.o \ 60 audit_allocate.o \ 61 audit_class.o \ 62 audit_cron.o \ 63 audit_crontab.o \ 64 audit_at.o \ 65 audit_event.o \ 66 audit_ftpd.o \ 67 audit_halt.o \ 68 audit_inetd.o \ 69 audit_kadmind.o \ 70 audit_krb5kdc.o \ 71 audit_login.o \ 72 audit_mountd.o \ 73 audit_mgrs.o \ 74 audit_newgrp.o \ 75 audit_plugin.o \ 76 audit_reboot.o \ 77 audit_rexd.o \ 78 audit_rexecd.o \ 79 audit_rshd.o \ 80 audit_settid.o \ 81 audit_shutdown.o \ 82 audit_uadmin.o \ 83 audit_user.o \ 84 bsm.o \ 85 generic.o \ 86 getacinfo.o \ 87 getacval.o \ 88 getauditflags.o \ 89 getdaent.o \ 90 getdment.o \ 91 getfaudflgs.o 92 93COMMONDIR = common 94 95# 96# Macros for libbsm header files. These define user-level only interfaces. 97# 98GENHDRS = audit_uevents.h 99HDRS = libbsm.h devices.h adt.h adt_event.h audit_private.h 100COMMONHDRS = $(HDRS:%=$(COMMONDIR)/%) 101ROOTHDRDIR = $(ROOT)/usr/include/bsm 102ROOTCHDRS = $(HDRS:%=$(ROOTHDRDIR)/%) 103ROOTHDRS = $(GENHDRS:%=$(ROOTHDRDIR)/%) 104 105CHECKCHDRS = $(COMMONHDRS:%.h=%.check) 106CHECKHDRS = $(GENHDRS:%.h=%.check) 107 108$(ROOTHDRS) := FILEMODE = 0644 109$(ROOTCHDRS) := FILEMODE = 0644 110 111# 112# Macros for libbsm database files. These should probably be installed 113# from somewhere else. Until we find that better place, install them 114# from here. 115# 116 117ROOTETCSECURITY = $(ROOT)/etc/security 118$(ROOTETCSECURITY) := DIRMODE = 0755 119$(ROOTETCSECURITY) := OWNER = root 120$(ROOTETCSECURITY) := GROUP = sys 121 122ESFILES = audit_class audit_event 123ESSRC = $(ESFILES:%=%.txt) 124ETCSECURITYFILES = $(ESFILES:%=$(ROOTETCSECURITY)/%) 125$(ETCSECURITYFILES) := FILEMODE = 0644 126$(ETCSECURITYFILES) := OWNER = root 127$(ETCSECURITYFILES) := GROUP = sys 128 129EESFILES = audit_startup 130EESSRC = $(EESFILES:%=%.txt) 131EETCSECURITYFILES = $(EESFILES:%=$(ROOTETCSECURITY)/%) 132$(EETCSECURITYFILES) := FILEMODE = 0744 133$(EETCSECURITYFILES) := OWNER = root 134$(EETCSECURITYFILES) := GROUP = sys 135 136RESFILES = audit_control audit_user 137RESSRC = $(RESFILES:%=%.txt) 138ROOTETCSECURITYFILES = $(RESFILES:%=$(ROOTETCSECURITY)/%) 139$(ROOTETCSECURITYFILES) := FILEMODE = 0640 140$(ROOTETCSECURITYFILES) := OWNER = root 141$(ROOTETCSECURITYFILES) := GROUP = sys 142 143# 144# /etc/security/audit/localhost/files is a symbolic link to /var/audit. 145# This is provided so that auditreduce will work in the default configuration. 146# 147RESA=$(ROOTETCSECURITY)/audit 148RESAL=$(RESA)/localhost 149VARAUDIT=$(ROOT)/var/audit 150AUDITDIRS=$(RESA) $(RESAL) $(VARAUDIT) 151$(AUDITDIRS) := FILEMODE = 0750 152$(AUDITDIRS) := OWNER = root 153$(AUDITDIRS) := GROUP = sys 154 155ARSYMLNK=$(RESAL)/files 156 157# 158# message catalogue file 159# 160TEXT_DOMAIN= SUNW_OST_OSLIB 161POFILE= libbsm.po 162CATALOG=libbsm.po 163POFILES= $(OBJECTS:%.o=%.po) 164 165# 166# Definitions for XML (DTD AND XSL) 167# 168DTD = adt_record.dtd.1 169XSL = adt_record.xsl.1 170ROOTXMLDIR = $(ROOT)/usr/share/lib/xml 171ROOTDTDDIR= $(ROOTXMLDIR)/dtd 172ROOTXSLDIR= $(ROOTXMLDIR)/style 173ROOTDTD= $(DTD:%=$(ROOTDTDDIR)/%) 174ROOTXSL= $(XSL:%=$(ROOTXSLDIR)/%) 175ROOTXMLDIRS = $(ROOTXMLDIR) $(ROOTDTDDIR) $(ROOTXSLDIR) 176ROOTXMLFILES = $(ROOTDTD) $(ROOTXSL) 177 178$(ROOTXMLDIRS) := FILEMODE = 755 179$(ROOTXMLDIRS) := OWNER = root 180$(ROOTXMLDIRS) := GROUP = sys 181 182$(ROOTXMLFILES) := FILEMODE = 444 183$(ROOTXMLFILES) := OWNER = root 184$(ROOTXMLFILES) := GROUP = bin 185 186 187CPPFLAGS += -I$(COMMONDIR) 188CPPFLAGS += -D_REENTRANT 189 190.KEEP_STATE: 191 192install: install_dirs install_data 193 194# $(ROOTUSRLIB) $(ROOTLIBS) $(ROOTLINKS) 195 196install_h: $(ROOTHDRDIR) $(ROOTHDRS) $(ROOTCHDRS) 197 198check: $(CHECKHDRS) $(CHECKCHDRS) 199 200install_data: $(ESSRC) $(RESSRC) $(ROOTETCSECURITY) $(ETCSECURITYFILES) \ 201 $(EETCSECURITYFILES) $(ROOTETCSECURITYFILES) $(ROOTXMLFILES) 202 203install_dirs: $(AUDITDIRS) $(ARSYMLNK) $(ROOTXMLDIRS) 204 205audit_uevents.h: mkhdr.sh audit_event.txt 206 sh mkhdr.sh 207 208$(ETCSECURITYFILES) $(EETCSECURITYFILES) $(ROOTETCSECURITYFILES) $(RESA): \ 209 $(ETCSECURITY) \ 210 $(ROOTETCSECURITY) 211 212$(RESAL): $(RESA) 213 214$(ARSYMLNK): $(RESAL) 215 216$(ROOTHDRDIR): 217 $(INS.dir) 218 219$(ROOTHDRDIR)/%:% 220 $(INS.file) 221 222$(ROOTHDRDIR)/%:$(COMMONDIR)/% 223 $(INS.file) 224 225$(ROOTXMLDIRS): 226 $(INS.dir) 227 228$(ROOTDTDDIR)/% $(ROOTXSLDIR)/%: % 229 $(INS.file) 230 231$(AUDITDIRS): 232 $(INS.dir) 233 234$(ARSYMLNK): 235 $(RM) $@ 236 $(SYMLINK) ../../../../var/audit $@ 237 238$(ETCSECURITY)/%: %.txt 239 $(INS.rename) 240 241$(ROOTETCSECURITY): 242 $(INS.dir) 243 244$(ROOTETCSECURITY)/%: %.txt 245 $(INS.rename) 246 247%.po: $(COMMONDIR)/%.c 248 $(COMPILE.cpp) $< > $<.i 249 $(BUILD.po) 250 251_msg: $(MSGDOMAIN) $(POFILE) 252 $(RM) $(MSGDOMAIN)/$(CATALOG) 253 $(CP) $(POFILE) $(MSGDOMAIN) 254 255catalog: _msg 256 257po_clean: 258 $(RM) $(POFILES) $(POFILE) 259 260clobber: po_clean 261 262$(POFILE): .WAIT $(POFILES) 263 $(RM) $@ 264 $(CAT) $(POFILES) > $@ 265 266# has strings but doesn't use gettext 267adt_xlate.po: $(COMMONDIR)/adt_xlate.c 268 $(RM) adt_xlate.po 269 $(XGETTEXT) $(XGETFLAGS_ADT) $(COMMONDIR)/adt_xlate.c 270 $(SED) "/^domain/d" < messages.po > adt_xlate.po 271 $(RM) messages.po 272 273$(MSGDOMAIN): 274 $(INS.dir) 275 276 277spec $(MACH) $(MACH64) : FRC 278 @cd $@; pwd; $(MAKE) $(TARGET) 279 280FRC: 281