GNUmakefile 1.64 KB
Newer Older
Andre Maroneze's avatar
Andre Maroneze committed
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
# Makefile template for Frama-C/Eva case studies.
# For details and usage information, see the Frama-C User Manual.

### Prologue. Do not modify this block. #######################################
-include path.mk
FRAMAC ?= frama-c
include $(shell $(FRAMAC)-config -scripts)/prologue.mk
###############################################################################

# Edit below as needed. MACHDEP is mandatory. Suggested flags are optional.

MACHDEP = x86_32

## Preprocessing flags (for -cpp-extra-args)
CPPFLAGS    += \
  -include$(shell $(FRAMAC)-config -print-share-path)/libc/string.h \
  -DSTDC_HEADERS=1 \
  -DHAVE_UNISTD_H=1 \
  -DDIRENT=1 \
  -DNO_UTIME=1 \
  -I$(shell $(FRAMAC)-config -print-share-path)/libc \
  -I$(DIR) \

## General flags
FCFLAGS  += \
  -add-symbolic-path=.:.. \
  -nonterm-ignore do_exit \
  -main eva_main \

## Eva-specific flags
EVAFLAGS += \
32
  -eva-slevel 4 \
Andre Maroneze's avatar
Andre Maroneze committed
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
  -eva-no-alloc-returns-null \
  -eva-no-builtins-auto \
  -eva-widening-delay 3 \
  -eva-widening-period 3 \

## GUI-only flags
FCGUIFLAGS += \

## Analysis targets (suffixed with .eva)
TARGETS = gzip124.eva

gzip124.parse: \
  ../gzip.c \
  ../zip.c \
  ../deflate.c \
  ../trees.c \
  ../bits.c \
  ../unzip.c \
  ../inflate.c \
  ../util.c \
  ../crypt.c \
  ../lzw.c \
  ../unlzw.c \
  ../unpack.c \
  ../unlzh.c \
  ../getopt.c \
  $(shell $(FRAMAC)-config -print-share-path)/libc/stdlib.c \
  fc_stubs.c \

### Epilogue. Do not modify this block. #######################################
include $(shell $(FRAMAC)-config -scripts)/epilogue.mk
###############################################################################

# optional, for OSCS
-include ../../Makefile.common