diff options
Diffstat (limited to 'runtime/Makefile')
-rw-r--r-- | runtime/Makefile | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/runtime/Makefile b/runtime/Makefile index beb105a6..ff51b7d7 100644 --- a/runtime/Makefile +++ b/runtime/Makefile @@ -1,6 +1,8 @@ include ../Makefile.config -CFLAGS=-O1 -g -Wall +.PRECIOUS: .s + +CFLAGS=-O1 -Wall ifeq ($(ARCH),x86) ifeq ($(MODEL),64) @@ -22,6 +24,12 @@ ifeq ($(ARCH),x86_64) OBJS=i64_dtou.o i64_utod.o i64_utof.o vararg.o else ifeq ($(ARCH),powerpc64) OBJS=i64_dtou.o i64_stof.o i64_utod.o i64_utof.o vararg.o +else ifeq ($(ARCH),kvx) +OBJS=i64_umod.o i64_udiv.o i64_udivmod.o i64_sdiv.o i64_smod.o \ + i64_udivmod_stsud.o i32_divmod.o \ + i64_utod.o i64_utof.o i64_stod.o i64_stof.o \ + vararg.o +DOMAKE:=$(shell (cd kvx && make)) else ifeq ($(ARCH),aarch64) OBJS=vararg.o else @@ -32,11 +40,18 @@ OBJS=i64_dtos.o i64_dtou.o i64_sar.o i64_sdiv.o i64_shl.o \ vararg.o endif +AR=ar + +OBJS+=write_profiling_table.o + LIB=libcompcert.a INCLUDES=include/float.h include/stdarg.h include/stdbool.h \ include/stddef.h include/varargs.h include/stdalign.h \ include/stdnoreturn.h +ifeq ($(ARCH),kvx) +INCLUDES += include/ccomp_kvx_fixes.h include/math.h +endif VPATH=$(ARCH) @@ -48,7 +63,7 @@ endif $(LIB): $(OBJS) rm -f $(LIB) - $(ARCHIVER) $(LIB) $(OBJS) + $(AR) rcs $(LIB) $(OBJS) %.o: %.s $(CASMRUNTIME) -o $@ $^ @@ -62,10 +77,10 @@ $(LIB): $(OBJS) # generated assembly %.o: c/%.c c/i64.h ../ccomp - ../ccomp -O2 -S -o $*.s -I./c c/$*.c + ../ccomp -g -O2 -S -o $*.s -I./c c/$*.c sed -i -e 's/i64_/__compcert_i64_/g' $*.s $(CASMRUNTIME) -o $*.o $*.s - @rm -f $*.s + @rm $*.s clean:: rm -f *.o $(LIB) *.tmp?.s |