/u1/Projects/RISCV/esp32c3/esp-idf/tools/idf.pyNote that typing "idf.py" gives a bunch of information.
At least this is python, which from among many options is among the better ones. Thanks be to God it isn't Tcl or Java. I've had enough wretched slow Java based tools (yes, Eclipse, I am looking at you!).
[tom@trona tools]$ esptool.py flash_id esptool.py v4.1 Found 1 serial ports Serial port /dev/ttyUSB0 Connecting.... Detecting chip type... ESP32-C3 Chip is ESP32-C3 (revision 3) Features: Wi-Fi Crystal is 40MHz MAC: 34:b4:72:4c:xx:xx Uploading stub... Running stub... Stub running... Manufacturer: 20 Device: 4016 Detected flash size: 4MB Hard resetting via RTS pin... [tom@trona tools]$ esptool.py chip_id esptool.py v4.1 ..... Stub running... Warning: ESP32-C3 has no Chip ID. Reading MAC instead. MAC: 34:b4:72:4c:xx:xx Hard resetting via RTS pin...You can also directly run "idf_monitor.py" which runs /u1/Projects/RISCV/esp32c3/esp-idf/tools/idf_monitor.py
So, things are split between stuff that you got via the initial clone (which is in /u1/Projects/RISCV/esp32c3/esp-idf/) and stuff the install script installed (which is in /home/tom/.espressif).
cd /u1/Projects/RISCV/esp32c3/blinkIn here we have "sdkconfig" which has a bunch of options. The action is in the "build" directory. To have any clue about what is going on here, a person will need to learn about "build ninja": Just for the record, the "build.ninja" file for the simple blink demo is 14,411 lines !! And indeed the "build.ninja" file is the equivalent of the Makefile for build-ninja.
cd /u1/Projects/riscv/esp32c3/blink
touch main/*.c
idf.py -v build
...
Constraint file: /home/tom/.espressif/espidf.constraints.v5.0.txt
Requirement files:
 - /u1/Projects/RISCV/esp32c3/esp-idf/tools/requirements/requirements.core.txt
Python being checked: /home/tom/.espressif/python_env/idf5.0_py3.10_env/bin/python
Executing action: all (aliases: build)
Running ninja in directory /u1/Projects/RISCV/esp32c3/blink/build
Executing "ninja -v all"...
[1/9] cd /u1/Projects/RISCV/esp32c3/blink/build/bootloader && /usr/bin/cmake --build .
[1/1] cd /u1/Projects/RISCV/esp32c3/blink/build/bootloader/esp-idf/esptool_py &&
    /home/tom/.espressif/python_env/idf5.0_py3.10_env/bin/python
    /u1/Projects/RISCV/esp32c3/esp-idf/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x0
    /u1/Projects/RISCV/esp32c3/blink/build/bootloader/bootloader.bin
Bootloader binary size 0x50e0 bytes. 0x2f20 bytes (37%) free.
[2/7] /home/tom/.espressif/tools/riscv32-esp-elf/esp-2022r1-RC1-11.2.0/riscv32-esp-elf/bin/riscv32-esp-elf-gcc
    .....................
    -o esp-idf/main/CMakeFiles/__idf_main.dir/blink_example_main.c.obj -c
    /u1/Projects/RISCV/esp32c3/blink/main/blink_example_main.c
[3/7] : && /usr/bin/cmake -E rm -f esp-idf/main/libmain.a &&
    /home/tom/.espressif/tools/riscv32-esp-elf/esp-2022r1-RC1-11.2.0/riscv32-esp-elf/bin/riscv32-esp-elf-ar qc
    esp-idf/main/libmain.a
    esp-idf/main/CMakeFiles/__idf_main.dir/blink_example_main.c.obj &&
    /home/tom/.espressif/tools/riscv32-esp-elf/esp-2022r1-RC1-11.2.0/riscv32-esp-elf/bin/riscv32-esp-elf-ranlib
    esp-idf/main/libmain.a && :
[4/7] cd /u1/Projects/RISCV/esp32c3/blink/build/esp-idf/esp_system &&
    /home/tom/.espressif/python_env/idf5.0_py3.10_env/bin/python
    /u1/Projects/RISCV/esp32c3/esp-idf/tools/ldgen/ldgen.py --config
    /u1/Projects/RISCV/esp32c3/blink/sdkconfig --fragments-list
       "/u1/Projects/RISCV/esp32c3/esp-idf/components/riscv/linker.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_ringbuf/linker.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/driver/linker.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_pm/linker.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/spi_flash/linker.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_system/linker.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_system/app.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_rom/linker.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/hal/linker.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/log/linker.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/heap/linker.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/soc/linker.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_hw_support/linker.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/freertos/linker.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/newlib/newlib.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/newlib/system_libs.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_common/common.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_common/soc.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/app_trace/linker.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_event/linker.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_phy/linker.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/linker.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/lwip/linker.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/bt/linker.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_gdbstub/linker.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_lcd/linker.lf;
    /u1/Projects/RISCV/esp32c3/esp-idf/components/espcoredump/linker.lf"
    --input /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_system/ld/esp32c3/sections.ld.in
    --output /u1/Projects/RISCV/esp32c3/blink/build/esp-idf/esp_system/ld/sections.ld
    --kconfig /u1/Projects/RISCV/esp32c3/esp-idf/Kconfig
    --env-file /u1/Projects/RISCV/esp32c3/blink/build/config.env
    --libraries-file /u1/Projects/RISCV/esp32c3/blink/build/ldgen_libraries
    --objdump /home/tom/.espressif/tools/riscv32-esp-elf/esp-2022r1-RC1-11.2.0/riscv32-esp-elf/bin/riscv32-esp-elf-objdump
[5/7] : && /home/tom/.espressif/tools/riscv32-esp-elf/esp-2022r1-RC1-11.2.0/riscv32-esp-elf/bin/riscv32-esp-elf-g++
    -march=rv32imc -nostartfiles -march=rv32imc --specs=nosys.specs
    CMakeFiles/blink.elf.dir/project_elf_src_esp32c3.c.obj -o blink.elf  esp-idf/riscv/libriscv.a
    esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a
    esp-idf/mbedtls/libmbedtls.a  esp-idf/app_update/libapp_update.a  esp-idf/bootloader_support/libbootloader_support.a
    esp-idf/spi_flash/libspi_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a
    esp-idf/hal/libhal.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a
    esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/esp_common/libesp_common.a
    esp-idf/esp_timer/libesp_timer.a  esp-idf/app_trace/libapp_trace.a  esp-idf/vfs/libvfs.a  esp-idf/esp_eth/libesp_eth.a
    esp-idf/esp_netif/libesp_netif.a  esp-idf/esp_event/libesp_event.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/esp_phy/libesp_phy.a
    esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/lwip/liblwip.a  esp-idf/asio/libasio.a
    esp-idf/unity/libunity.a  esp-idf/cmock/libcmock.a  esp-idf/console/libconsole.a  esp-idf/http_parser/libhttp_parser.a
    esp-idf/esp-tls/libesp-tls.a esp-idf/esp_adc_cal/libesp_adc_cal.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/esp_hid/libesp_hid.a
    esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a
    esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/esp_lcd/libesp_lcd.a  esp-idf/protobuf-c/libprotobuf-c.a  esp-idf/protocomm/libprotocomm.a
    esp-idf/mdns/libmdns.a  esp-idf/esp_local_ctrl/libesp_local_ctrl.a  esp-idf/sdmmc/libsdmmc.a  esp-idf/esp_serial_slave_link/libesp_serial_slave_link.a
    esp-idf/espcoredump/libespcoredump.a  esp-idf/wear_levelling/libwear_levelling.a  esp-idf/fatfs/libfatfs.a  esp-idf/json/libjson.a
    esp-idf/mqtt/libmqtt.a  esp-idf/spiffs/libspiffs.a  esp-idf/wifi_provisioning/libwifi_provisioning.a  esp-idf/main/libmain.a
    esp-idf/led_strip/libled_strip.a
    -Wl,--cref  -Wl,--defsym=IDF_TARGET_ESP32C3=0  -Wl,--Map="/u1/Projects/RISCV/esp32c3/blink/build/blink.map"
    -fno-rtti  -fno-lto  -Wl,--gc-sections  -Wl,--warn-common
    esp-idf/app_trace/libapp_trace.a  esp-idf/app_trace/libapp_trace.a
    -lgcov  esp-idf/app_trace/libapp_trace.a
    -lgcov  esp-idf/asio/libasio.a  esp-idf/cmock/libcmock.a  esp-idf/unity/libunity.a  esp-idf/esp_adc_cal/libesp_adc_cal.a
    esp-idf/esp_hid/libesp_hid.a  esp-idf/esp_lcd/libesp_lcd.a  esp-idf/esp_local_ctrl/libesp_local_ctrl.a  esp-idf/mdns/libmdns.a
    esp-idf/espcoredump/libespcoredump.a  esp-idf/fatfs/libfatfs.a  esp-idf/wear_levelling/libwear_levelling.a  esp-idf/mqtt/libmqtt.a
    esp-idf/spiffs/libspiffs.a  esp-idf/wifi_provisioning/libwifi_provisioning.a  esp-idf/protocomm/libprotocomm.a  esp-idf/console/libconsole.a
    esp-idf/protobuf-c/libprotobuf-c.a  esp-idf/json/libjson.a  esp-idf/riscv/libriscv.a  esp-idf/esp_ringbuf/libesp_ringbuf.a
    esp-idf/efuse/libefuse.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a
    esp-idf/app_update/libapp_update.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/spi_flash/libspi_flash.a
    esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/log/liblog.a
    esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/freertos/libfreertos.a
    esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a
    esp-idf/vfs/libvfs.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/esp_event/libesp_event.a
    esp-idf/nvs_flash/libnvs_flash.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a
    esp-idf/lwip/liblwip.a  esp-idf/http_parser/libhttp_parser.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/esp_gdbstub/libesp_gdbstub.a
    esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a
    esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/sdmmc/libsdmmc.a  esp-idf/esp_serial_slave_link/libesp_serial_slave_link.a
    esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libcoexist.a
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libcore.a
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libespnow.a
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libmesh.a
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libnet80211.a
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libpp.a
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libsmartconfig.a
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libwapi.a
    esp-idf/riscv/libriscv.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/driver/libdriver.a
    esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/app_update/libapp_update.a  esp-idf/bootloader_support/libbootloader_support.a
    esp-idf/spi_flash/libspi_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a
    esp-idf/hal/libhal.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a
    esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/esp_common/libesp_common.a
    esp-idf/esp_timer/libesp_timer.a  esp-idf/vfs/libvfs.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/esp_netif/libesp_netif.a
    esp-idf/esp_event/libesp_event.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/wpa_supplicant/libwpa_supplicant.a
    esp-idf/esp_wifi/libesp_wifi.a  esp-idf/lwip/liblwip.a  esp-idf/http_parser/libhttp_parser.a  esp-idf/esp-tls/libesp-tls.a
    esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a
    esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/sdmmc/libsdmmc.a
    esp-idf/esp_serial_slave_link/libesp_serial_slave_link.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a
    esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libcoexist.a
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libcore.a
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libespnow.a
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libmesh.a
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libnet80211.a
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libpp.a
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libsmartconfig.a
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libwapi.a
    esp-idf/riscv/libriscv.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/driver/libdriver.a
    esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/app_updd"
    -T esp32c3.rom.ld  -T esp32c3.rom.api.ld  -T esp32c3.rom.libgcc.ld  -T esp32c3.rom.newlib.ld  -T esp32c3.rom.version.ld
    -T esp32c3.rom.eco3.ld  -u __assert_func
    -L "/u1/Projects/RISCV/esp32c3/esp-idf/components/soc/esp32c3/ld"  -T esp32c3.peripherals.ld
    -Wl,--undefined=uxTopUsedPriority  -Wl,--undefined=FreeRTOS_openocd_params  -u app_main
    -lc  -lm  esp-idf/newlib/libnewlib.a  -u newlib_include_heap_impl  -u newlib_include_syscalls_impl  -u newlib_include_pthread_impl
    -u newlib_include_assert_impl  -Wl,--wrap=_Unwind_SetEnableExceptionFdeSorting  -Wl,--wrap=__register_frame_info_bases
    -Wl,--wrap=__register_frame_info  -Wl,--wrap=__register_frame  -Wl,--wrap=__register_frame_info_table_bases
    -Wl,--wrap=__register_frame_info_table  -Wl,--wrap=__register_frame_table  -Wl,--wrap=__deregister_frame_info_bases
    -Wl,--wrap=__deregister_frame_info  -Wl,--wrap=_Unwind_Find_FDE  -Wl,--wrap=_Unwind_GetGR  -Wl,--wrap=_Unwind_GetCFA
    -Wl,--wrap=_Unwind_GetIP  -Wl,--wrap=_Unwind_GetIPInfo  -Wl,--wrap=_Unwind_GetRegionStart  -Wl,--wrap=_Unwind_GetDataRelBase
    -Wl,--wrap=_Unwind_GetTextRelBase  -Wl,--wrap=_Unwind_SetIP  -Wl,--wrap=_Unwind_SetGR  -Wl,--wrap=_Unwind_GetLanguageSpecificData
    -Wl,--wrap=_Unwind_FindEnclosingFunction  -Wl,--wrap=_Unwind_Resume  -Wl,--wrap=_Unwind_RaiseException
    -Wl,--wrap=_Unwind_DeleteException  -Wl,--wrap=_Unwind_ForcedUnwind  -Wl,--wrap=_Unwind_Resume_or_Rethrow
    -Wl,--wrap=_Unwind_Backtrace  -Wl,--wrap=__cxa_call_unexpected  -Wl,--wrap=__gxx_personality_v0
    -u __cxa_guard_dummy  -lstdc++  esp-idf/pthread/libpthread.a  -lgcc
    esp-idf/cxx/libcxx.a  -u __cxx_fatal_exception  -u vfs_include_syscalls_impl
    -L "/u1/Projects/RISCV/esp32c3/esp-idf/components/esp_phy/lib/esp32c3"  -u include_esp_phy_override  -lphy
    -lbtbb  esp-idf/esp_phy/libesp_phy.a  -lphy  -lbtbb  esp-idf/esp_phy/libesp_phy.a  -lphy  -lbtbb
    -L "/u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3" && :
[6/7] cd /u1/Projects/RISCV/esp32c3/blink/build && /home/tom/.espressif/python_env/idf5.0_py3.10_env/bin/python
    /u1/Projects/RISCV/esp32c3/esp-idf/components/esptool_py/esptool/esptool.py --chip esp32c3 elf2image --flash_mode dio
    --flash_freq 80m --flash_size 2MB --elf-sha256-offset 0xb0 --min-rev 3 -o /u1/Projects/RISCV/esp32c3/blink/build/blink.bin
    /u1/Projects/RISCV/esp32c3/blink/build/blink.elf &&
    /usr/bin/cmake -E echo "Generated /u1/Projects/RISCV/esp32c3/blink/build/blink.bin" &&
    /usr/bin/cmake -E md5sum /u1/Projects/RISCV/esp32c3/blink/build/blink.bin >
    /u1/Projects/RISCV/esp32c3/blink/build/.bin_timestamp
esptool.py v4.1
Creating esp32c3 image...
Merged 1 ELF section
Successfully created esp32c3 image.
Generated /u1/Projects/RISCV/esp32c3/blink/build/blink.bin
[7/7] cd /u1/Projects/RISCV/esp32c3/blink/build/esp-idf/esptool_py &&
    /home/tom/.espressif/python_env/idf5.0_py3.10_env/bin/python /u1/Projects/RISCV/esp32c3/esp-idf/components/partition_table/check_sizes.py
    --offset 0x8000 partition --type app /u1/Projects/RISCV/esp32c3/blink/build/partition_table/partition-table.bin
    /u1/Projects/RISCV/esp32c3/blink/build/blink.bin
blink.bin binary size 0x27090 bytes. Smallest app partition is 0x100000 bytes. 0xd8f70 bytes (85%) free.
Project build complete. To flash, run this command:
/home/tom/.espressif/python_env/idf5.0_py3.10_env/bin/python
    ../esp-idf/components/esptool_py/esptool/esptool.py -p (PORT) -b 460800
    --before default_reset --after hard_reset --chip esp32c3  write_flash --flash_mode dio
    --flash_size 2MB --flash_freq 80m 0x0 build/bootloader/bootloader.bin
    0x8000 build/partition_table/partition-table.bin 0x10000 build/blink.bin
or run 'idf.py -p (PORT) flash'
[tom@trona blink]$
Tom's Computer Info / tom@mmto.org