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

Enhance Makefile #445

Merged
merged 1 commit into from
Jan 15, 2024
Merged

Conversation

straight-shoota
Copy link
Contributor

I figured the Makefile could use some love after it failed me in some capacities.

  • install recipe does not rebuild binary
  • Add help target and documentation
  • Add several config variables
  • Add sources as dependencies for (in-)validation

Based on template https://gist.github.com/straight-shoota/275685fcb8187062208c0871318c4a23

* `install` recipe does not rebuild binary
* Add `help` target and documentation
* Add several config variables
* Add sources as dependencies for (in-)validation

Based on template
https://gist.github.com/straight-shoota/275685fcb8187062208c0871318c4a23
@Sija Sija added the refactor label Jan 14, 2024
@Sija Sija added this to the 1.6.2 milestone Jan 14, 2024
Makefile Show resolved Hide resolved
@Sija Sija requested a review from veelenga January 15, 2024 15:02
Copy link
Member

@veelenga veelenga left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👏

@veelenga veelenga merged commit b56d347 into crystal-ameba:master Jan 15, 2024
4 checks passed
@straight-shoota straight-shoota deleted the infra/makefile branch January 15, 2024 17:54
@Sija
Copy link
Member

Sija commented Jan 17, 2024

@straight-shoota This PR broke my local setup (macOS 12.7) :(

make -> make: Nothing to be done for 'all'.
make build -> make: Nothing to be done for 'build'.

@straight-shoota
Copy link
Contributor Author

Are you sure any of the source files changed since you last ran make?
This patch added the entire source tree as a dependency of the build recipe. So it won't rebuild if the source hasn't changed.
You can force a rebuild with make -B.

You could also try make -d to get some debug information on which dependencies were considered and what lead to not building.

@Sija
Copy link
Member

Sija commented Jan 18, 2024

Are you sure any of the source files changed since you last ran make? This patch added the entire source tree as a dependency of the build recipe. So it won't rebuild if the source hasn't changed. You can force a rebuild with make -B.

Yeah, I'm sure. Also, make -B didn't change a thing, it's the same story: make: Nothing to be done for 'all'.

make -d
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i386-apple-darwin11.3.0
Reading makefiles...
Reading makefile `Makefile'...
Reading makefile `Makefile.local' (search path) (don't care) (no ~ expansion)...
Updating makefiles....
 Considering target file `Makefile.local'.
  File `Makefile.local' does not exist.
  Looking for an implicit rule for `Makefile.local'.
  Trying pattern rule with stem `Makefile.local'.
  Trying implicit prerequisite `Makefile.local.o'.
  Trying pattern rule with stem `Makefile.local'.
  Trying implicit prerequisite `Makefile.local.c'.
  Trying pattern rule with stem `Makefile.local'.
  Trying implicit prerequisite `Makefile.local.cc'.
  Trying pattern rule with stem `Makefile.local'.
  Trying implicit prerequisite `Makefile.local.C'.
  Trying pattern rule with stem `Makefile.local'.
  Trying implicit prerequisite `Makefile.local.cpp'.
  Trying pattern rule with stem `Makefile.local'.
  Trying implicit prerequisite `Makefile.local.p'.
  Trying pattern rule with stem `Makefile.local'.
  Trying implicit prerequisite `Makefile.local.f'.
  Trying pattern rule with stem `Makefile.local'.
  Trying implicit prerequisite `Makefile.local.F'.
  Trying pattern rule with stem `Makefile.local'.
  Trying implicit prerequisite `Makefile.local.m'.
  Trying pattern rule with stem `Makefile.local'.
  Trying implicit prerequisite `Makefile.local.r'.
  Trying pattern rule with stem `Makefile.local'.
  Trying implicit prerequisite `Makefile.local.s'.
  Trying pattern rule with stem `Makefile.local'.
  Trying implicit prerequisite `Makefile.local.S'.
  Trying pattern rule with stem `Makefile.local'.
  Trying implicit prerequisite `Makefile.local.mod'.
  Trying pattern rule with stem `Makefile.local'.
  Trying implicit prerequisite `Makefile.local.sh'.
  Trying pattern rule with stem `Makefile.local'.
  Trying implicit prerequisite `Makefile.local,v'.
  Trying pattern rule with stem `Makefile.local'.
  Trying implicit prerequisite `RCS/Makefile.local,v'.
  Trying pattern rule with stem `Makefile.local'.
  Trying implicit prerequisite `RCS/Makefile.local'.
  Trying pattern rule with stem `Makefile.local'.
  Trying implicit prerequisite `s.Makefile.local'.
  Trying pattern rule with stem `Makefile.local'.
  Trying implicit prerequisite `SCCS/s.Makefile.local'.
  Trying pattern rule with stem `Makefile.local'.
  Trying implicit prerequisite `Makefile.local.o'.
  Looking for a rule with intermediate file `Makefile.local.o'.
   Avoiding implicit rule recursion.
   Trying pattern rule with stem `Makefile.local'.
   Trying implicit prerequisite `Makefile.local.c'.
   Trying pattern rule with stem `Makefile.local'.
   Trying implicit prerequisite `Makefile.local.cc'.
   Trying pattern rule with stem `Makefile.local'.
   Trying implicit prerequisite `Makefile.local.C'.
   Trying pattern rule with stem `Makefile.local'.
   Trying implicit prerequisite `Makefile.local.cpp'.
   Trying pattern rule with stem `Makefile.local'.
   Trying implicit prerequisite `Makefile.local.p'.
   Trying pattern rule with stem `Makefile.local'.
   Trying implicit prerequisite `Makefile.local.f'.
   Trying pattern rule with stem `Makefile.local'.
   Trying implicit prerequisite `Makefile.local.F'.
   Trying pattern rule with stem `Makefile.local'.
   Trying implicit prerequisite `Makefile.local.m'.
   Trying pattern rule with stem `Makefile.local'.
   Trying implicit prerequisite `Makefile.local.r'.
   Trying pattern rule with stem `Makefile.local'.
   Trying implicit prerequisite `Makefile.local.s'.
   Trying pattern rule with stem `Makefile.local'.
   Trying implicit prerequisite `Makefile.local.S'.
   Trying pattern rule with stem `Makefile.local'.
   Trying implicit prerequisite `Makefile.local.mod'.
   Trying pattern rule with stem `Makefile.local.o'.
   Trying implicit prerequisite `Makefile.local.o,v'.
   Trying pattern rule with stem `Makefile.local.o'.
   Trying implicit prerequisite `RCS/Makefile.local.o,v'.
   Trying pattern rule with stem `Makefile.local.o'.
   Trying implicit prerequisite `RCS/Makefile.local.o'.
   Trying pattern rule with stem `Makefile.local.o'.
   Trying implicit prerequisite `s.Makefile.local.o'.
   Trying pattern rule with stem `Makefile.local.o'.
   Trying implicit prerequisite `SCCS/s.Makefile.local.o'.
   Trying pattern rule with stem `Makefile.local'.
   Trying implicit prerequisite `Makefile.local.c'.
   Looking for a rule with intermediate file `Makefile.local.c'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem `Makefile.local'.
    Trying implicit prerequisite `Makefile.local.y'.
    Trying pattern rule with stem `Makefile.local'.
    Trying implicit prerequisite `Makefile.local.l'.
    Trying pattern rule with stem `Makefile.local'.
    Trying implicit prerequisite `Makefile.local.w'.
    Trying pattern rule with stem `Makefile.local'.
    Trying implicit prerequisite `Makefile.local.w'.
    Trying pattern rule with stem `Makefile.local.c'.
    Trying implicit prerequisite `Makefile.local.c,v'.
    Trying pattern rule with stem `Makefile.local.c'.
    Trying implicit prerequisite `RCS/Makefile.local.c,v'.
    Trying pattern rule with stem `Makefile.local.c'.
    Trying implicit prerequisite `RCS/Makefile.local.c'.
    Trying pattern rule with stem `Makefile.local.c'.
    Trying implicit prerequisite `s.Makefile.local.c'.
    Trying pattern rule with stem `Makefile.local.c'.
    Trying implicit prerequisite `SCCS/s.Makefile.local.c'.
    Trying pattern rule with stem `Makefile.local'.
    Trying implicit prerequisite `Makefile.local.y'.
    Looking for a rule with intermediate file `Makefile.local.y'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem `Makefile.local.y'.
     Trying implicit prerequisite `Makefile.local.y,v'.
     Trying pattern rule with stem `Makefile.local.y'.
     Trying implicit prerequisite `RCS/Makefile.local.y,v'.
     Trying pattern rule with stem `Makefile.local.y'.
     Trying implicit prerequisite `RCS/Makefile.local.y'.
     Trying pattern rule with stem `Makefile.local.y'.
     Trying implicit prerequisite `s.Makefile.local.y'.
     Trying pattern rule with stem `Makefile.local.y'.
     Trying implicit prerequisite `SCCS/s.Makefile.local.y'.
    Trying pattern rule with stem `Makefile.local'.
    Trying implicit prerequisite `Makefile.local.l'.
    Looking for a rule with intermediate file `Makefile.local.l'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem `Makefile.local.l'.
     Trying implicit prerequisite `Makefile.local.l,v'.
     Trying pattern rule with stem `Makefile.local.l'.
     Trying implicit prerequisite `RCS/Makefile.local.l,v'.
     Trying pattern rule with stem `Makefile.local.l'.
     Trying implicit prerequisite `RCS/Makefile.local.l'.
     Trying pattern rule with stem `Makefile.local.l'.
     Trying implicit prerequisite `s.Makefile.local.l'.
     Trying pattern rule with stem `Makefile.local.l'.
     Trying implicit prerequisite `SCCS/s.Makefile.local.l'.
    Trying pattern rule with stem `Makefile.local'.
    Trying implicit prerequisite `Makefile.local.w'.
    Looking for a rule with intermediate file `Makefile.local.w'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem `Makefile.local.w'.
     Trying implicit prerequisite `Makefile.local.w,v'.
     Trying pattern rule with stem `Makefile.local.w'.
     Trying implicit prerequisite `RCS/Makefile.local.w,v'.
     Trying pattern rule with stem `Makefile.local.w'.
     Trying implicit prerequisite `RCS/Makefile.local.w'.
     Trying pattern rule with stem `Makefile.local.w'.
     Trying implicit prerequisite `s.Makefile.local.w'.
     Trying pattern rule with stem `Makefile.local.w'.
     Trying implicit prerequisite `SCCS/s.Makefile.local.w'.
    Trying pattern rule with stem `Makefile.local'.
    Rejecting impossible implicit prerequisite `Makefile.local.w'.
   Trying pattern rule with stem `Makefile.local'.
   Trying implicit prerequisite `Makefile.local.cc'.
   Looking for a rule with intermediate file `Makefile.local.cc'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem `Makefile.local.cc'.
    Trying implicit prerequisite `Makefile.local.cc,v'.
    Trying pattern rule with stem `Makefile.local.cc'.
    Trying implicit prerequisite `RCS/Makefile.local.cc,v'.
    Trying pattern rule with stem `Makefile.local.cc'.
    Trying implicit prerequisite `RCS/Makefile.local.cc'.
    Trying pattern rule with stem `Makefile.local.cc'.
    Trying implicit prerequisite `s.Makefile.local.cc'.
    Trying pattern rule with stem `Makefile.local.cc'.
    Trying implicit prerequisite `SCCS/s.Makefile.local.cc'.
   Trying pattern rule with stem `Makefile.local'.
   Trying implicit prerequisite `Makefile.local.C'.
   Looking for a rule with intermediate file `Makefile.local.C'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem `Makefile.local.C'.
    Trying implicit prerequisite `Makefile.local.C,v'.
    Trying pattern rule with stem `Makefile.local.C'.
    Trying implicit prerequisite `RCS/Makefile.local.C,v'.
    Trying pattern rule with stem `Makefile.local.C'.
    Trying implicit prerequisite `RCS/Makefile.local.C'.
    Trying pattern rule with stem `Makefile.local.C'.
    Trying implicit prerequisite `s.Makefile.local.C'.
    Trying pattern rule with stem `Makefile.local.C'.
    Trying implicit prerequisite `SCCS/s.Makefile.local.C'.
   Trying pattern rule with stem `Makefile.local'.
   Trying implicit prerequisite `Makefile.local.cpp'.
   Looking for a rule with intermediate file `Makefile.local.cpp'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem `Makefile.local.cpp'.
    Trying implicit prerequisite `Makefile.local.cpp,v'.
    Trying pattern rule with stem `Makefile.local.cpp'.
    Trying implicit prerequisite `RCS/Makefile.local.cpp,v'.
    Trying pattern rule with stem `Makefile.local.cpp'.
    Trying implicit prerequisite `RCS/Makefile.local.cpp'.
    Trying pattern rule with stem `Makefile.local.cpp'.
    Trying implicit prerequisite `s.Makefile.local.cpp'.
    Trying pattern rule with stem `Makefile.local.cpp'.
    Trying implicit prerequisite `SCCS/s.Makefile.local.cpp'.
   Trying pattern rule with stem `Makefile.local'.
   Trying implicit prerequisite `Makefile.local.p'.
   Looking for a rule with intermediate file `Makefile.local.p'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem `Makefile.local'.
    Trying implicit prerequisite `Makefile.local.web'.
    Trying pattern rule with stem `Makefile.local.p'.
    Trying implicit prerequisite `Makefile.local.p,v'.
    Trying pattern rule with stem `Makefile.local.p'.
    Trying implicit prerequisite `RCS/Makefile.local.p,v'.
    Trying pattern rule with stem `Makefile.local.p'.
    Trying implicit prerequisite `RCS/Makefile.local.p'.
    Trying pattern rule with stem `Makefile.local.p'.
    Trying implicit prerequisite `s.Makefile.local.p'.
    Trying pattern rule with stem `Makefile.local.p'.
    Trying implicit prerequisite `SCCS/s.Makefile.local.p'.
    Trying pattern rule with stem `Makefile.local'.
    Trying implicit prerequisite `Makefile.local.web'.
    Looking for a rule with intermediate file `Makefile.local.web'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem `Makefile.local.web'.
     Trying implicit prerequisite `Makefile.local.web,v'.
     Trying pattern rule with stem `Makefile.local.web'.
     Trying implicit prerequisite `RCS/Makefile.local.web,v'.
     Trying pattern rule with stem `Makefile.local.web'.
     Trying implicit prerequisite `RCS/Makefile.local.web'.
     Trying pattern rule with stem `Makefile.local.web'.
     Trying implicit prerequisite `s.Makefile.local.web'.
     Trying pattern rule with stem `Makefile.local.web'.
     Trying implicit prerequisite `SCCS/s.Makefile.local.web'.
   Trying pattern rule with stem `Makefile.local'.
   Trying implicit prerequisite `Makefile.local.f'.
   Looking for a rule with intermediate file `Makefile.local.f'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem `Makefile.local'.
    Trying implicit prerequisite `Makefile.local.F'.
    Trying pattern rule with stem `Makefile.local'.
    Trying implicit prerequisite `Makefile.local.r'.
    Trying pattern rule with stem `Makefile.local.f'.
    Trying implicit prerequisite `Makefile.local.f,v'.
    Trying pattern rule with stem `Makefile.local.f'.
    Trying implicit prerequisite `RCS/Makefile.local.f,v'.
    Trying pattern rule with stem `Makefile.local.f'.
    Trying implicit prerequisite `RCS/Makefile.local.f'.
    Trying pattern rule with stem `Makefile.local.f'.
    Trying implicit prerequisite `s.Makefile.local.f'.
    Trying pattern rule with stem `Makefile.local.f'.
    Trying implicit prerequisite `SCCS/s.Makefile.local.f'.
    Trying pattern rule with stem `Makefile.local'.
    Trying implicit prerequisite `Makefile.local.F'.
    Looking for a rule with intermediate file `Makefile.local.F'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem `Makefile.local.F'.
     Trying implicit prerequisite `Makefile.local.F,v'.
     Trying pattern rule with stem `Makefile.local.F'.
     Trying implicit prerequisite `RCS/Makefile.local.F,v'.
     Trying pattern rule with stem `Makefile.local.F'.
     Trying implicit prerequisite `RCS/Makefile.local.F'.
     Trying pattern rule with stem `Makefile.local.F'.
     Trying implicit prerequisite `s.Makefile.local.F'.
     Trying pattern rule with stem `Makefile.local.F'.
     Trying implicit prerequisite `SCCS/s.Makefile.local.F'.
    Trying pattern rule with stem `Makefile.local'.
    Trying implicit prerequisite `Makefile.local.r'.
    Looking for a rule with intermediate file `Makefile.local.r'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem `Makefile.local'.
     Rejecting impossible implicit prerequisite `Makefile.local.l'.
     Trying pattern rule with stem `Makefile.local.r'.
     Trying implicit prerequisite `Makefile.local.r,v'.
     Trying pattern rule with stem `Makefile.local.r'.
     Trying implicit prerequisite `RCS/Makefile.local.r,v'.
     Trying pattern rule with stem `Makefile.local.r'.
     Trying implicit prerequisite `RCS/Makefile.local.r'.
     Trying pattern rule with stem `Makefile.local.r'.
     Trying implicit prerequisite `s.Makefile.local.r'.
     Trying pattern rule with stem `Makefile.local.r'.
     Trying implicit prerequisite `SCCS/s.Makefile.local.r'.
   Trying pattern rule with stem `Makefile.local'.
   Rejecting impossible implicit prerequisite `Makefile.local.F'.
   Trying pattern rule with stem `Makefile.local'.
   Trying implicit prerequisite `Makefile.local.m'.
   Looking for a rule with intermediate file `Makefile.local.m'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem `Makefile.local'.
    Trying implicit prerequisite `Makefile.local.ym'.
    Trying pattern rule with stem `Makefile.local'.
    Trying implicit prerequisite `Makefile.local.lm'.
    Trying pattern rule with stem `Makefile.local.m'.
    Trying implicit prerequisite `Makefile.local.m,v'.
    Trying pattern rule with stem `Makefile.local.m'.
    Trying implicit prerequisite `RCS/Makefile.local.m,v'.
    Trying pattern rule with stem `Makefile.local.m'.
    Trying implicit prerequisite `RCS/Makefile.local.m'.
    Trying pattern rule with stem `Makefile.local.m'.
    Trying implicit prerequisite `s.Makefile.local.m'.
    Trying pattern rule with stem `Makefile.local.m'.
    Trying implicit prerequisite `SCCS/s.Makefile.local.m'.
    Trying pattern rule with stem `Makefile.local'.
    Trying implicit prerequisite `Makefile.local.ym'.
    Looking for a rule with intermediate file `Makefile.local.ym'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem `Makefile.local.ym'.
     Trying implicit prerequisite `Makefile.local.ym,v'.
     Trying pattern rule with stem `Makefile.local.ym'.
     Trying implicit prerequisite `RCS/Makefile.local.ym,v'.
     Trying pattern rule with stem `Makefile.local.ym'.
     Trying implicit prerequisite `RCS/Makefile.local.ym'.
     Trying pattern rule with stem `Makefile.local.ym'.
     Trying implicit prerequisite `s.Makefile.local.ym'.
     Trying pattern rule with stem `Makefile.local.ym'.
     Trying implicit prerequisite `SCCS/s.Makefile.local.ym'.
    Trying pattern rule with stem `Makefile.local'.
    Trying implicit prerequisite `Makefile.local.lm'.
    Looking for a rule with intermediate file `Makefile.local.lm'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem `Makefile.local.lm'.
     Trying implicit prerequisite `Makefile.local.lm,v'.
     Trying pattern rule with stem `Makefile.local.lm'.
     Trying implicit prerequisite `RCS/Makefile.local.lm,v'.
     Trying pattern rule with stem `Makefile.local.lm'.
     Trying implicit prerequisite `RCS/Makefile.local.lm'.
     Trying pattern rule with stem `Makefile.local.lm'.
     Trying implicit prerequisite `s.Makefile.local.lm'.
     Trying pattern rule with stem `Makefile.local.lm'.
     Trying implicit prerequisite `SCCS/s.Makefile.local.lm'.
   Trying pattern rule with stem `Makefile.local'.
   Rejecting impossible implicit prerequisite `Makefile.local.r'.
   Trying pattern rule with stem `Makefile.local'.
   Trying implicit prerequisite `Makefile.local.s'.
   Looking for a rule with intermediate file `Makefile.local.s'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem `Makefile.local'.
    Trying implicit prerequisite `Makefile.local.S'.
    Trying pattern rule with stem `Makefile.local.s'.
    Trying implicit prerequisite `Makefile.local.s,v'.
    Trying pattern rule with stem `Makefile.local.s'.
    Trying implicit prerequisite `RCS/Makefile.local.s,v'.
    Trying pattern rule with stem `Makefile.local.s'.
    Trying implicit prerequisite `RCS/Makefile.local.s'.
    Trying pattern rule with stem `Makefile.local.s'.
    Trying implicit prerequisite `s.Makefile.local.s'.
    Trying pattern rule with stem `Makefile.local.s'.
    Trying implicit prerequisite `SCCS/s.Makefile.local.s'.
    Trying pattern rule with stem `Makefile.local'.
    Trying implicit prerequisite `Makefile.local.S'.
    Looking for a rule with intermediate file `Makefile.local.S'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem `Makefile.local.S'.
     Trying implicit prerequisite `Makefile.local.S,v'.
     Trying pattern rule with stem `Makefile.local.S'.
     Trying implicit prerequisite `RCS/Makefile.local.S,v'.
     Trying pattern rule with stem `Makefile.local.S'.
     Trying implicit prerequisite `RCS/Makefile.local.S'.
     Trying pattern rule with stem `Makefile.local.S'.
     Trying implicit prerequisite `s.Makefile.local.S'.
     Trying pattern rule with stem `Makefile.local.S'.
     Trying implicit prerequisite `SCCS/s.Makefile.local.S'.
   Trying pattern rule with stem `Makefile.local'.
   Rejecting impossible implicit prerequisite `Makefile.local.S'.
   Trying pattern rule with stem `Makefile.local'.
   Trying implicit prerequisite `Makefile.local.mod'.
   Looking for a rule with intermediate file `Makefile.local.mod'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem `Makefile.local.mod'.
    Trying implicit prerequisite `Makefile.local.mod,v'.
    Trying pattern rule with stem `Makefile.local.mod'.
    Trying implicit prerequisite `RCS/Makefile.local.mod,v'.
    Trying pattern rule with stem `Makefile.local.mod'.
    Trying implicit prerequisite `RCS/Makefile.local.mod'.
    Trying pattern rule with stem `Makefile.local.mod'.
    Trying implicit prerequisite `s.Makefile.local.mod'.
    Trying pattern rule with stem `Makefile.local.mod'.
    Trying implicit prerequisite `SCCS/s.Makefile.local.mod'.
  Trying pattern rule with stem `Makefile.local'.
  Rejecting impossible implicit prerequisite `Makefile.local.c'.
  Trying pattern rule with stem `Makefile.local'.
  Rejecting impossible implicit prerequisite `Makefile.local.cc'.
  Trying pattern rule with stem `Makefile.local'.
  Rejecting impossible implicit prerequisite `Makefile.local.C'.
  Trying pattern rule with stem `Makefile.local'.
  Rejecting impossible implicit prerequisite `Makefile.local.cpp'.
  Trying pattern rule with stem `Makefile.local'.
  Rejecting impossible implicit prerequisite `Makefile.local.p'.
  Trying pattern rule with stem `Makefile.local'.
  Rejecting impossible implicit prerequisite `Makefile.local.f'.
  Trying pattern rule with stem `Makefile.local'.
  Rejecting impossible implicit prerequisite `Makefile.local.F'.
  Trying pattern rule with stem `Makefile.local'.
  Rejecting impossible implicit prerequisite `Makefile.local.m'.
  Trying pattern rule with stem `Makefile.local'.
  Rejecting impossible implicit prerequisite `Makefile.local.r'.
  Trying pattern rule with stem `Makefile.local'.
  Rejecting impossible implicit prerequisite `Makefile.local.s'.
  Trying pattern rule with stem `Makefile.local'.
  Rejecting impossible implicit prerequisite `Makefile.local.S'.
  Trying pattern rule with stem `Makefile.local'.
  Rejecting impossible implicit prerequisite `Makefile.local.mod'.
  Trying pattern rule with stem `Makefile.local'.
  Trying implicit prerequisite `Makefile.local.sh'.
  Looking for a rule with intermediate file `Makefile.local.sh'.
   Avoiding implicit rule recursion.
   Trying pattern rule with stem `Makefile.local.sh'.
   Trying implicit prerequisite `Makefile.local.sh,v'.
   Trying pattern rule with stem `Makefile.local.sh'.
   Trying implicit prerequisite `RCS/Makefile.local.sh,v'.
   Trying pattern rule with stem `Makefile.local.sh'.
   Trying implicit prerequisite `RCS/Makefile.local.sh'.
   Trying pattern rule with stem `Makefile.local.sh'.
   Trying implicit prerequisite `s.Makefile.local.sh'.
   Trying pattern rule with stem `Makefile.local.sh'.
   Trying implicit prerequisite `SCCS/s.Makefile.local.sh'.
  No implicit rule found for `Makefile.local'.
  Finished prerequisites of target file `Makefile.local'.
 Must remake target `Makefile.local'.
 Failed to remake target file `Makefile.local'.
 Considering target file `Makefile'.
  Looking for an implicit rule for `Makefile'.
  Trying pattern rule with stem `Makefile'.
  Trying implicit prerequisite `Makefile.o'.
  Trying pattern rule with stem `Makefile'.
  Trying implicit prerequisite `Makefile.c'.
  Trying pattern rule with stem `Makefile'.
  Trying implicit prerequisite `Makefile.cc'.
  Trying pattern rule with stem `Makefile'.
  Trying implicit prerequisite `Makefile.C'.
  Trying pattern rule with stem `Makefile'.
  Trying implicit prerequisite `Makefile.cpp'.
  Trying pattern rule with stem `Makefile'.
  Trying implicit prerequisite `Makefile.p'.
  Trying pattern rule with stem `Makefile'.
  Trying implicit prerequisite `Makefile.f'.
  Trying pattern rule with stem `Makefile'.
  Trying implicit prerequisite `Makefile.F'.
  Trying pattern rule with stem `Makefile'.
  Trying implicit prerequisite `Makefile.m'.
  Trying pattern rule with stem `Makefile'.
  Trying implicit prerequisite `Makefile.r'.
  Trying pattern rule with stem `Makefile'.
  Trying implicit prerequisite `Makefile.s'.
  Trying pattern rule with stem `Makefile'.
  Trying implicit prerequisite `Makefile.S'.
  Trying pattern rule with stem `Makefile'.
  Trying implicit prerequisite `Makefile.mod'.
  Trying pattern rule with stem `Makefile'.
  Trying implicit prerequisite `Makefile.sh'.
  Trying pattern rule with stem `Makefile'.
  Trying implicit prerequisite `Makefile,v'.
  Trying pattern rule with stem `Makefile'.
  Trying implicit prerequisite `RCS/Makefile,v'.
  Trying pattern rule with stem `Makefile'.
  Trying implicit prerequisite `RCS/Makefile'.
  Trying pattern rule with stem `Makefile'.
  Trying implicit prerequisite `s.Makefile'.
  Trying pattern rule with stem `Makefile'.
  Trying implicit prerequisite `SCCS/s.Makefile'.
  Trying pattern rule with stem `Makefile'.
  Trying implicit prerequisite `Makefile.o'.
  Looking for a rule with intermediate file `Makefile.o'.
   Avoiding implicit rule recursion.
   Trying pattern rule with stem `Makefile'.
   Trying implicit prerequisite `Makefile.c'.
   Trying pattern rule with stem `Makefile'.
   Trying implicit prerequisite `Makefile.cc'.
   Trying pattern rule with stem `Makefile'.
   Trying implicit prerequisite `Makefile.C'.
   Trying pattern rule with stem `Makefile'.
   Trying implicit prerequisite `Makefile.cpp'.
   Trying pattern rule with stem `Makefile'.
   Trying implicit prerequisite `Makefile.p'.
   Trying pattern rule with stem `Makefile'.
   Trying implicit prerequisite `Makefile.f'.
   Trying pattern rule with stem `Makefile'.
   Trying implicit prerequisite `Makefile.F'.
   Trying pattern rule with stem `Makefile'.
   Trying implicit prerequisite `Makefile.m'.
   Trying pattern rule with stem `Makefile'.
   Trying implicit prerequisite `Makefile.r'.
   Trying pattern rule with stem `Makefile'.
   Trying implicit prerequisite `Makefile.s'.
   Trying pattern rule with stem `Makefile'.
   Trying implicit prerequisite `Makefile.S'.
   Trying pattern rule with stem `Makefile'.
   Trying implicit prerequisite `Makefile.mod'.
   Trying pattern rule with stem `Makefile.o'.
   Trying implicit prerequisite `Makefile.o,v'.
   Trying pattern rule with stem `Makefile.o'.
   Trying implicit prerequisite `RCS/Makefile.o,v'.
   Trying pattern rule with stem `Makefile.o'.
   Trying implicit prerequisite `RCS/Makefile.o'.
   Trying pattern rule with stem `Makefile.o'.
   Trying implicit prerequisite `s.Makefile.o'.
   Trying pattern rule with stem `Makefile.o'.
   Trying implicit prerequisite `SCCS/s.Makefile.o'.
   Trying pattern rule with stem `Makefile'.
   Trying implicit prerequisite `Makefile.c'.
   Looking for a rule with intermediate file `Makefile.c'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem `Makefile'.
    Trying implicit prerequisite `Makefile.y'.
    Trying pattern rule with stem `Makefile'.
    Trying implicit prerequisite `Makefile.l'.
    Trying pattern rule with stem `Makefile'.
    Trying implicit prerequisite `Makefile.w'.
    Trying pattern rule with stem `Makefile'.
    Trying implicit prerequisite `Makefile.w'.
    Trying pattern rule with stem `Makefile.c'.
    Trying implicit prerequisite `Makefile.c,v'.
    Trying pattern rule with stem `Makefile.c'.
    Trying implicit prerequisite `RCS/Makefile.c,v'.
    Trying pattern rule with stem `Makefile.c'.
    Trying implicit prerequisite `RCS/Makefile.c'.
    Trying pattern rule with stem `Makefile.c'.
    Trying implicit prerequisite `s.Makefile.c'.
    Trying pattern rule with stem `Makefile.c'.
    Trying implicit prerequisite `SCCS/s.Makefile.c'.
    Trying pattern rule with stem `Makefile'.
    Trying implicit prerequisite `Makefile.y'.
    Looking for a rule with intermediate file `Makefile.y'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem `Makefile.y'.
     Trying implicit prerequisite `Makefile.y,v'.
     Trying pattern rule with stem `Makefile.y'.
     Trying implicit prerequisite `RCS/Makefile.y,v'.
     Trying pattern rule with stem `Makefile.y'.
     Trying implicit prerequisite `RCS/Makefile.y'.
     Trying pattern rule with stem `Makefile.y'.
     Trying implicit prerequisite `s.Makefile.y'.
     Trying pattern rule with stem `Makefile.y'.
     Trying implicit prerequisite `SCCS/s.Makefile.y'.
    Trying pattern rule with stem `Makefile'.
    Trying implicit prerequisite `Makefile.l'.
    Looking for a rule with intermediate file `Makefile.l'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem `Makefile.l'.
     Trying implicit prerequisite `Makefile.l,v'.
     Trying pattern rule with stem `Makefile.l'.
     Trying implicit prerequisite `RCS/Makefile.l,v'.
     Trying pattern rule with stem `Makefile.l'.
     Trying implicit prerequisite `RCS/Makefile.l'.
     Trying pattern rule with stem `Makefile.l'.
     Trying implicit prerequisite `s.Makefile.l'.
     Trying pattern rule with stem `Makefile.l'.
     Trying implicit prerequisite `SCCS/s.Makefile.l'.
    Trying pattern rule with stem `Makefile'.
    Trying implicit prerequisite `Makefile.w'.
    Looking for a rule with intermediate file `Makefile.w'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem `Makefile.w'.
     Trying implicit prerequisite `Makefile.w,v'.
     Trying pattern rule with stem `Makefile.w'.
     Trying implicit prerequisite `RCS/Makefile.w,v'.
     Trying pattern rule with stem `Makefile.w'.
     Trying implicit prerequisite `RCS/Makefile.w'.
     Trying pattern rule with stem `Makefile.w'.
     Trying implicit prerequisite `s.Makefile.w'.
     Trying pattern rule with stem `Makefile.w'.
     Trying implicit prerequisite `SCCS/s.Makefile.w'.
    Trying pattern rule with stem `Makefile'.
    Rejecting impossible implicit prerequisite `Makefile.w'.
   Trying pattern rule with stem `Makefile'.
   Trying implicit prerequisite `Makefile.cc'.
   Looking for a rule with intermediate file `Makefile.cc'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem `Makefile.cc'.
    Trying implicit prerequisite `Makefile.cc,v'.
    Trying pattern rule with stem `Makefile.cc'.
    Trying implicit prerequisite `RCS/Makefile.cc,v'.
    Trying pattern rule with stem `Makefile.cc'.
    Trying implicit prerequisite `RCS/Makefile.cc'.
    Trying pattern rule with stem `Makefile.cc'.
    Trying implicit prerequisite `s.Makefile.cc'.
    Trying pattern rule with stem `Makefile.cc'.
    Trying implicit prerequisite `SCCS/s.Makefile.cc'.
   Trying pattern rule with stem `Makefile'.
   Trying implicit prerequisite `Makefile.C'.
   Looking for a rule with intermediate file `Makefile.C'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem `Makefile.C'.
    Trying implicit prerequisite `Makefile.C,v'.
    Trying pattern rule with stem `Makefile.C'.
    Trying implicit prerequisite `RCS/Makefile.C,v'.
    Trying pattern rule with stem `Makefile.C'.
    Trying implicit prerequisite `RCS/Makefile.C'.
    Trying pattern rule with stem `Makefile.C'.
    Trying implicit prerequisite `s.Makefile.C'.
    Trying pattern rule with stem `Makefile.C'.
    Trying implicit prerequisite `SCCS/s.Makefile.C'.
   Trying pattern rule with stem `Makefile'.
   Trying implicit prerequisite `Makefile.cpp'.
   Looking for a rule with intermediate file `Makefile.cpp'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem `Makefile.cpp'.
    Trying implicit prerequisite `Makefile.cpp,v'.
    Trying pattern rule with stem `Makefile.cpp'.
    Trying implicit prerequisite `RCS/Makefile.cpp,v'.
    Trying pattern rule with stem `Makefile.cpp'.
    Trying implicit prerequisite `RCS/Makefile.cpp'.
    Trying pattern rule with stem `Makefile.cpp'.
    Trying implicit prerequisite `s.Makefile.cpp'.
    Trying pattern rule with stem `Makefile.cpp'.
    Trying implicit prerequisite `SCCS/s.Makefile.cpp'.
   Trying pattern rule with stem `Makefile'.
   Trying implicit prerequisite `Makefile.p'.
   Looking for a rule with intermediate file `Makefile.p'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem `Makefile'.
    Trying implicit prerequisite `Makefile.web'.
    Trying pattern rule with stem `Makefile.p'.
    Trying implicit prerequisite `Makefile.p,v'.
    Trying pattern rule with stem `Makefile.p'.
    Trying implicit prerequisite `RCS/Makefile.p,v'.
    Trying pattern rule with stem `Makefile.p'.
    Trying implicit prerequisite `RCS/Makefile.p'.
    Trying pattern rule with stem `Makefile.p'.
    Trying implicit prerequisite `s.Makefile.p'.
    Trying pattern rule with stem `Makefile.p'.
    Trying implicit prerequisite `SCCS/s.Makefile.p'.
    Trying pattern rule with stem `Makefile'.
    Trying implicit prerequisite `Makefile.web'.
    Looking for a rule with intermediate file `Makefile.web'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem `Makefile.web'.
     Trying implicit prerequisite `Makefile.web,v'.
     Trying pattern rule with stem `Makefile.web'.
     Trying implicit prerequisite `RCS/Makefile.web,v'.
     Trying pattern rule with stem `Makefile.web'.
     Trying implicit prerequisite `RCS/Makefile.web'.
     Trying pattern rule with stem `Makefile.web'.
     Trying implicit prerequisite `s.Makefile.web'.
     Trying pattern rule with stem `Makefile.web'.
     Trying implicit prerequisite `SCCS/s.Makefile.web'.
   Trying pattern rule with stem `Makefile'.
   Trying implicit prerequisite `Makefile.f'.
   Looking for a rule with intermediate file `Makefile.f'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem `Makefile'.
    Trying implicit prerequisite `Makefile.F'.
    Trying pattern rule with stem `Makefile'.
    Trying implicit prerequisite `Makefile.r'.
    Trying pattern rule with stem `Makefile.f'.
    Trying implicit prerequisite `Makefile.f,v'.
    Trying pattern rule with stem `Makefile.f'.
    Trying implicit prerequisite `RCS/Makefile.f,v'.
    Trying pattern rule with stem `Makefile.f'.
    Trying implicit prerequisite `RCS/Makefile.f'.
    Trying pattern rule with stem `Makefile.f'.
    Trying implicit prerequisite `s.Makefile.f'.
    Trying pattern rule with stem `Makefile.f'.
    Trying implicit prerequisite `SCCS/s.Makefile.f'.
    Trying pattern rule with stem `Makefile'.
    Trying implicit prerequisite `Makefile.F'.
    Looking for a rule with intermediate file `Makefile.F'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem `Makefile.F'.
     Trying implicit prerequisite `Makefile.F,v'.
     Trying pattern rule with stem `Makefile.F'.
     Trying implicit prerequisite `RCS/Makefile.F,v'.
     Trying pattern rule with stem `Makefile.F'.
     Trying implicit prerequisite `RCS/Makefile.F'.
     Trying pattern rule with stem `Makefile.F'.
     Trying implicit prerequisite `s.Makefile.F'.
     Trying pattern rule with stem `Makefile.F'.
     Trying implicit prerequisite `SCCS/s.Makefile.F'.
    Trying pattern rule with stem `Makefile'.
    Trying implicit prerequisite `Makefile.r'.
    Looking for a rule with intermediate file `Makefile.r'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem `Makefile'.
     Rejecting impossible implicit prerequisite `Makefile.l'.
     Trying pattern rule with stem `Makefile.r'.
     Trying implicit prerequisite `Makefile.r,v'.
     Trying pattern rule with stem `Makefile.r'.
     Trying implicit prerequisite `RCS/Makefile.r,v'.
     Trying pattern rule with stem `Makefile.r'.
     Trying implicit prerequisite `RCS/Makefile.r'.
     Trying pattern rule with stem `Makefile.r'.
     Trying implicit prerequisite `s.Makefile.r'.
     Trying pattern rule with stem `Makefile.r'.
     Trying implicit prerequisite `SCCS/s.Makefile.r'.
   Trying pattern rule with stem `Makefile'.
   Rejecting impossible implicit prerequisite `Makefile.F'.
   Trying pattern rule with stem `Makefile'.
   Trying implicit prerequisite `Makefile.m'.
   Looking for a rule with intermediate file `Makefile.m'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem `Makefile'.
    Trying implicit prerequisite `Makefile.ym'.
    Trying pattern rule with stem `Makefile'.
    Trying implicit prerequisite `Makefile.lm'.
    Trying pattern rule with stem `Makefile.m'.
    Trying implicit prerequisite `Makefile.m,v'.
    Trying pattern rule with stem `Makefile.m'.
    Trying implicit prerequisite `RCS/Makefile.m,v'.
    Trying pattern rule with stem `Makefile.m'.
    Trying implicit prerequisite `RCS/Makefile.m'.
    Trying pattern rule with stem `Makefile.m'.
    Trying implicit prerequisite `s.Makefile.m'.
    Trying pattern rule with stem `Makefile.m'.
    Trying implicit prerequisite `SCCS/s.Makefile.m'.
    Trying pattern rule with stem `Makefile'.
    Trying implicit prerequisite `Makefile.ym'.
    Looking for a rule with intermediate file `Makefile.ym'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem `Makefile.ym'.
     Trying implicit prerequisite `Makefile.ym,v'.
     Trying pattern rule with stem `Makefile.ym'.
     Trying implicit prerequisite `RCS/Makefile.ym,v'.
     Trying pattern rule with stem `Makefile.ym'.
     Trying implicit prerequisite `RCS/Makefile.ym'.
     Trying pattern rule with stem `Makefile.ym'.
     Trying implicit prerequisite `s.Makefile.ym'.
     Trying pattern rule with stem `Makefile.ym'.
     Trying implicit prerequisite `SCCS/s.Makefile.ym'.
    Trying pattern rule with stem `Makefile'.
    Trying implicit prerequisite `Makefile.lm'.
    Looking for a rule with intermediate file `Makefile.lm'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem `Makefile.lm'.
     Trying implicit prerequisite `Makefile.lm,v'.
     Trying pattern rule with stem `Makefile.lm'.
     Trying implicit prerequisite `RCS/Makefile.lm,v'.
     Trying pattern rule with stem `Makefile.lm'.
     Trying implicit prerequisite `RCS/Makefile.lm'.
     Trying pattern rule with stem `Makefile.lm'.
     Trying implicit prerequisite `s.Makefile.lm'.
     Trying pattern rule with stem `Makefile.lm'.
     Trying implicit prerequisite `SCCS/s.Makefile.lm'.
   Trying pattern rule with stem `Makefile'.
   Rejecting impossible implicit prerequisite `Makefile.r'.
   Trying pattern rule with stem `Makefile'.
   Trying implicit prerequisite `Makefile.s'.
   Looking for a rule with intermediate file `Makefile.s'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem `Makefile'.
    Trying implicit prerequisite `Makefile.S'.
    Trying pattern rule with stem `Makefile.s'.
    Trying implicit prerequisite `Makefile.s,v'.
    Trying pattern rule with stem `Makefile.s'.
    Trying implicit prerequisite `RCS/Makefile.s,v'.
    Trying pattern rule with stem `Makefile.s'.
    Trying implicit prerequisite `RCS/Makefile.s'.
    Trying pattern rule with stem `Makefile.s'.
    Trying implicit prerequisite `s.Makefile.s'.
    Trying pattern rule with stem `Makefile.s'.
    Trying implicit prerequisite `SCCS/s.Makefile.s'.
    Trying pattern rule with stem `Makefile'.
    Trying implicit prerequisite `Makefile.S'.
    Looking for a rule with intermediate file `Makefile.S'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem `Makefile.S'.
     Trying implicit prerequisite `Makefile.S,v'.
     Trying pattern rule with stem `Makefile.S'.
     Trying implicit prerequisite `RCS/Makefile.S,v'.
     Trying pattern rule with stem `Makefile.S'.
     Trying implicit prerequisite `RCS/Makefile.S'.
     Trying pattern rule with stem `Makefile.S'.
     Trying implicit prerequisite `s.Makefile.S'.
     Trying pattern rule with stem `Makefile.S'.
     Trying implicit prerequisite `SCCS/s.Makefile.S'.
   Trying pattern rule with stem `Makefile'.
   Rejecting impossible implicit prerequisite `Makefile.S'.
   Trying pattern rule with stem `Makefile'.
   Trying implicit prerequisite `Makefile.mod'.
   Looking for a rule with intermediate file `Makefile.mod'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem `Makefile.mod'.
    Trying implicit prerequisite `Makefile.mod,v'.
    Trying pattern rule with stem `Makefile.mod'.
    Trying implicit prerequisite `RCS/Makefile.mod,v'.
    Trying pattern rule with stem `Makefile.mod'.
    Trying implicit prerequisite `RCS/Makefile.mod'.
    Trying pattern rule with stem `Makefile.mod'.
    Trying implicit prerequisite `s.Makefile.mod'.
    Trying pattern rule with stem `Makefile.mod'.
    Trying implicit prerequisite `SCCS/s.Makefile.mod'.
  Trying pattern rule with stem `Makefile'.
  Rejecting impossible implicit prerequisite `Makefile.c'.
  Trying pattern rule with stem `Makefile'.
  Rejecting impossible implicit prerequisite `Makefile.cc'.
  Trying pattern rule with stem `Makefile'.
  Rejecting impossible implicit prerequisite `Makefile.C'.
  Trying pattern rule with stem `Makefile'.
  Rejecting impossible implicit prerequisite `Makefile.cpp'.
  Trying pattern rule with stem `Makefile'.
  Rejecting impossible implicit prerequisite `Makefile.p'.
  Trying pattern rule with stem `Makefile'.
  Rejecting impossible implicit prerequisite `Makefile.f'.
  Trying pattern rule with stem `Makefile'.
  Rejecting impossible implicit prerequisite `Makefile.F'.
  Trying pattern rule with stem `Makefile'.
  Rejecting impossible implicit prerequisite `Makefile.m'.
  Trying pattern rule with stem `Makefile'.
  Rejecting impossible implicit prerequisite `Makefile.r'.
  Trying pattern rule with stem `Makefile'.
  Rejecting impossible implicit prerequisite `Makefile.s'.
  Trying pattern rule with stem `Makefile'.
  Rejecting impossible implicit prerequisite `Makefile.S'.
  Trying pattern rule with stem `Makefile'.
  Rejecting impossible implicit prerequisite `Makefile.mod'.
  Trying pattern rule with stem `Makefile'.
  Trying implicit prerequisite `Makefile.sh'.
  Looking for a rule with intermediate file `Makefile.sh'.
   Avoiding implicit rule recursion.
   Trying pattern rule with stem `Makefile.sh'.
   Trying implicit prerequisite `Makefile.sh,v'.
   Trying pattern rule with stem `Makefile.sh'.
   Trying implicit prerequisite `RCS/Makefile.sh,v'.
   Trying pattern rule with stem `Makefile.sh'.
   Trying implicit prerequisite `RCS/Makefile.sh'.
   Trying pattern rule with stem `Makefile.sh'.
   Trying implicit prerequisite `s.Makefile.sh'.
   Trying pattern rule with stem `Makefile.sh'.
   Trying implicit prerequisite `SCCS/s.Makefile.sh'.
  No implicit rule found for `Makefile'.
  Finished prerequisites of target file `Makefile'.
 No need to remake target `Makefile'.
Updating goal targets....
Considering target file `all'.
 File `all' does not exist.
  Considering target file `build'.
   File `build' does not exist.
   Finished prerequisites of target file `build'.
  Must remake target `build'.
  Successfully remade target file `build'.
 Finished prerequisites of target file `all'.
Must remake target `all'.
Successfully remade target file `all'.
make: Nothing to be done for `all'.

