1 0 stevel # 2 0 stevel # CDDL HEADER START 3 0 stevel # 4 0 stevel # The contents of this file are subject to the terms of the 5 2248 raf # Common Development and Distribution License (the "License"). 6 2248 raf # You may not use this file except in compliance with the License. 7 0 stevel # 8 0 stevel # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 0 stevel # or http://www.opensolaris.org/os/licensing. 10 0 stevel # See the License for the specific language governing permissions 11 0 stevel # and limitations under the License. 12 0 stevel # 13 0 stevel # When distributing Covered Code, include this CDDL HEADER in each 14 0 stevel # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 0 stevel # If applicable, add the following below this CDDL HEADER, with the 16 0 stevel # fields enclosed by brackets "[]" replaced with your own identifying 17 0 stevel # information: Portions Copyright [yyyy] [name of copyright owner] 18 0 stevel # 19 0 stevel # CDDL HEADER END 20 0 stevel # 21 0 stevel # 22 9202 Jason # Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23 0 stevel # Use is subject to license terms. 24 0 stevel # 25 0 stevel # 26 0 stevel 27 0 stevel # libc build rules 28 0 stevel 29 0 stevel # 30 0 stevel # This first rule picks up optimized sources for libc variants. 31 0 stevel # 32 0 stevel pics/%.o: $(OPTIMIZED_LIBCBASE)/gen/%.s 33 0 stevel $(BUILD.s) 34 0 stevel $(POST_PROCESS_O) 35 0 stevel 36 0 stevel pics/%.o: $(LIBCBASE)/crt/%.c 37 0 stevel $(COMPILE.c) -o $@ $< 38 0 stevel $(POST_PROCESS_O) 39 0 stevel 40 0 stevel pics/%.o: $(LIBCBASE)/crt/%.s 41 0 stevel $(BUILD.s) 42 0 stevel $(POST_PROCESS_O) 43 0 stevel 44 0 stevel pics/%.o: $(LIBCBASE)/gen/%.c 45 0 stevel $(COMPILE.c) -o $@ $< 46 0 stevel $(POST_PROCESS_O) 47 0 stevel 48 0 stevel pics/%.o: $(LIBCBASE)/gen/%.s 49 0 stevel $(BUILD.s) 50 0 stevel $(POST_PROCESS_O) 51 0 stevel 52 0 stevel pics/%.o: $(LIBCBASE)/../$(TARGET_ARCH)/gen/%.s 53 0 stevel $(BUILD.s) 54 0 stevel $(POST_PROCESS_O) 55 0 stevel 56 0 stevel pics/_stack_grow.o: $(LIBCBASE)/../$(TARGET_ARCH)/gen/_stack_grow.s 57 0 stevel $(BUILD.s) $(LIBCBASE)/../$(TARGET_ARCH)/gen/_stack_grow.s 58 0 stevel $(POST_PROCESS_O) 59 0 stevel 60 0 stevel pics/%.o: $(LIBCBASE)/fp/%.c 61 0 stevel $(COMPILE.c) -o $@ $< 62 0 stevel $(POST_PROCESS_O) 63 0 stevel 64 0 stevel pics/%.o: $(LIBCBASE)/../$(MACH)/fp/%.c 65 0 stevel $(COMPILE.c) -o $@ $< 66 0 stevel $(POST_PROCESS_O) 67 0 stevel 68 0 stevel pics/%.o: $(LIBCBASE)/fp/%.s 69 0 stevel $(BUILD.s) 70 0 stevel $(POST_PROCESS_O) 71 0 stevel 72 0 stevel pics/%.o: $(LIBCBASE)/../$(TARGET_ARCH)/fp/%.c 73 0 stevel $(COMPILE.c) -o $@ $< 74 0 stevel $(POST_PROCESS_O) 75 0 stevel 76 0 stevel pics/%.o: $(LIBCBASE)/../$(TARGET_ARCH)/fp/%.s 77 0 stevel $(BUILD.s) 78 0 stevel $(POST_PROCESS_O) 79 0 stevel 80 0 stevel pics/%.o: $(LIBCBASE)/sys/%.c 81 0 stevel $(COMPILE.c) -o $@ $< 82 0 stevel $(POST_PROCESS_O) 83 0 stevel 84 0 stevel pics/%.o: $(LIBCBASE)/../common/sys/%.s 85 0 stevel $(BUILD.s) 86 0 stevel $(POST_PROCESS_O) 87 0 stevel 88 0 stevel pics/%.o: $(LIBCBASE)/sys/%.s 89 0 stevel $(BUILD.s) 90 0 stevel $(POST_PROCESS_O) 91 0 stevel 92 0 stevel pics/%.o: $(LIBCBASE)/../$(MACH)/sys/%.s 93 0 stevel $(BUILD.s) 94 0 stevel $(POST_PROCESS_O) 95 0 stevel 96 0 stevel pics/%.o: $(LIBCBASE)/../$(TARGET_ARCH)/sys/%.c 97 0 stevel $(COMPILE.c) -o $@ $< 98 0 stevel $(POST_PROCESS_O) 99 0 stevel 100 0 stevel pics/%.o: $(LIBCBASE)/../$(TARGET_ARCH)/sys/%.s 101 0 stevel $(BUILD.s) 102 0 stevel $(POST_PROCESS_O) 103 0 stevel 104 0 stevel # rules to build large file aware objects (xxx64.o from xxx.s or xxx.c) 105 0 stevel 106 0 stevel pics/%64.o: $(LIBCBASE)/../common/sys/%.s 107 0 stevel $(BUILD.s) 108 0 stevel $(POST_PROCESS_O) 109 0 stevel 110 0 stevel pics/%64.o: $(LIBCBASE)/sys/%.s 111 0 stevel $(BUILD.s) 112 0 stevel $(POST_PROCESS_O) 113 0 stevel 114 0 stevel pics/%64.o: $(LIBCBASE)/gen/%.c 115 0 stevel $(COMPILE.c) -o $@ $< 116 0 stevel $(POST_PROCESS_O) 117 0 stevel 118 0 stevel pics/%64.o: $(LIBCBASE)/../port/gen/%.c 119 0 stevel $(COMPILE.c) -o $@ $< 120 0 stevel $(POST_PROCESS_O) 121 0 stevel 122 0 stevel pics/%64.o: $(LIBCBASE)/../port/sys/%.c 123 0 stevel $(COMPILE.c) -o $@ $< 124 0 stevel $(POST_PROCESS_O) 125 0 stevel 126 0 stevel pics/%64.o: $(LIBCBASE)/../port/print/%.c 127 0 stevel $(COMPILE.c) -o $@ $< 128 0 stevel $(POST_PROCESS_O) 129 0 stevel 130 0 stevel pics/%64.o: $(LIBCBASE)/../port/stdio/%.c 131 0 stevel $(COMPILE.c) -o $@ $< 132 0 stevel $(POST_PROCESS_O) 133 0 stevel 134 0 stevel pics/%_w.o: $(LIBCBASE)/../port/stdio/%.c 135 0 stevel $(COMPILE.c) -o $@ $< 136 0 stevel $(POST_PROCESS_O) 137 0 stevel 138 0 stevel pics/%_w.o: $(LIBCBASE)/../port/print/%.c 139 0 stevel $(COMPILE.c) -o $@ $< 140 0 stevel $(POST_PROCESS_O) 141 0 stevel 142 0 stevel pics/%_pos.o: $(LIBCBASE)/../port/i18n/%.c 143 0 stevel $(COMPILE.c) -o $@ $< 144 0 stevel $(POST_PROCESS_O) 145 0 stevel 146 0 stevel pics/%_sbyte.o: $(LIBCBASE)/../port/i18n/%.c 147 0 stevel $(COMPILE.c) -o $@ $< 148 0 stevel $(POST_PROCESS_O) 149 0 stevel 150 0 stevel pics/%_possbyte.o: $(LIBCBASE)/../port/i18n/%.c 151 0 stevel $(COMPILE.c) -o $@ $< 152 0 stevel $(POST_PROCESS_O) 153 0 stevel 154 0 stevel pics/%_longlong.o: $(LIBCBASE)/../port/i18n/%.c 155 0 stevel $(COMPILE.c) -o $@ $< 156 0 stevel $(POST_PROCESS_O) 157 0 stevel 158 0 stevel # libc build rules for objects built from "portable" source in ../port 159 0 stevel 160 0 stevel pics/%.o: $(LIBCBASE)/../port/fp/%.c 161 0 stevel $(COMPILE.c) \ 162 0 stevel -I$(LIBCBASE)/../port/fp -o $@ $< 163 0 stevel $(POST_PROCESS_O) 164 0 stevel 165 0 stevel pics/%.o: $(LIBCBASE)/../port/i18n/%.c 166 0 stevel $(COMPILE.c) \ 167 0 stevel -I$(LIBCBASE)/../port/i18n -o $@ $< 168 0 stevel $(POST_PROCESS_O) 169 0 stevel 170 0 stevel # gen rules 171 0 stevel pics/%.o %.o: $(LIBCBASE)/../port/gen/%.c 172 0 stevel $(COMPILE.c) -o $@ $< 173 0 stevel $(POST_PROCESS_O) 174 0 stevel 175 0 stevel # print rules 176 0 stevel pics/%.o: $(LIBCBASE)/../port/print/%.c 177 0 stevel $(COMPILE.c) -o $@ $< 178 0 stevel $(POST_PROCESS_O) 179 0 stevel 180 0 stevel # regex rules 181 0 stevel pics/%.o: $(LIBCBASE)/../port/regex/%.c 182 0 stevel $(COMPILE.c) -DM_I18N_MB -DI18N \ 183 0 stevel -I$(LIBCBASE)/../port/regex \ 184 0 stevel -I$(LIBCBASE)/../port/gen -o $@ $< 185 0 stevel $(POST_PROCESS_O) 186 0 stevel 187 0 stevel # stdio rules 188 0 stevel pics/%.o: $(LIBCBASE)/../port/stdio/%.c 189 0 stevel $(COMPILE.c) -o $@ $< 190 0 stevel $(POST_PROCESS_O) 191 0 stevel 192 0 stevel # c89 print, stdio rules 193 0 stevel pics/%_c89.o: $(LIBCBASE)/../port/print/%.c 194 0 stevel $(COMPILE.c) -o $@ $< 195 0 stevel $(POST_PROCESS_O) 196 0 stevel 197 0 stevel pics/%_c89.o: $(LIBCBASE)/../port/stdio/%.c 198 0 stevel $(COMPILE.c) -o $@ $< 199 0 stevel $(POST_PROCESS_O) 200 0 stevel 201 2248 raf # aio rules 202 2248 raf pics/%.o: $(LIBCBASE)/../port/aio/%.c 203 2248 raf $(COMPILE.c) -o $@ $< 204 2248 raf $(POST_PROCESS_O) 205 2248 raf 206 2248 raf # rt rules 207 2248 raf pics/%.o: $(LIBCBASE)/../port/rt/%.c 208 2248 raf $(COMPILE.c) -o $@ $< 209 2248 raf $(POST_PROCESS_O) 210 2248 raf 211 2248 raf # tpool rules 212 2248 raf pics/%.o: $(LIBCBASE)/../port/tpool/%.c 213 2248 raf $(COMPILE.c) -o $@ $< 214 2248 raf $(POST_PROCESS_O) 215 2248 raf 216 0 stevel # threads rules 217 0 stevel pics/%.o: $(LIBCBASE)/../port/threads/%.c 218 0 stevel $(COMPILE.c) -o $@ $< 219 0 stevel $(POST_PROCESS_O) 220 0 stevel 221 0 stevel pics/%.o: $(LIBCBASE)/threads/%.c 222 0 stevel $(COMPILE.c) -o $@ $< 223 0 stevel $(POST_PROCESS_O) 224 0 stevel 225 0 stevel pics/%.o: $(LIBCBASE)/threads/%.s 226 0 stevel $(BUILD.s) 227 0 stevel $(POST_PROCESS_O) 228 0 stevel 229 0 stevel pics/%.o: $(LIBCBASE)/../$(TARGET_ARCH)/threads/%.c 230 0 stevel $(COMPILE.c) -o $@ $< 231 0 stevel $(POST_PROCESS_O) 232 0 stevel 233 0 stevel pics/%.o: $(LIBCBASE)/../$(TARGET_ARCH)/threads/%.s 234 0 stevel $(BUILD.s) 235 0 stevel $(POST_PROCESS_O) 236 0 stevel 237 0 stevel pics/%.o: $(LIBCBASE)/../$(TARGET_ARCH)/unwind/%.c 238 0 stevel $(COMPILE.c) -o $@ $< 239 0 stevel $(POST_PROCESS_O) 240 0 stevel 241 0 stevel pics/%.o: $(LIBCBASE)/../$(TARGET_ARCH)/unwind/%.s 242 0 stevel $(BUILD.s) 243 0 stevel $(POST_PROCESS_O) 244 0 stevel 245 0 stevel pics/%.o: $(LIBCBASE)/../port/unwind/%.c 246 0 stevel $(COMPILE.c) -o $@ $< 247 0 stevel $(POST_PROCESS_O) 248 0 stevel 249 0 stevel pics/%.o: $(LIBCBASE)/../$(MACH)/unwind/%.s 250 0 stevel $(BUILD.s) 251 0 stevel $(POST_PROCESS_O) 252 0 stevel 253 0 stevel pics/%.o: $(LIBCBASE)/../port/sys/%.c 254 0 stevel $(COMPILE.c) -o $@ $< 255 0 stevel $(POST_PROCESS_O) 256 0 stevel 257 0 stevel pics/%.o: $(LIBCBASE)/../../common/common/%.c 258 0 stevel $(COMPILE.c) -o $@ $< 259 0 stevel $(POST_PROCESS_O) 260 0 stevel 261 0 stevel pics/%.o: $(LIBCBASE)/$(CRTSRCS)/%.s 262 0 stevel $(BUILD.s) 263 0 stevel $(POST_PROCESS_O) 264 0 stevel 265 0 stevel # $(SRC)/common rules 266 2522 raf pics/%.o: $(SRC)/common/atomic/$(TARGETMACH)/%.s 267 0 stevel $(BUILD.s) 268 0 stevel $(POST_PROCESS_O) 269 0 stevel 270 0 stevel $(COMOBJS:%=pics/%): $(SRC)/common/util/$$(@F:.o=.c) 271 0 stevel $(COMPILE.c) -o $@ $(SRC)/common/util/$(@F:.o=.c) 272 0 stevel $(POST_PROCESS_O) 273 0 stevel 274 5331 amw $(XATTROBJS:%=pics/%): $(SRC)/common/xattr/$$(@F:.o=.c) 275 5331 amw $(COMPILE.c) -o $@ $(SRC)/common/xattr/$(@F:.o=.c) 276 5331 amw $(POST_PROCESS_O) 277 5331 amw 278 3746 raf $(DTRACEOBJS:%=pics/%): $(SRC)/common/dtrace/$$(@F:.o=.c) 279 3746 raf $(COMPILE.c) -o $@ $(SRC)/common/dtrace/$(@F:.o=.c) 280 3746 raf $(POST_PROCESS_O) 281 3746 raf 282 5049 is $(UNICODEOBJS:%=pics/%): $(SRC)/common/unicode/$$(@F:.o=.c) 283 5049 is $(COMPILE.c) -o $@ $(SRC)/common/unicode/$(@F:.o=.c) 284 5049 is $(POST_PROCESS_O) 285 5049 is 286 3746 raf # DTrace rules 287 9202 Jason pics/%.o: $(LIBCBASE)/../port/threads/%.d $(THREADSOBJS:%=pics/%) 288 0 stevel $(COMPILE.d) -C -xlazyload -s $< -o $@ $(THREADSOBJS:%=pics/%) 289 0 stevel $(POST_PROCESS_O) 290 0 stevel 291 0 stevel include $(SRC)/lib/Makefile.targ 292