vx32

Local 9vx git repository for patches.
git clone git://r-36.net/vx32
Log | Files | Refs

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 # 	) \