File: Makefile

package info (click to toggle)
rocq-stdlib 9.0.0-3
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 11,828 kB
  • sloc: python: 2,928; sh: 444; makefile: 319; javascript: 24; ml: 2
file content (34 lines) | stat: -rw-r--r-- 863 bytes parent folder | download
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
ROCQBIN?=$(dir $(shell which rocq))
ROCQMAKEFILE?=$(ROCQBIN)rocq makefile
ROCQMAKEOPTIONS?=
ROCQMAKEFILEOPTIONS?=

.PHONY: all
all: Makefile.coq
	+$(MAKE) -f $< $(ROCQMAKEOPTIONS)

.PHONY: install
install: Makefile.coq
	+$(MAKE) -f $< $(ROCQMAKEOPTIONS) install

Makefile.coq: _CoqProject
	$(ROCQMAKEFILE) $(ROCQMAKEFILEOPTIONS) -f $< $(shell find . -name "*.v") -o $@

build-%: Makefile-%.coq
	+$(MAKE) -f $< $(ROCQMAKEOPTIONS)

Makefile-%.coq: Make.%
	for f in $$(cat $< | sed -e 's/#.*//;s/-.*//' | grep -v '^[ \t]*$$') ; do \
	  d=$$(dirname $${f}) ; \
	  if [ $${d%/_*} != $${d} ] ; then \
	    mkdir -p $${d} ; \
	    ln -sf ../$$(basename $${f}) $${d} ; \
	  fi ; \
	done
	$(ROCQMAKEFILE) $(ROCQMAKEFILEOPTIONS) -f $< -o $@

install-%: Makefile-%.coq
	+$(MAKE) -f $< $(ROCQMAKEOPTIONS) install

%.vo: Makefile.coq %.v
	+$(MAKE) -f $< $(ROCQMAKEOPTIONS) $@