Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix possible typo — double-sufficed make targets, UniMath/Foundations/Preamble.v.vo etc. #1692

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

peterlefanulumsdaine
Copy link
Collaborator

@peterlefanulumsdaine peterlefanulumsdaine commented May 14, 2023

I was looking over the Makefile’s generated targets (for various reasons), and noticed that it generates some targets/dependencies with double-suffixed file names, e.g. UniMath/Foundations/Preamble.v.vo. In the output of make -pRrq, we find:

UniMath/Foundations/Preamble.v.vo: UniMath/Foundations/Preamble.v.v
#  Implicit rule search has not been done.
#  Modification time never checked.
#  File has not been updated.
#  commands to execute (from `Makefile', line 158):
	ulimit -v unlimited ; /Applications/Xcode.app/Contents/Developer/usr/bin/make -f build/CoqMakefile.make UniMath/Foundations/Preamble.v.vo

Is this intended/correct? I can’t quite figure out what that part of the Makefile is doing, but it looks like this might just be a typo; in that case I think it’s fixed by this PR. But this should certainly be checked by someone who properly understands the Makefile, before merging! After this PR, the generated target above appears as:

UniMath/Foundations/Preamble.vo: UniMath/Foundations/Preamble.v
#  Implicit rule search has not been done.
#  Modification time never checked.
#  File has not been updated.
#  commands to execute (from `Makefile', line 158):
	ulimit -v unlimited ; /Applications/Xcode.app/Contents/Developer/usr/bin/make -f build/CoqMakefile.make UniMath/Foundations/Preamble.vo

In order to troubleshoot this issue, I prepared a branch makefile-debugging with most of the repo deleted — in case it’s of use to others troubleshooting this issue, it’s at https://github.com/peterlefanulumsdaine/UniMath/tree/makefile-debugging

@peterlefanulumsdaine peterlefanulumsdaine changed the title Fix possibly typo — double-sufficed make targets, UniMath/Foundations/Preamble.v.vo etc. Fix possible typo — double-sufficed make targets, UniMath/Foundations/Preamble.v.vo etc. May 14, 2023
@benediktahrens
Copy link
Member

@DanGrayson : could you take a look?

@peterlefanulumsdaine
Copy link
Collaborator Author

peterlefanulumsdaine commented May 14, 2023

It looks by the way like these double-suffixed targets probably first appeared in 0a5f1a4, “add targets for each *.vo file to the Makefile”, in early 2020. It’s perhaps worth noting that now (not sure about then), the *vo files each get another generated target, coming from CoqMakefile.make:

UniMath/Foundations/Preamble.vo: UniMath/Foundations/Preamble.v UniMath/Foundations/Preamble.v UniMath/Foundations/Init.vo | ..coq_makefile_output.d
#  Implicit rule search has not been done.
#  Implicit/static pattern stem: `UniMath/Foundations/Preamble'
#  Modification time never checked.
#  File has not been updated.
#  commands to execute (from `build/CoqMakefile.make', line 815):
	$(SHOW)COQC $<
	$(HIDE)$(TIMER) $(COQC) $(COQDEBUG) $(TIMING_ARG) $(COQFLAGS) $(COQLIBS) $< $(TIMING_EXTRA)

@DanGrayson
Copy link
Member

@DanGrayson : could you take a look?

Will do...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants