Remakefile.in 2.43 KB
Newer Older
Guillaume Melquiond's avatar
Guillaume Melquiond 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
FILES = \
	Flocq_version.v \
	Core/Fcore_Raux.v \
	Core/Fcore_Zaux.v \
	Core/Fcore_defs.v \
	Core/Fcore_digits.v \
	Core/Fcore_float_prop.v \
	Core/Fcore_FIX.v \
	Core/Fcore_FLT.v \
	Core/Fcore_FLX.v \
	Core/Fcore_FTZ.v \
	Core/Fcore_generic_fmt.v \
	Core/Fcore_rnd.v \
	Core/Fcore_rnd_ne.v \
	Core/Fcore_ulp.v \
	Core/Fcore.v \
	Calc/Fcalc_bracket.v \
	Calc/Fcalc_digits.v \
	Calc/Fcalc_div.v \
	Calc/Fcalc_ops.v \
	Calc/Fcalc_round.v \
	Calc/Fcalc_sqrt.v \
	Prop/Fprop_div_sqrt_error.v \
	Prop/Fprop_mult_error.v \
	Prop/Fprop_plus_error.v \
	Prop/Fprop_relative.v \
	Prop/Fprop_Sterbenz.v \
28
	Appli/Fappli_rnd_odd.v \
Guillaume Melquiond's avatar
Guillaume Melquiond committed
29
	Appli/Fappli_IEEE.v \
30 31
	Appli/Fappli_IEEE_bits.v \
	Appli/Fappli_double_round.v
Guillaume Melquiond's avatar
Guillaume Melquiond committed
32 33 34

OBJS = $(addprefix src/,$(addsuffix o,$(FILES)))

35
EXAMPLES = \
36 37 38 39
	Average.v \
	Double_round_beta_odd.v

MORE_EXAMPLES = \
40 41
	Sqrt_sqr.v \
	Triangle.v
42 43

EOBJS = $(addprefix examples/,$(addsuffix o,$(EXAMPLES)))
44
MOBJS = $(addprefix examples/,$(addsuffix o,$(MORE_EXAMPLES)))
45

46
.PHONY: all check check-more clean dist doc install
47

Guillaume Melquiond's avatar
Guillaume Melquiond committed
48 49
all: $(OBJS)

50 51
check: $(EOBJS)

52 53
check-more: $(MOBJS)

Guillaume Melquiond's avatar
Guillaume Melquiond committed
54 55 56
Remakefile: Remakefile.in config.status
	./config.status Remakefile

57 58 59
src/Flocq_version.v: src/Flocq_version.v.in config.status
	./config.status src/Flocq_version.v

Guillaume Melquiond's avatar
Guillaume Melquiond committed
60 61 62 63 64 65
configure config.status: configure.in
	autoconf
	./config.status --recheck

%.vo: %.v
	@COQDEP@ -R src Flocq $< | @REMAKE@ -r $@
66
	@COQC@ -R src Flocq $<
Guillaume Melquiond's avatar
Guillaume Melquiond committed
67 68

clean:
69
	rm -f $(OBJS) $(EOBJS) $(MOBJS) src/*.glob examples/*.glob
Guillaume Melquiond's avatar
Guillaume Melquiond committed
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89

html/index.html: $(OBJS)
	rm -rf html
	mkdir -p html
	@COQDOC@ -toc -interpolate -utf8 -html -g -R src Flocq -d html \
	  --coqlib http://coq.inria.fr/distrib/current/stdlib/ \
	  $(addprefix src/,$(FILES))

doc: html/index.html

install:
	prefix=@prefix@
	exec_prefix=@exec_prefix@
	mkdir -p @libdir@
	for d in Core Calc Prop Appli; do mkdir -p @libdir@/$d; done
	for f in $(OBJS); do cp $f @libdir@/${f#src/}; done

EXTRA_DIST = \
	configure

Guillaume Melquiond's avatar
Guillaume Melquiond committed
90 91 92 93
REMOVE_FROM_DIST = \
	src/Appli/Fappli_Axpy.v \
	src/Translate/

Guillaume Melquiond's avatar
Guillaume Melquiond committed
94 95 96 97 98 99 100 101
dist: $(EXTRA_DIST)
	PACK=@PACKAGE_TARNAME@-@PACKAGE_VERSION@
	DIRS=`git ls-tree -d -r --name-only HEAD`
	FILES=`git ls-tree -r --name-only HEAD`
	rm -rf $PACK.tar.gz $PACK
	mkdir $PACK
	for d in $DIRS; do mkdir $PACK/$d; done
	for f in $FILES $(EXTRA_DIST); do cp $f $PACK/$f; done
Guillaume Melquiond's avatar
Guillaume Melquiond committed
102
	for f in $(REMOVE_FROM_DIST) ; do rm -rf $PACK/$f; done
Guillaume Melquiond's avatar
Guillaume Melquiond committed
103 104 105 106 107
	git log --pretty="format:%ad %s" --date=short > $PACK/ChangeLog
	cat /dev/null > $PACK/ChangeLog
	rm `find $PACK -name .gitignore`
	tar czf $PACK.tar.gz $PACK
	rm -rf $PACK