Makefile revision 24fe0b3bf671e123467ce1df0b67cadd3614c8e4
463N/A#
463N/A# CDDL HEADER START
463N/A#
463N/A# The contents of this file are subject to the terms of the
463N/A# Common Development and Distribution License (the "License").
463N/A# You may not use this file except in compliance with the License.
463N/A#
463N/A# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
463N/A# or http://www.opensolaris.org/os/licensing.
463N/A# See the License for the specific language governing permissions
463N/A# and limitations under the License.
463N/A#
463N/A# When distributing Covered Code, include this CDDL HEADER in each
463N/A# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
463N/A# If applicable, add the following below this CDDL HEADER, with the
463N/A# fields enclosed by brackets "[]" replaced with your own identifying
463N/A# information: Portions Copyright [yyyy] [name of copyright owner]
463N/A#
463N/A# CDDL HEADER END
463N/A#
463N/A
463N/A#
463N/A# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
463N/A# Use is subject to license terms.
463N/A#
463N/A
463N/AETCTSOLFILES = devalloc_defaults
463N/A
463N/Ainclude ../Makefile.cmd
463N/A
463N/AROOTSEC = $(ROOTETC)/security
463N/AROOTSECDEV = $(ROOTSEC)/dev
463N/AROOTSECLIB = $(ROOTSEC)/lib
463N/AROOTSECAUD = $(ROOTSEC)/audio
463N/AROOTDIRS = $(ROOTSECDEV) $(ROOTSECLIB) $(ROOTSECAUD)
463N/A
463N/ARTLCKS = audio fd0 sr0 st0 st1
463N/ACLEANfd = fd_clean
463N/ACLEANsr = sr_clean
463N/ACLEANst = st_clean
463N/ACLEANaudio = audio_clean
463N/ACLEANdisk = disk_clean
463N/ACLEAN_SCRIPTS = $(CLEANfd) $(CLEANsr) $(CLEANst) $(CLEANaudio) $(CLEANdisk)
463N/AWDW_SCRIPTS = wdwmsg wdwwrapper
463N/AWDW_LINKS = $(CLEANaudio) $(CLEANdisk) $(CLEANst)
463N/ASCRIPTS = $(CLEAN_SCRIPTS) $(WDW_SCRIPTS)
463N/AALLSCRIPTS = allscripts.sh
463N/A
463N/APROGalloc = allocate
463N/APROGmkdevalloc = mkdevalloc
463N/APROGdminfo = dminfo
463N/APROGaddalloc = add_allocatable
463N/APROG = $(PROGalloc) $(PROGmkdevalloc) $(PROGdminfo) \
463N/A $(PROGaddalloc)
463N/A
463N/ALINKPROGalloc = deallocate list_devices
463N/ALINKPROGmkdevalloc = mkdevmaps
463N/ALINKPROGaddalloc = remove_allocatable
463N/A
463N/APOFILE = allocate_all.po
463N/APOFILES = $(OBJS:%.o=%.po) $(ALLSCRIPTS:%.sh=%.po)
463N/A
463N/ADFLAGS += -D_REENTRANT
463N/ACPPFLAGS += $(DFLAGS)
463N/A
463N/AROOTLOCKS = $(RTLCKS:%=$(ROOTSECDEV)/%)
463N/AROOTSCRIPTS = $(SCRIPTS:%=$(ROOTSECLIB)/%)
463N/AROOTWDWLINKS = $(WDW_LINKS:%=$(ROOTSECLIB)/%.windowing)
463N/A
463N/AROOTPROG = $(PROGallocate:%=$(ROOTUSRSBIN)/%) \
463N/A $(PROGmkdevalloc:%=$(ROOTUSRSBIN)/%) \
463N/A $(PROGdminfo:%=$(ROOTUSRSBIN)/%) \
463N/A $(PROGaddaloc:%=$(ROOTUSRSBIN)/%)
463N/AROOTLINKalloc = $(LINKPROGalloc:%=$(ROOTUSRSBIN)/%)
463N/AROOTLINKmkdevalloc = $(LINKPROGmkdevalloc:%=$(ROOTUSRSBIN)/%)
463N/AROOTLINKaddalloc = $(LINKPROGaddalloc:%=$(ROOTUSRSBIN)/%)
ROOTLINKS = $(ROOTLINKalloc) $(ROOTLINKmkdevalloc) $(ROOTLINKaddalloc)
PROGallocOBJS = allocate.o allocate3.o
PROGmkdevallocOBJS = mkdevalloc.o
PROGdminfoOBJS = dminfo.o
PROGaddallocOBJS = add_allocatable.o
OBJS = $(PROGallocOBJS) \
$(PROGmkdevallocOBJS) \
$(PROGdminfoOBJS) \
$(PROGaddallocOBJS)
SRCS = $(OBJS:%.o=%.c)
$(ROOTUSRSBIN)/% := FILEMODE = 555
$(ROOTUSRSBIN)/allocate := FILEMODE = 4555
$(ROOTSECDEV)/% := FILEMODE = 0400
$(ROOTSECLIB)/% := FILEMODE = 0555
lint := LDLIBS += -lbsm -lsec -lsecdb -ldevinfo -ltsol
$(PROGalloc) := LDLIBS += -lbsm -lsec -lsecdb -ldevinfo -ltsol
$(PROGmkdevalloc) := LDLIBS += -lbsm
$(PROGdminfo) := LDLIBS += -lbsm
$(PROGaddalloc) := LDLIBS += -lbsm -lsecdb -ltsol
CLOBBERFILES += $(SCRIPTS)
.KEEP_STATE:
all : $(PROG) $(RTLCKS) $(SCRIPTS)
install : $(PROG) $(ROOTDIRS) $(ROOTPROG) $(ROOTLOCKS) \
$(ROOTSCRIPTS) $(ROOTLINKS) $(ROOTWDWLINKS) $(ROOTETCTSOLFILES)
$(RTLCKS):
$(TOUCH) $@
$(ROOTSECLIB)/%: %.sh
$(INS.rename)
$(PROGalloc) : $(PROGallocOBJS)
$(LINK.c) $(PROGallocOBJS) -o $@ $(LDLIBS)
$(POST_PROCESS)
$(PROGaddalloc) : $(PROGaddallocOBJS)
$(LINK.c) $(PROGaddallocOBJS) -o $@ $(LDLIBS)
$(POST_PROCESS)
$(PROGmkdevalloc) : $(PROGmkdevallocOBJS)
$(LINK.c) $(PROGmkdevallocOBJS) -o $@ $(LDLIBS)
$(POST_PROCESS)
$(PROGdminfo) : $(PROGdminfoOBJS)
$(LINK.c) $(PROGdminfoOBJS) -o $@ $(LDLIBS)
$(POST_PROCESS)
$(ROOTDIRS) :
$(INS.dir)
$(ROOTSECDEV)/%: %
$(INS.file)
$(ROOTSECLIB)/%: %
$(RM) $@
$(INS.file)
$(ROOTLINKalloc) : $(PROGalloc:%=$(ROOTUSRSBIN)/%)
$(RM) $@
$(LN) $(PROGalloc:%=$(ROOTUSRSBIN)/%) $@
$(ROOTLINKaddalloc) : $(PROGaddalloc:%=$(ROOTUSRSBIN)/%)
$(RM) $@
$(LN) $(PROGaddalloc:%=$(ROOTUSRSBIN)/%) $@
$(ROOTLINKmkdevalloc) : $(PROGmkdevalloc:%=$(ROOTUSRSBIN)/%)
$(RM) $@
$(LN) $(PROGmkdevalloc:%=$(ROOTUSRSBIN)/%) $@
$(ROOTETCSECLIB)/%.windowing: %
$(RM) $@
$(SYMLINK) $< $@
$(POFILE): $(POFILES)
$(RM) $@
$(CAT) $(POFILES) > $@
#
# Concatenate all the scripts into one before we build the catalogue.
# Done to shrink the catalogue since some messages are shared between
# the various scripts.
#
$(ALLSCRIPTS): $(SCRIPTS:%=%.sh)
$(CAT) $(SCRIPTS:%=%.sh) > $@
clean :
$(RM) $(PROG) $(RTLCKS) $(OBJS) \
$(SCRIPTS) $(ALLSCRIPTS) $(POFILE) $(POFILES)
lint : lint_SRCS
strip :
$(STRIP) $(PROG)
include ../Makefile.targ