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