nuttx/libs/libc/misc
Liam Hickey 13ba91a33f arch/*/src/Makefile: Avoid uncessary relinking of the nuttx binary.
The goal is to only execute recipes when there is an actual change in
the prerequisites.

There are several issues which cause the nuttx binary target to be
re-made every time the top level make is run.

1. Previously the target nuttx$(EXEEXT), was used, but make resolved
this in the relative directory make -C $(ARCH_SRC), and couldn’t find
it (need an absolute path: `$(TOPDIR)/..).

2. The .tmp prerequisite for nuttx was always deleted

3. libboard's recipe had a sub-make which may or may not update that
target. This was a phony target, and was therefore always considered out
of date.

These issues were causing the nuttx recipe to be run every make, which
was hiding some missing prerequisites:

1. the .config is a prerequisite for the .tmp target
2. libapps.a (and other linklibs) are pre-requisites for nuttx

Changes:

The changes are only in the build system, and only for arm.

Track nuttx$(EXEEXT) via vpath so Make knows when it's already up to
date without an explicit path. Add $(TOPDIR)/.config as a dependency
to the linker script preprocessing so config changes trigger
re-preprocessing.

Keep the .tmp linker script on disk (clean already removes it) so
timestamp-based dependency checking works across builds. These .tmp
files need to be added to the gitignore or the CI will complain.

Use FORCE pattern for board/libboard to ensure it's always checked
but use the actual library file as the link dependency so nuttx is
only re-linked when library content changes. Add staging libs as
dependency to nuttx link rule so changed app libs trigger re-link.

Signed-off-by: Liam Hickey <williamhickey@geotab.com>
2026-05-18 09:33:58 +02:00
..
CMakeLists.txt libs/crc: implement AUTOSAR-compatible CRC algorithm 2026-01-30 17:32:15 +08:00
Kconfig libs/libc: add configurable skip count for mutex backtrace addresses 2026-02-27 19:54:37 +08:00
lib_backtrace.c lib/backtrace:need init lock before use 2025-12-22 15:23:04 +08:00
lib_bitmap.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lib_circbuf.c circbuf: fix circbuf_get_read/writeptr return *size = 0 when circbuf full 2024-10-16 16:59:51 +08:00
lib_crc8.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_crc8ccitt.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_crc8h1d.c libs/crc: implement AUTOSAR-compatible CRC algorithm 2026-01-30 17:32:15 +08:00
lib_crc8h2f.c libs/crc: implement AUTOSAR-compatible CRC algorithm 2026-01-30 17:32:15 +08:00
lib_crc8rohc.c libc/crc: Add crc8rohcincr for incremental CRC8 ROHC calculation 2025-09-30 17:30:46 -03:00
lib_crc8table.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_crc16.c libs/libc/crc16: Separate implementation of crc16xmodem from crc16 2025-04-10 16:47:28 +08:00
lib_crc16ccitt.c libs/libc/crc16: move crc16 table to rodata 2025-04-07 09:02:01 +08:00
lib_crc16h1021.c libs/crc: implement AUTOSAR-compatible CRC algorithm 2026-01-30 17:32:15 +08:00
lib_crc16h8005.c libs/crc: implement AUTOSAR-compatible CRC algorithm 2026-01-30 17:32:15 +08:00
lib_crc16ibm.c libs/libc/crc16: add support of CRC-16/ANSI(aka CRC-16/IBM) 2025-04-07 12:10:05 +08:00
lib_crc16xmodem.c libs/libc/crc16: Separate implementation of crc16xmodem from crc16 2025-04-10 16:47:28 +08:00
lib_crc32.c libc/arm: optimize crc32/crc32c for arm 2025-04-04 09:51:50 -03:00
lib_crc32h04c11db7.c libs/crc: implement AUTOSAR-compatible CRC algorithm 2026-01-30 17:32:15 +08:00
lib_crc32hf4acfb13.c libs/crc: implement AUTOSAR-compatible CRC algorithm 2026-01-30 17:32:15 +08:00
lib_crc64.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_crc64emac.c libs/crc: implement AUTOSAR-compatible CRC algorithm 2026-01-30 17:32:15 +08:00
lib_creat.c libc: add creat function implementation 2026-01-16 01:38:20 +08:00
lib_cxx_initialize.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
lib_debug.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
lib_dumpbuffer.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
lib_dumpvbuffer.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
lib_envpath.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lib_err.c lib_libvsprintf.c:add option in Kconfig to control "%p*" special format specifier. 2024-10-15 15:33:13 +08:00
lib_fchmodat.c Use lib_get_pathbuffer instead of stack variables 2024-11-12 17:21:42 +08:00
lib_fdcheck.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
lib_fdsan.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
lib_fnmatch.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_fstatat.c Use lib_get_pathbuffer instead of stack variables 2024-11-12 17:21:42 +08:00
lib_ftok.c libs/libc/ftok: fix sizeof(char *), after tempbuffer 2026-01-13 01:59:58 +08:00
lib_getfullpath.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_getnprocs.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_getrandom.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_glob.c libs: unify Private Types banners 2025-05-28 10:17:15 +08:00
lib_idr.c libc/idr: Remove nodes from RB trees during destroy 2025-07-12 14:24:32 +08:00
lib_impure.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_instrument.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lib_kbddecode.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
lib_kbdencode.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_mallopt.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_memfd.c libc/shmfs: Ensure uniqueness of memfd. 2026-01-22 22:11:17 +08:00
lib_mkdirat.c Use lib_get_pathbuffer instead of stack variables 2024-11-12 17:21:42 +08:00
lib_mkfifo.c Use lib_get_pathbuffer instead of stack variables 2024-11-12 17:21:42 +08:00
lib_mknod.c Use lib_get_pathbuffer instead of stack variables 2024-11-12 17:21:42 +08:00
lib_mutex.c libs/libc: add configurable skip count for mutex backtrace addresses 2026-02-27 19:54:37 +08:00
lib_ncompress.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lib_note.c driver/note: Fix compilation error when CONFIG_SYSLOG_TO_SCHED_NOTE=y 2026-01-23 07:48:08 -03:00
lib_openat.c Use lib_get_pathbuffer instead of stack variables 2024-11-12 17:21:42 +08:00
lib_slcddecode.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
lib_slcdencode.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_tea_decrypt.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_tea_encrypt.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_tempbuffer.c libs/lib_tempbuffer: set errno when fails 2025-01-17 08:16:14 +08:00
lib_uadd32x64.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_uadd64.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_umask.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_umul32.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_umul32x64.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_umul64.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_usub64.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_usub64x32.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_utimensat.c Use lib_get_pathbuffer instead of stack variables 2024-11-12 17:21:42 +08:00
lib_utsname.c libc/utsname: Only store version in RAM, use rodata for all others 2024-10-12 15:36:28 +08:00
lib_xorshift128.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
Make.defs arch/*/src/Makefile: Avoid uncessary relinking of the nuttx binary. 2026-05-18 09:33:58 +02:00