@straight-shoota
Copy link
Contributor Author

straight-shoota commented Jan 18, 2024

Hm, looks like make doesn't recognize the prerequisites (SRC_SOURCES) at all.

Maybe try this diff to see if there are any errors with the find command? Would be very strange though...

@@ -28,7 +28,7 @@ INSTALL_BIN ?= /usr/bin/install
 SHARD_BIN ?= ../../bin
 CRFLAGS ?= -Dpreview_mt

-SRC_SOURCES ::= $(shell find src -name '*.cr' 2>/dev/null)
+SRC_SOURCES ::= $(shell find src -name '*.cr')
 DOC_SOURCE   ::= src/**

Looks like your make version is really ancient. You might want to update to a more modern version. (Dunno if that could be of any relevance here)

@Sija
Copy link
Member

Sija commented Jan 18, 2024

Nope, doesn't work. Also what's interesting when I run this command from my terminal I get:

λ Shabdiz → shell find src -name '*.cr'                                                                                                                           
zsh: command not found: shell

@straight-shoota
Copy link
Contributor Author

$(shell xxx) is a make function: https://www.gnu.org/software/make/manual/html_node/Shell-Function.html

It means run xxx in the shell.

So could you try if find src -name '*.cr' works for you? I don't know how that could fail 🤷 It should print the paths of all source files.

@Sija
Copy link
Member

Sija commented Jan 18, 2024

Yeah, that works just fine.

@Sija
Copy link
Member

Sija commented Jan 19, 2024

Solution was to install make from homebrew (v4.4.1).

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

Successfully merging this pull request may close these issues.

None yet

3 participants