# # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License (the "License"). # You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # # Copyright (c) 1992, 2010, Oracle and/or its affiliates. All rights reserved. # include ../Makefile.lib SUBDIRS = $(MACH) $(BUILD64)SUBDIRS += $(MACH64) XGETFLAGS_ADT += -a all := TARGET= all clean := TARGET= clean clobber := TARGET= clobber delete := TARGET= delete install := TARGET= install lint := TARGET= lint package := TARGET= package .KEEP_STATE: COMMONDIR = common # # Macros for libbsm header files. These define user-level only interfaces. # GENHDRS = audit_uevents.h HDRS = libbsm.h devices.h devalloc.h adt.h adt_event.h audit_private.h GENSRCS = $(COMMONDIR)/adt_xlate.c $(COMMONDIR)/adt_event.h COMMONHDRS = $(HDRS:%=$(COMMONDIR)/%) ROOTHDRDIR = $(ROOT)/usr/include/bsm ROOTCHDRS = $(HDRS:%=$(ROOTHDRDIR)/%) ROOTHDRS = $(GENHDRS:%=$(ROOTHDRDIR)/%) CHECKCHDRS = $(COMMONHDRS:%.h=%.check) CHECKHDRS = $(GENHDRS:%.h=%.check) $(ROOTHDRS) := FILEMODE = 0644 $(ROOTCHDRS) := FILEMODE = 0644 all install lint package: $(GENSRCS) $(SUBDIRS) clean clobber delete: $(SUBDIRS) # # Macros for libbsm database files. These should probably be installed # from somewhere else. Until we find that better place, install them # from here. # ROOTETCSECURITY = $(ROOT)/etc/security $(ROOTETCSECURITY) := DIRMODE = 0755 ESFILES = audit_class audit_control audit_event ESSRC = $(ESFILES:%=%.txt) ETCSECURITYFILES = $(ESFILES:%=$(ROOTETCSECURITY)/%) $(ETCSECURITYFILES) := FILEMODE = 0644 # # /etc/security/audit/localhost/files is a symbolic link to /var/audit. # This is provided so that auditreduce will work in the default configuration. # RESA=$(ROOTETCSECURITY)/audit RESAL=$(RESA)/localhost VARAUDIT=$(ROOT)/var/audit AUDITDIRS=$(RESA) $(RESAL) $(VARAUDIT) $(AUDITDIRS) := FILEMODE = 0750 ARSYMLNK=$(RESAL)/files # # message catalogue file # MSGFILES = `$(GREP) -l gettext $(COMMONDIR)/*.c` POFILE = libbsm.po # # Definitions for XML (DTD AND XSL) # DTD = adt_record.dtd.1 XSL = adt_record.xsl.1 ROOTXMLDIR = $(ROOT)/usr/share/lib/xml ROOTDTDDIR= $(ROOTXMLDIR)/dtd ROOTXSLDIR= $(ROOTXMLDIR)/style ROOTDTD= $(DTD:%=$(ROOTDTDDIR)/%) ROOTXSL= $(XSL:%=$(ROOTXSLDIR)/%) ROOTXMLDIRS = $(ROOTXMLDIR) $(ROOTDTDDIR) $(ROOTXSLDIR) ROOTXMLFILES = $(ROOTDTD) $(ROOTXSL) $(ROOTXMLDIRS) := FILEMODE = 755 $(ROOTXMLFILES) := FILEMODE = 444 CPPFLAGS += -I$(COMMONDIR) CPPFLAGS += -D_REENTRANT CLEANFILES += $(GENSRCS) $(GENHDRS) ADTXMLFILE = $(COMMONDIR)/adt.xml ADTXSDFILE = $(COMMONDIR)/adt.xsd AUDITXML = auditxml .KEEP_STATE: install: install_dirs install_data # $(ROOTUSRLIB) $(ROOTLIBS) $(ROOTLINKS) install_h: $(ROOTHDRDIR) $(ROOTHDRS) $(ROOTCHDRS) check: $(CHECKHDRS) $(CHECKCHDRS) xmllint --schema $(ADTXSDFILE) --noout $(ADTXMLFILE) install_data: $(ESSRC) $(RESSRC) $(ROOTETCSECURITY) $(ETCSECURITYFILES) \ $(ROOTXMLFILES) install_dirs: $(AUDITDIRS) $(ARSYMLNK) $(ROOTXMLDIRS) audit_uevents.h: mkhdr.sh audit_event.txt sh mkhdr.sh $(COMMONDIR)/adt_event.check: $(COMMONDIR)/adt_event.h $(DOT_C_CHECK) $< clean clobber: clean_files clean_files: -$(RM) $(CLEANFILES) $(GENSRCS): $(ADTXMLFILE) $(AUDITXML) $(PERL) $(AUDITXML) -o $(COMMONDIR) $(ADTXMLFILE) $(ETCSECURITYFILES) $(RESA): \ $(ETCSECURITY) \ $(ROOTETCSECURITY) $(RESAL): $(RESA) $(ARSYMLNK): $(RESAL) $(ROOTHDRDIR): $(INS.dir) $(ROOTHDRDIR)/%:% $(INS.file) $(ROOTHDRDIR)/%:$(COMMONDIR)/% $(INS.file) $(ROOTXMLDIRS): $(INS.dir) $(ROOTDTDDIR)/% $(ROOTXSLDIR)/%: % $(INS.file) $(AUDITDIRS): $(INS.dir) $(ARSYMLNK): $(RM) $@ $(SYMLINK) ../../../../var/audit $@ $(ETCSECURITY)/%: %.txt $(INS.rename) $(ROOTETCSECURITY): $(INS.dir) $(ROOTETCSECURITY)/%: %.txt $(INS.rename) $(POFILE): pofile_MSGFILES _msg: $(MSGDOMAINPOFILE) # has strings but doesn't use gettext adt_xlate.po: $(COMMONDIR)/adt_xlate.c $(RM) adt_xlate.po $(XGETTEXT) $(XGETFLAGS_ADT) $(COMMONDIR)/adt_xlate.c $(SED) "/^domain/d" < messages.po > adt_xlate.po $(RM) messages.po $(SUBDIRS): FRC @cd $@; pwd; $(MAKE) $(TARGET) FRC: include ../Makefile.targ include ../../Makefile.msg.targ