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