Re: How to define a newline Make variable to use with Automake?
Maxim Cournoyer <[email protected]> Tue, 02 Jun 2026 23:03:47 +0900
| Newsgroups | gmane.comp.sysutils.automake.general |
|---|---|
| Organization | Guixotic |
| Message-ID | <[email protected]> |
Hi again, Maxim Cournoyer <[email protected]> writes: > Hi, > > Make (not Automake) can use the following snippet to define a newline > variable: > > define newline > > > endef > > > Note the two empty lines (info "(make) Multi-Line"). > > I tried to use this trick with Automake, but it strips one line in the > generated Makefile. This is how I tried using it: > > # Produce a warning/hint in cases where the Guix-provided hooks won't be > # installed. > define NL > > > endef I found a trick that works: --8<---------------cut here---------------start------------->8--- override EMPTY := define NL $(EMPTY) endef --8<---------------cut here---------------end--------------->8--- This preserves the $(EMPTY) variable in the Makefile, which is expands to nothing, so that's fine. The warning messages were then split like this: --8<---------------cut here---------------start------------->8--- ifneq ($(GIT_CORE_HOOKS_PATH),) $(warning Not installing Guix-provided git hooks; global hooks path set$(NL)$\ tip: unset global git hooks path) @ENDIF@ ifeq ($(GIT_HOOKS_DIR),) $(warning Not installing Guix-provided git hooks; hooks dir not found$(NL)$\ tip: do not use container environment when using a git worktree) @ENDIF@ ifeq ($(GIT_CONFIG_FILE),) $(warning Not installing Guix-provided git configurations; \ git config file not found$(NL)$\ tip: do not use container environment when using a git worktree) @ENDIF@ --8<---------------cut here---------------end--------------->8--- The result looks like: --8<---------------cut here---------------start------------->8--- $ make git-hooks Makefile:8681: Not installing Guix-provided git hooks; hooks dir not found tip: do not use container environment when using a git worktree Makefile:8686: Not installing Guix-provided git configurations; git config file not found tip: do not use container environment when using a git worktree --8<---------------cut here---------------end--------------->8--- -- Thanks, Maxim