Hello Gáspár,
thanks for using BNFC and providing feedback!
> Better touch the timestamp!
I observed the same trouble as you and thus changed BNFC to always
update the time stamps:
https://github.com/BNFC/bnfc/issues/219
This was released with BNFC 2.8.2, maybe you need to update your version
of BNFC? If this does not work, please report an issue or reopen the
issue above.
> plus, the change in the file naming,
template.cf ->
> LexTemplate.x and LexTemplate.y instead of Lextemplate.x and
> Lextemplate.y has finally reached me
For case issues in Makefiles, maybe some of the techniques here
https://stackoverflow.com/questions/664601/in-gnu-make-how-do-i-convert-a-variable-to-lower-case
can remedy your problem.
In general, if you are using the Haskell backend of BNFC, I recommend
using the -d option which places the generated files in a subdirectory
(Template in your case) rather than placing them in the same directory.
Cheers,
Andreas
On 2020-06-15 22:05, Gáspár Erdélyi wrote:
> Hello,
>
> After a long while I have moved from one pretty old linux release to
> a newer one...
> And I have had some troubles migrating my bnfc + alex + happy + uuagc
> compiler.
>
> First and foremost I would suggest at least an option that when bnfc
> does no change to a file then update the access and change timestamp of
> the file -- or it could be better the default behavior and have an
> option not to touch the timestamps?
> It is a nice feature not to write change when not necessary but it
> screws up the order of timestamps in my -- own, manual -- Makefile,
> causing always recompiling lots of stuff.
> workaround is touch --reference-file=<
name.cf <
http://name.cf>> Par<Name>.y
> Simply a make after previous make will start recompiling the file
> that was not changed, and then the whole story begins from scratch.
> Better touch the timestamp!
>
> plus, the change in the file naming,
template.cf <
http://template.cf> ->
> LexTemplate.x and LexTemplate.y instead of Lextemplate.x and
> Lextemplate.y has finally reached meI have used the $(prog) in many
> places in my makefiles and that got simply not working any more... it
> was so easy to have a base makefile and use it as an include makefile
> just changing $(prog) here and there...
> Thinking about starting everything in caps and then copy the final
> binary to small caps for linux convention... The fun is in maintain my
> imports in the Haskell sources, too...
> Conclusion -- I think it is a very bad idea -- maybe not bad enough bad
> to worth changing it back -- but never do something like that again, please!
>
> Best regards,
> Gaspar
>
> --
> You received this message because you are subscribed to the Google
> Groups "BNFC Developers and Users" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to
bnfc-dev+u...@googlegroups.com
> <mailto:
bnfc-dev+u...@googlegroups.com>.
> To view this discussion on the web visit
>
https://groups.google.com/d/msgid/bnfc-dev/CAOrh209kKXf5oW2QJFhmZ%3DDDjb%3Dtn9fn4OyAaHaTLj1HHPC%3Dyw%40mail.gmail.com
> <
https://groups.google.com/d/msgid/bnfc-dev/CAOrh209kKXf5oW2QJFhmZ%3DDDjb%3Dtn9fn4OyAaHaTLj1HHPC%3Dyw%40mail.gmail.com?utm_medium=email&utm_source=footer>.