aboutsummaryrefslogtreecommitdiff
path: root/mathcomp/ssreflect/Makefile
blob: 46a2d690fdeaeaa5413fc6a7678470845cd09057 (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
ifeq "$(COQBIN)" ""
COQBIN=$(dir $(shell which coqtop))/
endif


ifeq "$(shell $(COQBIN)/coqtop -v | head -1 | grep trunk | wc -l)" "1"
V=trunk
else
V=$(shell $(COQBIN)/coqtop -v | head -1 | \
  sed 's/.*version \([0-9]\.[0-9]\)[^ ]* .*/v\1/')
endif

OLD_MAKEFLAGS:=$(MAKEFLAGS)
MAKEFLAGS+=-B

%:
	@[ -e Makefile.coq ] || $(call coqmakefile)
	@[ Make -ot Makefile.coq ] || $(call coqmakefile)
	@MAKEFLAGS=$(OLD_MAKEFLAGS) $(MAKE) --no-print-directory \
		-f Makefile.coq $*

define coqmakefile
	(echo "Generating Makefile.coq for Coq $(V) with COQBIN=$(COQBIN)";\
	cp Make Make.coq;\
	echo -I plugin/$(V)/src >> Make.coq;\
	echo plugin/$(V)/src/ssreflect.mllib >> Make.coq;\
	echo plugin/$(V)/src/ssrmatching.mli >> Make.coq;\
	echo plugin/$(V)/src/ssrmatching.ml4 >> Make.coq;\
	echo plugin/$(V)/src/ssreflect.ml4 >> Make.coq;\
	$(COQBIN)/coq_makefile -f Make.coq -o Makefile.coq)
endef