Remakefile.in 1.84 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 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
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 \
	Appli/Fappli_IEEE.v \
	Appli/Fappli_IEEE_bits.v

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

all: $(OBJS)

Remakefile: Remakefile.in config.status
	./config.status Remakefile

configure config.status: configure.in
	autoconf
	./config.status --recheck

%.vo: %.v
	@COQDEP@ -R src Flocq $< | @REMAKE@ -r $@
	@COQC@ -R src Flocq -dont-load-proofs $<

clean:
	rm -f $(OBJS) src/*.glob

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

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
	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