Home | History | Annotate | Download | only in allocate
      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 2008 Sun Microsystems, Inc.  All rights reserved.
     24 # Use is subject to license terms.
     25 #
     26 # ident	"%Z%%M%	%I%	%E% SMI"
     27 #
     28 
     29 ETCTSOLFILES =	devalloc_defaults
     30 
     31 include		../Makefile.cmd
     32 
     33 ROOTSEC =	$(ROOTETC)/security
     34 ROOTSECDEV =	$(ROOTSEC)/dev
     35 ROOTSECLIB =	$(ROOTSEC)/lib
     36 ROOTDIRS =	$(ROOTSECDEV) $(ROOTSECLIB)
     37 
     38 RTLCKS =	audio fd0 sr0 st0 st1
     39 CLEANfd =	fd_clean
     40 CLEANsr =	sr_clean
     41 CLEANst =	st_clean
     42 CLEANaudio =	audio_clean_wrapper
     43 CLEANdisk =	disk_clean
     44 CLEAN_SCRIPTS =	$(CLEANfd) $(CLEANsr) $(CLEANst) $(CLEANaudio) $(CLEANdisk)
     45 WDW_SCRIPTS =	wdwmsg wdwwrapper
     46 WDW_LINKS =	$(CLEANaudio) $(CLEANdisk) $(CLEANst)
     47 SCRIPTS =	$(CLEAN_SCRIPTS) $(WDW_SCRIPTS)
     48 ALLSCRIPTS =	allscripts.sh
     49 
     50 PROGalloc =	allocate
     51 PROGmkdevalloc =	mkdevalloc
     52 PROGdminfo =	dminfo
     53 PROGaudio =	audio_clean
     54 PROGaddalloc =	add_allocatable
     55 PROG =		$(PROGalloc) $(PROGmkdevalloc) $(PROGdminfo) \
     56 	$(PROGaudio) $(PROGaddalloc)
     57 
     58 LINKPROGalloc =	deallocate list_devices
     59 LINKPROGmkdevalloc = mkdevmaps
     60 LINKPROGaddalloc = remove_allocatable
     61 
     62 POFILE =	allocate_all.po
     63 POFILES =	$(OBJS:%.o=%.po) $(ALLSCRIPTS:%.sh=%.po)
     64 
     65 DFLAGS +=	-D_REENTRANT
     66 CPPFLAGS +=	$(DFLAGS)
     67 
     68 ROOTLOCKS =	$(RTLCKS:%=$(ROOTSECDEV)/%)
     69 ROOTSCRIPTS =	$(SCRIPTS:%=$(ROOTSECLIB)/%)
     70 ROOTWDWLINKS =	$(WDW_LINKS:%=$(ROOTSECLIB)/%.windowing)
     71 
     72 ROOTPROG =	$(PROGallocate:%=$(ROOTUSRSBIN)/%) \
     73 		$(PROGmkdevalloc:%=$(ROOTUSRSBIN)/%) \
     74 		$(PROGdminfo:%=$(ROOTUSRSBIN)/%) \
     75 		$(PROGaudio:%=$(ROOTSECLIB)/%) \
     76 		$(PROGaddaloc:%=$(ROOTUSRSBIN)/%)
     77 ROOTLINKalloc =	$(LINKPROGalloc:%=$(ROOTUSRSBIN)/%)
     78 ROOTLINKmkdevalloc = $(LINKPROGmkdevalloc:%=$(ROOTUSRSBIN)/%)
     79 ROOTLINKaddalloc = $(LINKPROGaddalloc:%=$(ROOTUSRSBIN)/%)
     80 ROOTLINKS =	$(ROOTLINKalloc) $(ROOTLINKmkdevalloc) $(ROOTLINKaddalloc)
     81 
     82 PROGallocOBJS =		allocate.o allocate3.o
     83 PROGmkdevallocOBJS =	mkdevalloc.o
     84 PROGdminfoOBJS =	dminfo.o
     85 PROGaudioOBJS =		audio_clean.o
     86 PROGaddallocOBJS =	add_allocatable.o
     87 
     88 OBJS =		$(PROGallocOBJS) \
     89 		$(PROGmkdevallocOBJS) \
     90 		$(PROGdminfoOBJS) \
     91 		$(PROGaudioOBJS) \
     92 		$(PROGaddallocOBJS)
     93 
     94 SRCS =		$(OBJS:%.o=%.c)
     95 
     96 $(ROOTUSRSBIN)/% :=	FILEMODE = 555
     97 $(ROOTUSRSBIN)/allocate :=	FILEMODE = 4555
     98 $(ROOTUSRSBIN)/% :=     OWNER = root 
     99 $(ROOTUSRSBIN)/% :=     GROUP = bin 
    100 $(ROOTSECDEV)/% :=	FILEMODE = 0400
    101 $(ROOTSECDEV)/% :=	OWNER = root
    102 $(ROOTSECDEV)/% :=	GROUP = bin
    103 $(ROOTSECLIB)/% :=	FILEMODE = 0555
    104 $(ROOTSECLIB)/% :=	OWNER = root
    105 $(ROOTSECLIB)/% :=	GROUP = sys
    106 
    107 lint :=			LDLIBS += -lbsm -lsec -lsecdb -ldevinfo -ltsol
    108 
    109 $(PROGalloc) :=		LDLIBS += -lbsm -lsec -lsecdb -ldevinfo -ltsol
    110 $(PROGmkdevalloc) :=	LDLIBS += -lbsm
    111 $(PROGdminfo) :=	LDLIBS += -lbsm
    112 $(PROGaudio) :=		LDLIBS += -lbsm
    113 $(PROGaddalloc) :=	LDLIBS += -lbsm -lsecdb -ltsol
    114 
    115 CLOBBERFILES +=	$(SCRIPTS)
    116 
    117 .KEEP_STATE:
    118 
    119 all :		$(PROG) $(RTLCKS) $(SCRIPTS)
    120 
    121 install :	$(PROG) $(ROOTDIRS) $(ROOTPROG) $(ROOTLOCKS) \
    122 		$(ROOTSCRIPTS) $(ROOTLINKS) $(ROOTWDWLINKS) $(ROOTETCTSOLFILES)
    123 
    124 $(RTLCKS):
    125 		$(TOUCH) $@
    126 
    127 $(ROOTSECLIB)/%: %.sh
    128 		$(INS.rename)
    129 
    130 $(PROGalloc) :	$(PROGallocOBJS)
    131 		$(LINK.c) $(PROGallocOBJS) -o $@ $(LDLIBS)
    132 		$(POST_PROCESS)
    133 
    134 $(PROGaddalloc) :	$(PROGaddallocOBJS)
    135 		$(LINK.c) $(PROGaddallocOBJS) -o $@ $(LDLIBS)
    136 		$(POST_PROCESS)
    137 
    138 $(PROGmkdevalloc) :	$(PROGmkdevallocOBJS)
    139 			$(LINK.c) $(PROGmkdevallocOBJS) -o $@ $(LDLIBS)
    140 			$(POST_PROCESS)
    141 
    142 $(PROGdminfo) :	$(PROGdminfoOBJS)
    143 		$(LINK.c) $(PROGdminfoOBJS) -o $@ $(LDLIBS)
    144 		$(POST_PROCESS)
    145 
    146 $(PROGaudio) :	$(PROGaudioOBJS)
    147 		$(LINK.c) $(PROGaudioOBJS) -o $@ $(LDLIBS)
    148 		$(POST_PROCESS)
    149 
    150 $(ROOTDIRS) :
    151 		$(INS.dir)
    152 
    153 $(ROOTSECDEV)/%: %
    154 		$(INS.file)
    155 
    156 $(ROOTSECLIB)/%: %
    157 		$(RM) $@
    158 		$(INS.file)
    159 
    160 $(ROOTSECLIB)/audio_clean :	audio_clean
    161 				$(RM) $@
    162 				$(INS.file) $(@F)
    163 
    164 $(ROOTLINKalloc) :	$(PROGalloc:%=$(ROOTUSRSBIN)/%)
    165 			$(RM) $@
    166 			$(LN) $(PROGalloc:%=$(ROOTUSRSBIN)/%) $@
    167 
    168 $(ROOTLINKaddalloc) :	$(PROGaddalloc:%=$(ROOTUSRSBIN)/%)
    169 			$(RM) $@
    170 			$(LN) $(PROGaddalloc:%=$(ROOTUSRSBIN)/%) $@
    171 
    172 $(ROOTLINKmkdevalloc) :	$(PROGmkdevalloc:%=$(ROOTUSRSBIN)/%)
    173 			$(RM) $@
    174 			$(LN) $(PROGmkdevalloc:%=$(ROOTUSRSBIN)/%) $@
    175 
    176 
    177 $(ROOTETCSECLIB)/%.windowing: %
    178 	$(RM) $@
    179 	$(SYMLINK) $< $@
    180 
    181 $(POFILE):      $(POFILES)
    182 		$(RM) $@
    183 		$(CAT) $(POFILES) > $@
    184 
    185 #
    186 # Concatenate all the scripts into one before we build the catalogue.
    187 # Done to shrink the catalogue since some messages are shared between
    188 # the various scripts.
    189 #
    190 $(ALLSCRIPTS):	$(SCRIPTS:%=%.sh)
    191 		$(CAT) $(SCRIPTS:%=%.sh) > $@
    192 
    193 clean :
    194 		$(RM) $(PROG) $(RTLCKS) $(OBJS) \
    195 		$(SCRIPTS) $(ALLSCRIPTS) $(POFILE) $(POFILES)
    196 
    197 lint :		lint_SRCS
    198 
    199 strip :
    200 		$(STRIP) $(PROG)
    201 
    202 include		../Makefile.targ
    203