Home | History | Annotate | Download | only in libc
      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 # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
     23 # Use is subject to license terms.
     24 #
     25 #
     26 
     27 # libc build rules
     28 
     29 #
     30 # This first rule picks up optimized sources for libc variants.
     31 #
     32 pics/%.o: $(OPTIMIZED_LIBCBASE)/gen/%.s
     33 	$(BUILD.s)
     34 	$(POST_PROCESS_O)
     35 
     36 pics/%.o: $(LIBCBASE)/crt/%.c
     37 	$(COMPILE.c) -o $@ $<
     38 	$(POST_PROCESS_O)
     39 
     40 pics/%.o: $(LIBCBASE)/crt/%.s
     41 	$(BUILD.s)
     42 	$(POST_PROCESS_O)
     43 
     44 pics/%.o: $(LIBCBASE)/gen/%.c
     45 	$(COMPILE.c) -o $@ $<
     46 	$(POST_PROCESS_O)
     47 
     48 pics/%.o: $(LIBCBASE)/gen/%.s
     49 	$(BUILD.s)
     50 	$(POST_PROCESS_O)
     51 
     52 pics/%.o: $(LIBCBASE)/../$(TARGET_ARCH)/gen/%.s
     53 	$(BUILD.s)
     54 	$(POST_PROCESS_O)
     55 
     56 pics/_stack_grow.o: $(LIBCBASE)/../$(TARGET_ARCH)/gen/_stack_grow.s
     57 	$(BUILD.s) $(LIBCBASE)/../$(TARGET_ARCH)/gen/_stack_grow.s
     58 	$(POST_PROCESS_O)
     59 
     60 pics/%.o: $(LIBCBASE)/fp/%.c
     61 	$(COMPILE.c) -o $@ $<
     62 	$(POST_PROCESS_O)
     63 
     64 pics/%.o: $(LIBCBASE)/../$(MACH)/fp/%.c
     65 	$(COMPILE.c) -o $@ $<
     66 	$(POST_PROCESS_O)
     67 
     68 pics/%.o: $(LIBCBASE)/fp/%.s
     69 	$(BUILD.s)
     70 	$(POST_PROCESS_O)
     71 
     72 pics/%.o: $(LIBCBASE)/../$(TARGET_ARCH)/fp/%.c
     73 	$(COMPILE.c) -o $@ $<
     74 	$(POST_PROCESS_O)
     75 
     76 pics/%.o: $(LIBCBASE)/../$(TARGET_ARCH)/fp/%.s
     77 	$(BUILD.s)
     78 	$(POST_PROCESS_O)
     79 
     80 pics/%.o: $(LIBCBASE)/sys/%.c
     81 	$(COMPILE.c) -o $@ $<
     82 	$(POST_PROCESS_O)
     83 
     84 pics/%.o: $(LIBCBASE)/../common/sys/%.s
     85 	$(BUILD.s)
     86 	$(POST_PROCESS_O)
     87 
     88 pics/%.o: $(LIBCBASE)/sys/%.s
     89 	$(BUILD.s)
     90 	$(POST_PROCESS_O)
     91 
     92 pics/%.o: $(LIBCBASE)/../$(MACH)/sys/%.s
     93 	$(BUILD.s)
     94 	$(POST_PROCESS_O)
     95 
     96 pics/%.o: $(LIBCBASE)/../$(TARGET_ARCH)/sys/%.c
     97 	$(COMPILE.c) -o $@ $<
     98 	$(POST_PROCESS_O)
     99 
    100 pics/%.o: $(LIBCBASE)/../$(TARGET_ARCH)/sys/%.s
    101 	$(BUILD.s)
    102 	$(POST_PROCESS_O)
    103 
    104 # rules to build large file aware objects (xxx64.o from xxx.s or xxx.c)
    105 
    106 pics/%64.o: $(LIBCBASE)/../common/sys/%.s
    107 	$(BUILD.s)
    108 	$(POST_PROCESS_O)
    109 
    110 pics/%64.o: $(LIBCBASE)/sys/%.s
    111 	$(BUILD.s)
    112 	$(POST_PROCESS_O)
    113 
    114 pics/%64.o: $(LIBCBASE)/gen/%.c
    115 	$(COMPILE.c) -o $@ $<
    116 	$(POST_PROCESS_O)
    117 
    118 pics/%64.o: $(LIBCBASE)/../port/gen/%.c
    119 	$(COMPILE.c) -o $@ $<
    120 	$(POST_PROCESS_O)
    121 
    122 pics/%64.o: $(LIBCBASE)/../port/sys/%.c
    123 	$(COMPILE.c) -o $@ $<
    124 	$(POST_PROCESS_O)
    125 
    126 pics/%64.o: $(LIBCBASE)/../port/print/%.c
    127 	$(COMPILE.c) -o $@ $<
    128 	$(POST_PROCESS_O)
    129 
    130 pics/%64.o: $(LIBCBASE)/../port/stdio/%.c
    131 	$(COMPILE.c) -o $@ $<
    132 	$(POST_PROCESS_O)
    133 
    134 pics/%_w.o: $(LIBCBASE)/../port/stdio/%.c
    135 	$(COMPILE.c) -o $@ $<
    136 	$(POST_PROCESS_O)
    137 
    138 pics/%_w.o: $(LIBCBASE)/../port/print/%.c
    139 	$(COMPILE.c) -o $@ $<
    140 	$(POST_PROCESS_O)
    141 
    142 pics/%_pos.o: $(LIBCBASE)/../port/i18n/%.c
    143 	$(COMPILE.c) -o $@ $<
    144 	$(POST_PROCESS_O)
    145 
    146 pics/%_sbyte.o: $(LIBCBASE)/../port/i18n/%.c
    147 	$(COMPILE.c) -o $@ $<
    148 	$(POST_PROCESS_O)
    149 
    150 pics/%_possbyte.o: $(LIBCBASE)/../port/i18n/%.c
    151 	$(COMPILE.c) -o $@ $<
    152 	$(POST_PROCESS_O)
    153 
    154 pics/%_longlong.o: $(LIBCBASE)/../port/i18n/%.c
    155 	$(COMPILE.c) -o $@ $<
    156 	$(POST_PROCESS_O)
    157 
    158 # libc build rules for objects built from "portable" source in ../port
    159 
    160 pics/%.o: $(LIBCBASE)/../port/fp/%.c
    161 	$(COMPILE.c) \
    162 	-I$(LIBCBASE)/../port/fp -o $@ $<
    163 	$(POST_PROCESS_O)
    164 
    165 pics/%.o: $(LIBCBASE)/../port/i18n/%.c
    166 	$(COMPILE.c) \
    167 	-I$(LIBCBASE)/../port/i18n -o $@ $<
    168 	$(POST_PROCESS_O)
    169 
    170 # gen rules
    171 pics/%.o %.o: $(LIBCBASE)/../port/gen/%.c
    172 	$(COMPILE.c) -o $@ $<
    173 	$(POST_PROCESS_O)
    174 
    175 # print rules
    176 pics/%.o: $(LIBCBASE)/../port/print/%.c
    177 	$(COMPILE.c) -o $@ $<
    178 	$(POST_PROCESS_O)
    179 
    180 # regex rules
    181 pics/%.o: $(LIBCBASE)/../port/regex/%.c
    182 	$(COMPILE.c) -DM_I18N_MB -DI18N \
    183 	-I$(LIBCBASE)/../port/regex \
    184 	-I$(LIBCBASE)/../port/gen -o $@ $<
    185 	$(POST_PROCESS_O)
    186 
    187 # stdio rules
    188 pics/%.o: $(LIBCBASE)/../port/stdio/%.c
    189 	$(COMPILE.c) -o $@ $<
    190 	$(POST_PROCESS_O)
    191 
    192 # c89 print, stdio rules
    193 pics/%_c89.o: $(LIBCBASE)/../port/print/%.c
    194 	$(COMPILE.c) -o $@ $<
    195 	$(POST_PROCESS_O)
    196 
    197 pics/%_c89.o: $(LIBCBASE)/../port/stdio/%.c
    198 	$(COMPILE.c) -o $@ $<
    199 	$(POST_PROCESS_O)
    200 
    201 # aio rules
    202 pics/%.o: $(LIBCBASE)/../port/aio/%.c
    203 	$(COMPILE.c) -o $@ $<
    204 	$(POST_PROCESS_O)
    205 
    206 # rt rules
    207 pics/%.o: $(LIBCBASE)/../port/rt/%.c
    208 	$(COMPILE.c) -o $@ $<
    209 	$(POST_PROCESS_O)
    210 
    211 # tpool rules
    212 pics/%.o: $(LIBCBASE)/../port/tpool/%.c
    213 	$(COMPILE.c) -o $@ $<
    214 	$(POST_PROCESS_O)
    215 
    216 # threads rules
    217 pics/%.o: $(LIBCBASE)/../port/threads/%.c
    218 	$(COMPILE.c) -o $@ $<
    219 	$(POST_PROCESS_O)
    220 
    221 pics/%.o: $(LIBCBASE)/threads/%.c
    222 	$(COMPILE.c) -o $@ $<
    223 	$(POST_PROCESS_O)
    224 
    225 pics/%.o: $(LIBCBASE)/threads/%.s
    226 	$(BUILD.s)
    227 	$(POST_PROCESS_O)
    228 
    229 pics/%.o: $(LIBCBASE)/../$(TARGET_ARCH)/threads/%.c
    230 	$(COMPILE.c) -o $@ $<
    231 	$(POST_PROCESS_O)
    232 
    233 pics/%.o: $(LIBCBASE)/../$(TARGET_ARCH)/threads/%.s
    234 	$(BUILD.s)
    235 	$(POST_PROCESS_O)
    236 
    237 pics/%.o: $(LIBCBASE)/../$(TARGET_ARCH)/unwind/%.c
    238 	$(COMPILE.c) -o $@ $<
    239 	$(POST_PROCESS_O)
    240 
    241 pics/%.o: $(LIBCBASE)/../$(TARGET_ARCH)/unwind/%.s
    242 	$(BUILD.s)
    243 	$(POST_PROCESS_O)
    244 
    245 pics/%.o: $(LIBCBASE)/../port/unwind/%.c
    246 	$(COMPILE.c) -o $@ $<
    247 	$(POST_PROCESS_O)
    248 
    249 pics/%.o: $(LIBCBASE)/../$(MACH)/unwind/%.s
    250 	$(BUILD.s)
    251 	$(POST_PROCESS_O)
    252 
    253 pics/%.o: $(LIBCBASE)/../port/sys/%.c
    254 	$(COMPILE.c) -o $@ $<
    255 	$(POST_PROCESS_O)
    256 
    257 pics/%.o: $(LIBCBASE)/../../common/common/%.c
    258 	$(COMPILE.c) -o $@ $<
    259 	$(POST_PROCESS_O)
    260 
    261 pics/%.o: $(LIBCBASE)/$(CRTSRCS)/%.s
    262 	$(BUILD.s)
    263 	$(POST_PROCESS_O)
    264 
    265 # $(SRC)/common rules
    266 pics/%.o: $(SRC)/common/atomic/$(TARGETMACH)/%.s
    267 	$(BUILD.s)
    268 	$(POST_PROCESS_O)
    269 
    270 $(COMOBJS:%=pics/%): $(SRC)/common/util/$$(@F:.o=.c)
    271 	$(COMPILE.c) -o $@ $(SRC)/common/util/$(@F:.o=.c)
    272 	$(POST_PROCESS_O)
    273 
    274 $(XATTROBJS:%=pics/%): $(SRC)/common/xattr/$$(@F:.o=.c)
    275 	$(COMPILE.c) -o $@ $(SRC)/common/xattr/$(@F:.o=.c)
    276 	$(POST_PROCESS_O)
    277 
    278 $(DTRACEOBJS:%=pics/%): $(SRC)/common/dtrace/$$(@F:.o=.c)
    279 	$(COMPILE.c) -o $@ $(SRC)/common/dtrace/$(@F:.o=.c)
    280 	$(POST_PROCESS_O)
    281 
    282 $(UNICODEOBJS:%=pics/%): $(SRC)/common/unicode/$$(@F:.o=.c)
    283 	$(COMPILE.c) -o $@ $(SRC)/common/unicode/$(@F:.o=.c)
    284 	$(POST_PROCESS_O)
    285 
    286 # DTrace rules
    287 pics/%.o: $(LIBCBASE)/../port/threads/%.d $(THREADSOBJS:%=pics/%)
    288 	$(COMPILE.d) -C -xlazyload -s $< -o $@ $(THREADSOBJS:%=pics/%)
    289 	$(POST_PROCESS_O)
    290 
    291 include $(SRC)/lib/Makefile.targ
    292