Makefrag (6990B)
1 include libvxc/include/Makefrag 2 3 CLIB_OBJS = \ 4 $(addprefix libvxc/, \ 5 abort.o \ 6 assert.o \ 7 atexit.o \ 8 difftime.o \ 9 errno.o \ 10 exit.o \ 11 _exit.o \ 12 fenv.o \ 13 malloc.o \ 14 qsort.o \ 15 read.o \ 16 remove.o \ 17 sbrk.o \ 18 write.o \ 19 open.o \ 20 close.o \ 21 errlst.o \ 22 lseek.o \ 23 time.o \ 24 localtime.o \ 25 asctime.o \ 26 ctime.o \ 27 strftime.o \ 28 mktime.o \ 29 signal.o \ 30 ftime.o \ 31 gettimeofday.o \ 32 getpagesize.o \ 33 stat.o \ 34 fstat.o \ 35 clock.o \ 36 getcwd.o \ 37 getuid.o \ 38 exec.o \ 39 chmod.o \ 40 chdir.o \ 41 dup.o \ 42 fork.o \ 43 isatty.o \ 44 pipe.o \ 45 mkdir.o \ 46 link.o \ 47 ioctl.o \ 48 fcntl.o \ 49 sleep.o \ 50 kill.o \ 51 select.o \ 52 waitpid.o \ 53 dir.o \ 54 truncate.o \ 55 ftruncate.o \ 56 chmod.o \ 57 isinf.o \ 58 dtoa.o \ 59 getpid.o \ 60 ) \ 61 $(addprefix libvxc/bsdstdio/, \ 62 asprintf.o \ 63 clrerr.o \ 64 fclose.o \ 65 fdopen.o \ 66 feof.o \ 67 ferror.o \ 68 fflush.o \ 69 fgetc.o \ 70 fgetln.o \ 71 fgetpos.o \ 72 fgets.o \ 73 fileno.o \ 74 findfp.o \ 75 flags.o \ 76 fopen.o \ 77 fprintf.o \ 78 fpurge.o \ 79 fputc.o \ 80 fputs.o \ 81 fread.o \ 82 freopen.o \ 83 fscanf.o \ 84 fseek.o \ 85 fsetpos.o \ 86 ftell.o \ 87 funopen.o \ 88 fvwrite.o \ 89 fwalk.o \ 90 fwrite.o \ 91 getc.o \ 92 getchar.o \ 93 gets.o \ 94 getw.o \ 95 makebuf.o \ 96 mktemp.o \ 97 perror.o \ 98 printf.o \ 99 putc.o \ 100 putchar.o \ 101 puts.o \ 102 putw.o \ 103 refill.o \ 104 remove.o \ 105 rewind.o \ 106 rget.o \ 107 scanf.o \ 108 setbuf.o \ 109 setbuffer.o \ 110 setvbuf.o \ 111 snprintf.o \ 112 sprintf.o \ 113 sscanf.o \ 114 stdio.o \ 115 tmpfile.o \ 116 ungetc.o \ 117 vasprintf.o \ 118 vfprintf.o \ 119 vfscanf.o \ 120 vprintf.o \ 121 vscanf.o \ 122 vsnprintf.o \ 123 vsprintf.o \ 124 vsscanf.o \ 125 wbuf.o \ 126 wsetup.o \ 127 ) \ 128 $(addprefix libvxc/stdlib/, \ 129 abs.o labs.o llabs.o \ 130 atof.o atoi.o atol.o atoll.o \ 131 strtol.o strtoll.o \ 132 strtoul.o strtoull.o \ 133 getenv.o setenv.o putenv.o \ 134 qsort.o bsearch.o \ 135 rand.o system.o \ 136 ) \ 137 $(addprefix libvxc/string/, \ 138 memccpy.o \ 139 memcmp.o \ 140 strcat.o \ 141 strcmp.o \ 142 strcasecmp.o \ 143 strcpy.o \ 144 strcspn.o \ 145 strdup.o \ 146 strerror.o \ 147 strlcat.o \ 148 strlcpy.o \ 149 strncat.o \ 150 strncmp.o \ 151 strncpy.o \ 152 strpbrk.o \ 153 strspn.o \ 154 strstr.o \ 155 strtok.o \ 156 wcscat.o \ 157 wcschr.o \ 158 wcscpy.o \ 159 wcscspn.o \ 160 wcslen.o \ 161 wcsncat.o \ 162 wcsncpy.o \ 163 wcspbrk.o \ 164 wcsrchr.o \ 165 wcsspn.o \ 166 wcsstr.o \ 167 wcstok.o \ 168 wmemchr.o \ 169 wmemcmp.o \ 170 wmemcpy.o \ 171 wmemmove.o \ 172 wmemset.o \ 173 ) \ 174 $(addprefix libvxc/vx32/, \ 175 ffs.o \ 176 memchr.o \ 177 memcpy.o \ 178 memmove.o \ 179 memset.o \ 180 setjmp.o \ 181 sigsetjmp.o \ 182 strchr.o \ 183 strlen.o \ 184 strrchr.o \ 185 flt_rounds.o \ 186 ) \ 187 $(addprefix libvxc/msun/, \ 188 e_acos.o e_acosf.o \ 189 e_acosh.o e_acoshf.o \ 190 e_asin.o e_asinf.o \ 191 e_atan2.o e_atan2f.o \ 192 e_atanh.o e_atanhf.o \ 193 e_cosh.o e_coshf.o \ 194 e_exp.o e_expf.o \ 195 e_fmod.o e_fmodf.o \ 196 e_gamma.o e_gammaf.o \ 197 e_gammaf_r.o e_gamma_r.o \ 198 e_hypot.o e_hypotf.o \ 199 e_j0.o e_j0f.o \ 200 e_j1.o e_j1f.o \ 201 e_jn.o e_jnf.o \ 202 e_lgamma.o e_lgammaf.o \ 203 e_lgammaf_r.o e_lgamma_r.o \ 204 e_log10.o e_log10f.o \ 205 e_log.o e_logf.o \ 206 e_pow.o e_powf.o \ 207 e_remainder.o e_remainderf.o \ 208 e_rem_pio2.o e_rem_pio2f.o \ 209 e_scalb.o e_scalbf.o \ 210 e_sinh.o e_sinhf.o \ 211 e_sqrt.o e_sqrtf.o \ 212 k_cos.o k_cosf.o \ 213 k_rem_pio2.o k_rem_pio2f.o \ 214 k_sin.o k_sinf.o \ 215 k_tan.o k_tanf.o \ 216 s_asinh.o s_asinhf.o \ 217 s_atan.o s_atanf.o \ 218 s_cbrt.o s_cbrtf.o \ 219 s_ceil.o s_ceilf.o \ 220 s_cimag.o s_cimagf.o \ 221 s_conj.o s_conjf.o \ 222 s_copysign.o s_copysignf.o \ 223 s_cos.o s_cosf.o \ 224 s_creal.o s_crealf.o \ 225 s_erf.o s_erff.o \ 226 s_expm1.o s_expm1f.o \ 227 s_fabs.o s_fabsf.o \ 228 s_fdim.o \ 229 s_finite.o s_finitef.o \ 230 s_floor.o s_floorf.o \ 231 s_fma.o s_fmaf.o \ 232 s_fmax.o s_fmaxf.o \ 233 s_fmin.o s_fminf.o \ 234 s_frexp.o s_frexpf.o \ 235 s_ilogb.o s_ilogbf.o \ 236 s_isfinite.o \ 237 s_isnan.o \ 238 s_isnormal.o \ 239 s_ldexp.o s_ldexpf.o \ 240 s_llrint.o s_llrintf.o \ 241 s_llround.o s_llroundf.o \ 242 s_log1p.o s_log1pf.o \ 243 s_logb.o s_logbf.o \ 244 s_lrint.o s_lrintf.o \ 245 s_lround.o s_lroundf.o \ 246 s_modf.o s_modff.o \ 247 s_nearbyint.o \ 248 s_nextafter.o s_nextafterf.o \ 249 s_rint.o s_rintf.o \ 250 s_round.o s_roundf.o \ 251 s_scalbln.o \ 252 s_scalbn.o s_scalbnf.o \ 253 s_signbit.o \ 254 s_signgam.o \ 255 s_significand.o s_significandf.o \ 256 s_sin.o s_sinf.o \ 257 s_tan.o s_tanf.o \ 258 s_tanh.o s_tanhf.o \ 259 s_trunc.o s_truncf.o \ 260 w_acos.o w_acosf.o \ 261 w_acosh.o w_acoshf.o \ 262 w_asin.o w_asinf.o \ 263 w_atan2.o w_atan2f.o \ 264 w_atanh.o w_atanhf.o \ 265 w_cabs.o w_cabsf.o \ 266 w_cosh.o w_coshf.o \ 267 w_drem.o w_dremf.o \ 268 w_exp.o w_expf.o \ 269 w_fmod.o w_fmodf.o \ 270 w_gamma.o w_gammaf.o \ 271 w_gammaf_r.o w_gamma_r.o \ 272 w_hypot.o w_hypotf.o \ 273 w_j0.o w_j0f.o \ 274 w_j1.o w_j1f.o \ 275 w_jn.o w_jnf.o \ 276 w_lgamma.o w_lgammaf.o \ 277 w_lgammaf_r.o w_lgamma_r.o \ 278 w_log10.o w_log10f.o \ 279 w_log.o w_logf.o \ 280 w_pow.o w_powf.o \ 281 w_remainder.o w_remainderf.o \ 282 w_scalb.o w_scalbf.o \ 283 w_sinh.o w_sinhf.o \ 284 w_sqrt.o w_sqrtf.o \ 285 w_y0.o w_y0f.o \ 286 w_y1.o w_y1f.o \ 287 w_yn.o w_ynf.o \ 288 sincos.o sincosf.o \ 289 ) 290 291 # Use these optimized transcendental math library functions 292 # only if we are generating x87 and not pure SSE code. 293 ifdef HAVE_X87 294 X87_OBJS = \ 295 e_exp.o \ 296 e_fmod.o \ 297 e_log.o e_logf.o \ 298 e_log10.o e_log10f.o \ 299 e_remainder.o e_remainderf.o \ 300 e_scalb.o e_scalbf.o \ 301 e_sqrt.o e_sqrtf.o \ 302 s_ceil.o s_ceilf.o \ 303 s_copysign.o s_copysignf.o \ 304 s_sin.o s_cos.o s_tan.o \ 305 s_atan.o e_atan2f.o \ 306 s_finite.o \ 307 s_floor.o s_floorf.o \ 308 s_logb.o s_logbf.o \ 309 s_lrint.o s_llrint.o \ 310 s_rint.o s_rintf.o \ 311 s_scalbn.o s_scalbnf.o \ 312 s_significand.o s_significandf.o 313 314 CLIB_OBJS := $(filter-out $(addprefix libvxc/msun/,$(X87_OBJS)),$(CLIB_OBJS)) \ 315 $(addprefix libvxc/msun/x87/,$(X87_OBJS)) 316 endif 317 318 319 CLIB_DEPS := libvxc/libc.a libvxc/vx32/crt0.o 320 CLIB_INST := $(prefix)/vx32/lib/libc.a $(prefix)/vx32/lib/libm.a $(prefix)/vx32/lib/crt0.o 321 322 CLEAN_FILES += $(CLIB_OBJS) $(CLIB_DEPS) 323 324 all: $(CLIB_DEPS) 325 libvxc/install: $(CLIB_INST) 326 327 328 # Build rules 329 libvxc/libc.a: $(CLIB_OBJS) 330 $(VX32_AR) r $@ $(CLIB_OBJS) 331 332 libvxc/libm.a: 333 $(VX32_AR) r $@ 334 335 libvxc/%.o: libvxc/%.c 336 $(VX32_CC) -c $(VX32_CFLAGS) -o $@ $< 337 338 libvxc/%.o: libvxc/%.S 339 $(VX32_CC) -c $(VX32_CFLAGS) -o $@ $< 340 341 ifdef HAVE_X87 342 libvxc/msun/x87/%.o: libvxc/msun/x87/%.S 343 $(VX32_CC) -c $(VX32_CFLAGS) -o $@ $< 344 endif 345 346 # Install rules 347 $(prefix)/vx32/lib/lib%.a: libvxc/lib%.a 348 @mkdir -p $(prefix)/vx32/lib 349 $(INSTALL) $< $@ 350 351 $(prefix)/vx32/lib/crt0.o: libvxc/vx32/crt0.o 352 @mkdir -p $(prefix)/vx32/lib 353 $(INSTALL) $< $@ 354 355 # $(addprefix libvxc/stdio/, \ 356 # fclose.o \ 357 # fflush.o \ 358 # fgetc.o \ 359 # fgets.o \ 360 # fopen.o \ 361 # fputc.o \ 362 # fread.o \ 363 # fscanf.o \ 364 # fseek.o \ 365 # ftell.o \ 366 # fwrite.o \ 367 # getc.o \ 368 # getchar.o \ 369 # getinput.o \ 370 # getospace.o \ 371 # printf.o \ 372 # printfmt.o \ 373 # putc.o \ 374 # puts.o \ 375 # putchar.o \ 376 # rewind.o \ 377 # setbuf.o \ 378 # setvbuf.o \ 379 # snprintf.o \ 380 # sprintf.o \ 381 # sscanf.o \ 382 # vfscanf.o \ 383 # vsscanf.o \ 384 # writebuf.o \ 385 # perror.o \ 386 # ungetc.o \ 387 # ) \