Forum: Mikrocontroller und Digitale Elektronik ESP32 Beispiel make


von Andreas B. (bitverdreher)


Lesenswert?

Hallo,
irgendwie stehe ich hier auf den Schlauch, warum der IDF_Path hier nicht 
gefunden wird. Es ist ein Example der ESP32 IDF, das ich compilieren 
möchte.
Terminalausgaben (Mint Linux 19.3 Mate):

andy@andy-H67M-D2-B3:~/workspace/esp32/sd_card$ make
Makefile:8: /make/project.mk: Datei oder Verzeichnis nicht gefunden
make: *** Keine Regel, um „/make/project.mk“ zu erstellen.  Schluss.

andy@andy-H67M-D2-B3:~/workspace/esp32/sd_card$ echo $IDF_PATH
/home/andy/esp/esp-idf

andy@andy-H67M-D2-B3:~/workspace/esp32/sd_card$ cat Makefile
#
# This is a project Makefile. It is assumed the directory this Makefile 
resides in is a
# project subdirectory.
#

PROJECT_NAME := sd_card

include $(IDF_PATH)/make/project.mk

andy@andy-H67M-D2-B3:~/workspace/esp32/sd_card$ ls 
/home/andy/esp/esp-idf/make
common.mk  component_common.mk  component_wrapper.mk  ldgen.mk 
project_config.mk  project.mk  version.mk

Es ist doch alles da. Was übersehe ich hier?

von minifloat (Gast)


Lesenswert?

Hier sagt er dir wo das Problem ist:
Andreas B. schrieb:
> Makefile:8: /make/project.mk: Datei oder Verzeichnis nicht gefunden

Also hier:
Andreas B. schrieb:
> include $(IDF_PATH)/make/project.mk

IDF_PATH ist nicht gesetzt.

Einfach mit ...
$ echo $IDF_PATH
... kontrollieren.

Wenn "/home/andy/esp/esp-idf/make" rauskommt weiß ich nicht was es ist.

mfg mf

von minifloat (Gast)


Lesenswert?

Halt, es muss bei echo $IDF_PATH
"/home/andy/esp/esp-idf"
rauskommen.

mfg mf

von Andreas B. (bitverdreher)


Lesenswert?

minifloat schrieb:
> Halt, es muss bei echo $IDF_PATH
> "/home/andy/esp/esp-idf"
> rauskommen.


Kommt doch. Steht doch oben.
Das ls /home/andy/esp/esp-idf/make
habe ich nur abgesetzt, um zu überprüfen daß die Datei 
/home/andy/esp/esp-idf/make/project.mk auch tatsächlich vorhanden ist.

von Andreas B. (bitverdreher)


Lesenswert?

Gefunden:
Es muß zusätzlich:
> export IDF_PATH
in die .bash_rc
eingetragen werden. Nur
> IDF_PATH=~esp/esp-idf
reicht nicht.

Warum auch immer. Ich dachte eigentlich mit mit dem IDF_PATH= in der 
.bash_rc wäre dies erledigt. Wird wohl ansonsten nicht vererbt.

von minifloat (Gast)


Lesenswert?

Oh. 1. Bin ich wohl blind 2. Ich hatte gedacht, innerhalb einer 
Konsolen-Session gilt das dann global für alle Child-Prozesse, i.e. 
Sachen, die von dieser Sitzung aus gestartet werden.
Again what learned ;)

Frohe Festtage noch,
mfg mf

von Andreas B. (bitverdreher)


Lesenswert?

minifloat schrieb:
> Ich hatte gedacht, innerhalb einer
> Konsolen-Session gilt das dann global für alle Child-Prozesse, i.e.
> Sachen, die von dieser Sitzung aus gestartet werden.

So dachte ich eigentlich auch.
Wäre schön, wenn jemand eine Erklärung dazu hätte.

von Stefan F. (Gast)


Lesenswert?

Andreas B. schrieb:
> So dachte ich eigentlich auch.
> Wäre schön, wenn jemand eine Erklärung dazu hätte.

Da gibt es eigentlich nicht viel zu zu sagen. Umgebungsvariablen einer 
Shell werden nur dann an Sub-Shell exportiert, wenn man "extern" davor 
geschrieben hat.

von Andreas B. (bitverdreher)


Lesenswert?

Stefan ⛄ F. schrieb:
> Umgebungsvariablen einer
> Shell werden nur dann an Sub-Shell exportiert, wenn man "extern" davor
> geschrieben hat.

Ja, wenn man das in einer Session macht, ist klar.
Aber hier steht die Variable ja schon in der .bash_rc
Aber ok, ich nehme das jetzt mal so hin.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.