#ifndef NO_64BIT
#define isinf(x) ( \
sizeof(x) == sizeof(float) ? (__float_bits(x) & 0x7fffffff) == 0x7f800000 : \
- (__double_bits(x) & (__uint64_t)-1>>1) == (__uint64_t)0x7ff<<52)
+ (__double_bits(x) & (uint64_t)-1>>1) == (uint64_t)0x7ff<<52)
#define isnan(x) ( \
sizeof(x) == sizeof(float) ? (__float_bits(x) & 0x7fffffff) > 0x7f800000 : \
- (__double_bits(x) & (__uint64_t)-1>>1) > (__uint64_t)0x7ff<<52)
+ (__double_bits(x) & (uint64_t)-1>>1) > (uint64_t)0x7ff<<52)
#define isnormal(x) ( \
sizeof(x) == sizeof(float) ? ((__float_bits(x)+0x00800000) & 0x7fffffff) >= 0x01000000 : \
- ((__double_bits(x)+((__uint64_t)1<<52)) & (__uint64_t)-1>>1) >= (__uint64_t)1<<53)
+ ((__double_bits(x)+((uint64_t)1<<52)) & (uint64_t)-1>>1) >= (uint64_t)1<<53)
#define isfinite(x) ( \
sizeof(x) == sizeof(float) ? (__float_bits(x) & 0x7fffffff) < 0x7f800000 : \
- (__double_bits(x) & (__uint64_t)-1>>1) < (__uint64_t)0x7ff<<52)
+ (__double_bits(x) & (uint64_t)-1>>1) < (uint64_t)0x7ff<<52)
#define signbit(x) ( \
sizeof(x) == sizeof(float) ? (int)(__float_bits(x)>>31) : \
SRC_CURS = $(shell find curses -name '*.c')
-SRC_LM = vfscanf.c vfprintf.c
-OBJ_LM = vfscanf-libm.o vfprintf-libm.o
+SRC_LM = vfscanf_m.c vfprintf_m.c
+SRC_LM += acosf.c acoshf.c asinf.c asinhf.c atan2f.c atanf.c atanhf.c
+SRC_LM += cbrtf.c ceilf.c copysignf.c erff.c expf.c expm1f.c
+SRC_LM += fabsf.c fdimf.c floorf.c fmaxf.c fminf.c fmodf.c frexpf.c
+SRC_LM += hypotf.c ilogbf.c j0f.c j1f.c jnf.c
+SRC_LM += ldexpf.c lgammaf.c lgammaf_r.c logf.c log2f.c log10f.c logbf.c
+SRC_LM += lrintf.c lroundf.c
+SRC_LM += modff.c nearbyintf.c nextafterf.c powf.c
+SRC_LM += remainderf.c remquof.c rintf.c roundf.c
+SRC_LM += scalbnf.c scalbinf.c
+SRC_LM += sinf.c sincosf.c sinhf.c
+SRC_LM += sqrtf.c tgammaf.c
+SRC_LM += __expo2f.c __float_bits.c __fpclassifyf.c __log1pf.c __signgam.c
+SRC_LM += mathhelper.c remainder.c
+SRC_LM += acos.c acosh.c asin.c asinh.c atan2.c atan.c atanh.c
+SRC_LM += cbrt.c ceil.c copysign.c erf.c exp.c expm1.c
+SRC_LM += fabs.c fdim.c floor.c fmax.c fmin.c fmod.c frexp.c
+SRC_LM += hypot.c j0.c j1.c jn.c
+SRC_LM += ldexp.c lgamma.c lgamma_r.c log.c log2.c log10.c
+SRC_LM += lrint.c lround.c
+SRC_LM += modf.c nearbyint.c pow.c
+SRC_LM += remquo.c rint.c round.c
+SRC_LM += scalbn.c
+SRC_LM += sin.c sincos.c sinh.c
+SRC_LM += sqrt.c tgamma.c
+SRC_LM += __expo2.c __double_bits.c __fpclassify.c __log1p.c
OBJ_C = $(SRC_C:.c=.o)
OBJ_CURS = $(SRC_CURS:.c=.o)
OBJ_CT = $(SRC_CT:.c=.o)
+OBJ_LM = $(SRC_LM:.c=.o)
OBJ_HARD = $(SRC_HARD:.c=.o)
-OBJ_ALL = $(OBJ_ASM) $(OBJ_C) $(OBJ_HARD)
+OBJ_ALL = $(OBJ_ASM) $(OBJ_C) $(OBJ_LM) $(OBJ_HARD)
all: syslib$(PLATFORM).lib liberror.txt $(OBJ_CRT0) curses$(PLATFORM).lib termcap$(PLATFORM).lib m$(PLATFORM).lib
$(OBJ_CURS):%.o: %.c
$(CC) $(CC_OPT) $(@:.o=.c) -o $@
-vfscanf-libm.o: vfscanf.c
- $(CC) $(CC_OPT) -DBUILD_LIBM $< -o $@
-
-vfprintf-libm.o: vfprintf.c
- $(CC) $(CC_OPT) -DBUILD_LIBM $< -o $@
+$(OBJ_LM):%.o: %.c
+ $(CC) $(CC_OPT) $(@:.o=.c)
$(OBJ_HARD):%.o: %.c
$(CC) $(CC_NOOPT) $(@:.o=.c)
rm -rf fuzix$(PLATFORM)/Makefile
rm -f $(KRN_HEADERS_COPY)
-cd curses && rm -rf *.o *.asm *.sym *.lst *~
+
+install: ;