Package: make Version: 4.3-4 Severity: important X-Debbugs-Cc: d.caviedes.voulli...@fz-juelich.de
Dear Maintainer, Here is a minimal (Makefile.test) example to reproduce the problem, derived from a complex build of Kokkos on a system with Make4.3-4 TMP_FILE=test.tmp append_header = $(shell echo $1 >> $(TMP_FILE)) tmp := $(shell echo '\#if !defined(MYMACRO)' > $(TMP_FILE)) tmp := $(call append_header,'\#error "Do not include"') Running make -f Makefile.test produces a test.tmp file with the following content \#if !defined(MYMACRO) \#error "Do not include" The expected behaviour should have no \ before #. I edited one line in Makefile.test, removing the \ tmp := $(shell echo '#if !defined(MYMACRO)' > $(TMP_FILE)) and ran it again. This should produce an error, as the # would be interpreted as comment. It produces no error. The content of test.tmp is now #if !defined(MYMACRO) \#error "Do not include" Tests under Make4.2.1 and Make4.1 have no issues and behave as expected. -- System Information: Debian Release: bullseye/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 5.9.0-3-amd64 (SMP w/8 CPU threads) Kernel taint flags: TAINT_WARN Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages make depends on: ii libc6 2.31-4 make recommends no packages. Versions of packages make suggests: pn make-doc <none> -- no debconf information