diff options
Diffstat (limited to 'nrfdemo/build/mcuboot/zephyr/include/generated/app_smem.ld')
| -rw-r--r-- | nrfdemo/build/mcuboot/zephyr/include/generated/app_smem.ld | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/nrfdemo/build/mcuboot/zephyr/include/generated/app_smem.ld b/nrfdemo/build/mcuboot/zephyr/include/generated/app_smem.ld new file mode 100644 index 0000000..7b3eead --- /dev/null +++ b/nrfdemo/build/mcuboot/zephyr/include/generated/app_smem.ld @@ -0,0 +1,38 @@ +/* SPDX-License-Identifier: Apache-2.0 */ + +/* + * This hackish way of including files is due to CMake issues: + * https://gitlab.kitware.com/cmake/cmake/issues/11985 + * https://gitlab.kitware.com/cmake/cmake/issues/13718 + * + * When using the "Unix Makefiles" generator, CMake simply + * greps for "#include" to generate dependency list. + * So if doing it normally, both files are being included + * in the dependency list. This creates weird dependency + * issue: + * + * 1. Using A.ld to create a linker script A.cmd. + * 2. Using A.cmd to generate A_prebuilt.elf. + * 3. Using A_prebuilt.elf to create B.ld. + * 4. Creating B.cmd with B.ld. + * 5. Creating B_prebuilt.elf using B.cmd. + * + * Since the dependency list of A.cmd contains both + * A.ld and B.ld, when make is invoked again, B.ld + * is newer than A.cmd so everything from this point on + * gets rebuilt. In order to break this cycle, this + * hackish needs to be used since CMake does not parse + * macros, and thus these will not appear in + * the dependency list. The dependencies should then be + * put in CMakeLists.txt instead. + * + * Note: Ninja generator does not suffer from this issue. + */ +#ifdef LINKER_APP_SMEM_UNALIGNED +#define APP_SMEM_LD <app_smem_unaligned.ld> +#else +#define APP_SMEM_LD <app_smem_aligned.ld> +#endif + +#include APP_SMEM_LD +#undef APP_SMEM_LD |
