4
4
# # \VV/ # ##
5
5
# # // # ##
6
6
# ##############################################################################
7
- # # GNUMakefile for Coq 8.8.0
7
+ # # GNUMakefile for Coq 8.9.1
8
8
9
9
# For debugging purposes (must stay here, don't move below)
10
10
INITIAL_VARS := $(.VARIABLES )
@@ -65,28 +65,27 @@ VERBOSE ?=
65
65
# Time the Coq process (set to non empty), and how (see default value)
66
66
TIMED? =
67
67
TIMECMD? =
68
- # Use /usr/bin/env time on linux, gtime on Mac OS
68
+ # Use command time on linux, gtime on Mac OS
69
69
TIMEFMT? ="$* (real: %e, user: %U, sys: %S, mem: %M ko)"
70
70
ifneq (,$(TIMED ) )
71
- ifeq (0,$(shell /usr/bin/env time -f $(TIMEFMT ) true >/dev/null 2>/dev/null; echo $$? ) )
72
- STDTIME? =/usr/bin/env time -f $(TIMEFMT )
71
+ ifeq (0,$(shell command time -f $(TIMEFMT ) true >/dev/null 2>/dev/null; echo $$? ) )
72
+ STDTIME? =command time -f $(TIMEFMT )
73
73
else
74
74
ifeq (0,$(shell gtime -f $(TIMEFMT ) true >/dev/null 2>/dev/null; echo $$? ) )
75
75
STDTIME? =gtime -f $(TIMEFMT )
76
76
else
77
- STDTIME? =time
77
+ STDTIME? =command time
78
78
endif
79
79
endif
80
80
else
81
- STDTIME? =/usr/bin/env time -f $(TIMEFMT )
81
+ STDTIME? =command time -f $(TIMEFMT )
82
82
endif
83
83
84
84
# Coq binaries
85
85
COQC ?= "$(COQBIN ) coqc"
86
86
COQTOP ?= "$(COQBIN ) coqtop"
87
87
COQCHK ?= "$(COQBIN ) coqchk"
88
88
COQDEP ?= "$(COQBIN ) coqdep"
89
- GALLINA ?= "$(COQBIN ) gallina"
90
89
COQDOC ?= "$(COQBIN ) coqdoc"
91
90
COQMKFILE ?= "$(COQBIN ) coq_makefile"
92
91
@@ -148,7 +147,11 @@ TIME_OF_PRETTY_BUILD_EXTRA_FILES ?= - # also output to the command line
148
147
149
148
# Flags #######################################################################
150
149
#
151
- # We define a bunch of variables combining the parameters
150
+ # We define a bunch of variables combining the parameters.
151
+ # To add additional flags to coq, coqchk or coqdoc, set the
152
+ # {COQ,COQCHK,COQDOC}EXTRAFLAGS variable to whatever you want to add.
153
+ # To overwrite the default choice and set your own flags entirely, set the
154
+ # {COQ,COQCHK,COQDOC}FLAGS variable.
152
155
153
156
SHOW := $(if $(VERBOSE ) ,@true "",@echo "")
154
157
HIDE := $(if $(VERBOSE ) ,,@)
@@ -168,15 +171,22 @@ DYNOBJ:=.cmxs
168
171
DYNLIB: =.cmxs
169
172
endif
170
173
171
- COQFLAGS? =-q $(OPT ) $(COQLIBS ) $(OTHERFLAGS )
172
- COQCHKFLAGS? =-silent -o $(COQLIBS )
173
- COQDOCFLAGS? =-interpolate -utf8
174
+ # these variables are meant to be overriden if you want to add *extra* flags
175
+ COQEXTRAFLAGS? =
176
+ COQCHKEXTRAFLAGS? =
177
+ COQDOCEXTRAFLAGS? =
178
+
179
+ # these flags do NOT contain the libraries, to make them easier to overwrite
180
+ COQFLAGS? =-q $(OPT ) $(OTHERFLAGS ) $(COQEXTRAFLAGS )
181
+ COQCHKFLAGS? =-silent -o $(COQCHKEXTRAFLAGS )
182
+ COQDOCFLAGS? =-interpolate -utf8 $(COQDOCEXTRAFLAGS )
183
+
174
184
COQDOCLIBS? =$(COQLIBS_NOML )
175
185
176
186
# The version of Coq being run and the version of coq_makefile that
177
187
# generated this makefile
178
188
COQ_VERSION: =$(shell $(COQC ) --print-version | cut -d " " -f 1)
179
- COQMAKEFILE_VERSION: =8.8.0
189
+ COQMAKEFILE_VERSION: =8.9.1
180
190
181
191
COQSRCLIBS? = $(foreach d,$(COQ_SRC_SUBDIRS ) , -I "$(COQLIB )$(d ) ")
182
192
@@ -216,7 +226,7 @@ ifdef DSTROOT
216
226
DESTDIR := $(DSTROOT )
217
227
endif
218
228
219
- concat_path = $(if $(1 ) ,$(1 ) /$(subst $(COQMF_WINDRIVE ) ,/,$(2 ) ) ,$(2 ) )
229
+ concat_path = $(if $(1 ) ,$(1 ) /$(if $( COQMF_WINDRIVE ) , $( subst $(COQMF_WINDRIVE ) ,/, $( 2 ) ) ,$(2 ) ) ,$(2 ) )
220
230
221
231
COQLIBINSTALL = $(call concat_path,$(DESTDIR ) ,$(COQLIB ) user-contrib)
222
232
COQDOCINSTALL = $(call concat_path,$(DESTDIR ) ,$(DOCDIR ) user-contrib)
@@ -245,7 +255,6 @@ VO = vo
245
255
246
256
VOFILES = $(VFILES:.v=.$(VO ) )
247
257
GLOBFILES = $(VFILES:.v=.glob )
248
- GFILES = $(VFILES:.v=.g )
249
258
HTMLFILES = $(VFILES:.v=.html )
250
259
GHTMLFILES = $(VFILES:.v=.g.html )
251
260
BEAUTYFILES = $(addsuffix .beautified,$(VFILES ) )
@@ -334,19 +343,19 @@ make-pretty-timed make-pretty-timed-before make-pretty-timed-after::
334
343
print-pretty-timed ::
335
344
$(HIDE )$(COQMAKE_ONE_TIME_FILE ) $(TIME_OF_BUILD_FILE ) $(TIME_OF_PRETTY_BUILD_FILE ) $(TIME_OF_PRETTY_BUILD_EXTRA_FILES )
336
345
print-pretty-timed-diff ::
337
- $(HIDE )$(COQMAKE_BOTH_TIME_FILES ) --sort-by=$(TIMING_SORT_BY ) $(TIME_OF_BUILD_BEFORE_FILE ) $(TIME_OF_BUILD_AFTER_FILE ) $(TIME_OF_PRETTY_BOTH_BUILD_FILE ) $(TIME_OF_PRETTY_BUILD_EXTRA_FILES )
346
+ $(HIDE )$(COQMAKE_BOTH_TIME_FILES ) --sort-by=$(TIMING_SORT_BY ) $(TIME_OF_BUILD_AFTER_FILE ) $(TIME_OF_BUILD_BEFORE_FILE ) $(TIME_OF_PRETTY_BOTH_BUILD_FILE ) $(TIME_OF_PRETTY_BUILD_EXTRA_FILES )
338
347
ifeq (,$(BEFORE ) )
339
348
print-pretty-single-time-diff ::
340
- @echo ' Error: Usage: $(MAKE) print-pretty-single-time-diff BEFORE =path/to/file.v.before -timing AFTER =path/to/file.v.after -timing'
349
+ @echo ' Error: Usage: $(MAKE) print-pretty-single-time-diff AFTER =path/to/file.v.after -timing BEFORE =path/to/file.v.before -timing'
341
350
$(HIDE ) false
342
351
else
343
352
ifeq (,$(AFTER ) )
344
353
print-pretty-single-time-diff ::
345
- @echo ' Error: Usage: $(MAKE) print-pretty-single-time-diff BEFORE =path/to/file.v.before -timing AFTER =path/to/file.v.after -timing'
354
+ @echo ' Error: Usage: $(MAKE) print-pretty-single-time-diff AFTER =path/to/file.v.after -timing BEFORE =path/to/file.v.before -timing'
346
355
$(HIDE ) false
347
356
else
348
357
print-pretty-single-time-diff ::
349
- $(HIDE )$(COQMAKE_BOTH_SINGLE_TIMING_FILES ) --sort-by=$(TIMING_SORT_BY ) $(BEFORE ) $(AFTER ) $(TIME_OF_PRETTY_BUILD_FILE ) $(TIME_OF_PRETTY_BUILD_EXTRA_FILES )
358
+ $(HIDE )$(COQMAKE_BOTH_SINGLE_TIMING_FILES ) --sort-by=$(TIMING_SORT_BY ) $(AFTER ) $(BEFORE ) $(TIME_OF_PRETTY_BUILD_FILE ) $(TIME_OF_PRETTY_BUILD_EXTRA_FILES )
350
359
endif
351
360
endif
352
361
pretty-timed :
@@ -371,7 +380,7 @@ real-all: $(VOFILES) $(if $(USEBYTE),bytefiles,optfiles)
371
380
.PHONY : real-all
372
381
373
382
real-all.timing.diff : $(VOFILES:.vo=.v.timing.diff )
374
- .PHONE : real-all.timing.diff
383
+ .PHONY : real-all.timing.diff
375
384
376
385
bytefiles : $(CMOFILES ) $(CMAFILES )
377
386
.PHONY : bytefiles
@@ -384,7 +393,7 @@ quick: $(VOFILES:.vo=.vio)
384
393
.PHONY : quick
385
394
386
395
vio2vo :
387
- $(TIMER ) $(COQC ) $(COQDEBUG ) $(COQFLAGS ) \
396
+ $(TIMER ) $(COQC ) $(COQDEBUG ) $(COQFLAGS ) $( COQLIBS ) \
388
397
-schedule-vio2vo $(J ) $(VOFILES:%.vo=%.vio )
389
398
.PHONY : vio2vo
390
399
@@ -396,17 +405,17 @@ quick2vo:
396
405
done); \
397
406
echo " VIO2VO: $$ VIOFILES" ; \
398
407
if [ -n " $$ VIOFILES" ]; then \
399
- $(TIMER ) $(COQC ) $(COQDEBUG ) $(COQFLAGS ) -schedule-vio2vo $(J ) $$ VIOFILES; \
408
+ $(TIMER ) $(COQC ) $(COQDEBUG ) $(COQFLAGS ) $( COQLIBS ) -schedule-vio2vo $(J ) $$ VIOFILES; \
400
409
fi
401
410
.PHONY : quick2vo
402
411
403
412
checkproofs :
404
- $(TIMER ) $(COQC ) $(COQDEBUG ) $(COQFLAGS ) \
413
+ $(TIMER ) $(COQC ) $(COQDEBUG ) $(COQFLAGS ) $( COQLIBS ) \
405
414
-schedule-vio-checking $(J ) $(VOFILES:%.vo=%.vio )
406
415
.PHONY : checkproofs
407
416
408
417
validate : $(VOFILES )
409
- $(TIMER ) $(COQCHK ) $(COQCHKFLAGS ) $^
418
+ $(TIMER ) $(COQCHK ) $(COQCHKFLAGS ) $( COQLIBS ) $ ^
410
419
.PHONY : validate
411
420
412
421
only : $(TGTS )
@@ -431,8 +440,6 @@ all-mli.tex: $(MLIFILES:.mli=.cmi)
431
440
$(HIDE )$(CAMLDOC ) -latex \
432
441
-o $@ -m A $(CAMLDEBUG ) $(CAMLDOCFLAGS ) $(MLIFILES )
433
442
434
- gallina : $(GFILES )
435
-
436
443
all.ps : $(VFILES )
437
444
$(SHOW ) ' COQDOC -ps $(GAL)'
438
445
$(HIDE )$(COQDOC ) \
@@ -553,7 +560,6 @@ clean::
553
560
$(HIDE ) find . -name .coq-native -type d -empty -delete
554
561
$(HIDE ) rm -f $(VOFILES )
555
562
$(HIDE ) rm -f $(VOFILES:.vo=.vio )
556
- $(HIDE ) rm -f $(GFILES )
557
563
$(HIDE ) rm -f $(BEAUTYFILES ) $(VFILES:=.old )
558
564
$(HIDE ) rm -f all.ps all-gal.ps all.pdf all-gal.pdf all.glob all-mli.tex
559
565
$(HIDE ) rm -f $(VFILES:.v=.glob )
@@ -654,27 +660,23 @@ endif
654
660
655
661
$(VOFILES ) : % .vo: % .v
656
662
$(SHOW ) COQC $<
657
- $(HIDE )$(TIMER ) $(COQC ) $(COQDEBUG ) $(TIMING_ARG ) $(COQFLAGS ) $< $(TIMING_EXTRA )
663
+ $(HIDE )$(TIMER ) $(COQC ) $(COQDEBUG ) $(TIMING_ARG ) $(COQFLAGS ) $( COQLIBS ) $ < $(TIMING_EXTRA )
658
664
659
665
# FIXME ?merge with .vo / .vio ?
660
666
$(GLOBFILES ) : % .glob: % .v
661
- $(TIMER ) $(COQC ) $(COQDEBUG ) $(COQFLAGS ) $<
667
+ $(TIMER ) $(COQC ) $(COQDEBUG ) $(COQFLAGS ) $( COQLIBS ) $ <
662
668
663
669
$(VFILES:.v =.vio): %.vio: %.v
664
670
$(SHOW)COQC -quick $<
665
- $(HIDE)$(TIMER) $(COQC) -quick $(COQDEBUG) $(COQFLAGS) $<
671
+ $(HIDE)$(TIMER) $(COQC) -quick $(COQDEBUG) $(COQFLAGS) $(COQLIBS) $ <
666
672
667
673
$(addsuffix .timing.diff,$(VFILES ) ) : % .timing.diff : % .before-timing % .after-timing
668
674
$(SHOW ) PYTHON TIMING-DIFF $<
669
675
$(HIDE )$(MAKE ) --no-print-directory -f " $( SELF) " print-pretty-single-time-diff BEFORE=$* .before-timing AFTER=$* .after-timing TIME_OF_PRETTY_BUILD_FILE=" $@ "
670
676
671
677
$(BEAUTYFILES ) : % .v.beautified: % .v
672
678
$(SHOW ) ' BEAUTIFY $<'
673
- $(HIDE )$(TIMER ) $(COQC ) $(COQDEBUG ) $(COQFLAGS ) -beautify $<
674
-
675
- $(GFILES ) : % .g: % .v
676
- $(SHOW ) ' GALLINA $<'
677
- $(HIDE )$(GALLINA ) $<
679
+ $(HIDE )$(TIMER ) $(COQC ) $(COQDEBUG ) $(COQFLAGS ) $(COQLIBS ) -beautify $<
678
680
679
681
$(TEXFILES ) : % .tex: % .v
680
682
$(SHOW ) ' COQDOC -latex $<'
@@ -764,6 +766,7 @@ printenv::
764
766
@echo ' OCAMLFIND = $(OCAMLFIND)'
765
767
@echo ' PP = $(PP)'
766
768
@echo ' COQFLAGS = $(COQFLAGS)'
769
+ @echo ' COQLIB = $(COQLIBS)'
767
770
@echo ' COQLIBINSTALL = $(COQLIBINSTALL)'
768
771
@echo ' COQDOCINSTALL = $(COQDOCINSTALL)'
769
772
.PHONY : printenv
0 commit comments