On Tuesday, June 23rd, 2026 at 8:45 AM, David Deutsch <[email protected]> wrote:
> Like in your other mail - you're trying to go against a fundamental > concept in make. > > A target is a target. What you're telling make with: > > make -f myfile.mk trlfn #(or ndf) > > is "I want target myfile.mk to be one thing if I also tell you to > build trlfn and another thing if I tell you to also build ndf and YET > another thing if I tell it to also build trlfn and ndf at the same time". > > That means your Makefile has - in your theory - four separate > understandings of what myfile.mk fundamentally is. > > If you keep pursuing this route, you're going to have a bad time because > make works best when targets have clear and final meanings. > > The reason why trlfn/ndf does not work is because you have not provided > a recipe to it, in two different ways: First, you thought a recipe was > "the thing that make executes when I tell it to make a target" - which > is kind of true, but not for makefile syntax which is evaluated before > recipes are built (but in this case, will be ignored). Second: You just > wrote the recipe behind the colon. That's where the prerequisites go. > The actual recipe goes into the next line after a tab. Would there be no prerequisites for such cases? > I would think that you're looking for outside variables, but from your > other email, you already seem to know about those. > > What you're actually seem to be trying to do is use makefiles as though > they were a bash script. Wrong tool for the job. > > -David I do not think I am using wrong tool for the job. If I want to build my program with gcc, I might need to set compiler options by specifying what I want to the makefile. How would it be a wrong idea? > On 6/22/26 22:04, Heime wrote: > > How can I have targets that append values to variables? > > Doing as follows produces error on hopc. > > > > .PHONY: trlfn ndf > > > > trlfn: hopc += --transliterate-file-names > > ndf: hopc += --node-files > > > > What I want is that calling > > > > make -f myfile.mk trlfn > > > > will append --transliterate-file-names to hopc > > > > > > > >
