blob: 641c9fdc93c0cdb82313d8564baf541b139409a0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
include ../Makefile.config
CFLAGS=-O1 -g -Wall
ifeq ($(ARCH),x86)
ifeq ($(MODEL),64)
ARCH=x86_64
else
ARCH=x86_32
endif
endif
ifeq ($(ARCH),x86_64)
OBJS=i64_dtou.o i64_utod.o i64_utof.o vararg.o
else
OBJS=i64_dtos.o i64_dtou.o i64_sar.o i64_sdiv.o i64_shl.o \
i64_shr.o i64_smod.o i64_stod.o i64_stof.o \
i64_udivmod.o i64_udiv.o i64_umod.o i64_utod.o i64_utof.o \
i64_smulh.o i64_umulh.o \
vararg.o
endif
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
VPATH=$(ARCH)
ifeq ($(ARCH),powerpc)
ifeq ($(MODEL),ppc64)
VPATH=powerpc/ppc64 $(ARCH)
else ifeq ($(MODEL),e5500)
VPATH=powerpc/ppc64 $(ARCH)
endif
endif
ifeq ($(strip $(HAS_RUNTIME_LIB)),true)
all: $(LIB)
else
all:
endif
$(LIB): $(OBJS)
rm -f $(LIB)
ar rcs $(LIB) $(OBJS)
%.o: %.s
$(CASMRUNTIME) -o $@ $^
%.o: %.S
$(CASMRUNTIME) -DMODEL_$(MODEL) -DABI_$(ABI) -DENDIANNESS_$(ENDIANNESS) -DSYS_$(SYSTEM) -o $@ $^
clean::
rm -f *.o $(LIB)
ifeq ($(strip $(HAS_RUNTIME_LIB)),true)
install::
install -d $(LIBDIR)
install -m 0644 $(LIB) $(LIBDIR)
else
install::
endif
ifeq ($(strip $(HAS_STANDARD_HEADERS)),true)
install::
install -d $(LIBDIR)/include
install -m 0644 $(INCLUDES) $(LIBDIR)/include
else
install::
endif
test/test_int64: test/test_int64.c $(LIB)
$(CC) -g -o $@ test/test_int64.c $(LIB)
clean::
rm -f test/test_int64
.PHONY: test
test: FORCE test/test_int64
test/test_int64
FORCE:
|