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