[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Documentation - reference not defined query
From: |
Paul Smith |
Subject: |
Re: Documentation - reference not defined query |
Date: |
Mon, 20 Jan 2020 13:58:08 -0500 |
User-agent: |
Evolution 3.34.1-2 |
In general it's helpful if you use plain text emails, and/or format your
email carefully especially with makefiles as things like indentation are
crucial to see correctly.
Also it's important to ask clear questions, one at a time, and give a very
clear description of your environment etc.
As a note, we don't know anything about Eclipse (at least I don't) so you
should endeavour to get your makefile working properly from the command
line. Once that's working, if you can't invoke it from Eclipse you can ask
about that on the Eclipse mailing lists or help forums.
On Mon, 2020-01-20 at 13:09 -0500, Pete Edwards wrote:
> The make output is:
> ======================
> 12:46:45 **** Build of configuration Default for project hello_world
> ****
> make -j4 all
> Makefile:8: /home/pete/esp/esp-idf:/home/esp/esp-idf/make/project.mk: No
> such file or directory
This means make is trying to include the file named, literally,
/make/project.mk and that file (not surprisingly) cannot be found.
> "Makefile"
> #
> # This is a project Makefile. It is assumed the directory this Makefile
> resides in is a
> # project subdirectory.
> #
>
> PROJECT_NAME := hello-world
> echo $(IDF_PATH);
> include $(IDF_PATH)/make/project.mk
I don't think this can be the real makefile you're using, because "echo
$(IDF_PATH);" is not a valid make command and this line will result in a
syntax error.
If you want to show the value of a variable you must use make functions to
do it, not shell commands like "echo". A makefile may _contain_ shell
commands (in recipes) but a makefile is not a shell script. Instead you
can use the $(info ...) function like so:
$(info IDF_PATH = $(IDF_PATH))
Given the error you get, I'm assuming that the IDF_PATH variable contains a
path string: that is, directories separated with ":" characters. It
probably has this value:
/home/pete/esp/esp-idf:/home/esp/esp-idf
Then when make evaluates this line:
include $(IDF_PATH)/make/project.mk
that expands to the value:
include /home/pete/esp/esp-idf:/home/esp/esp-idf/make/project.mk
Obviously that's not a valid filename so the include operation fails.