Sí, se puede utilizar la redirección de la cáscara para escribir las variables en al archivo de origen:
VAR1=foobar
all:
@echo "char *variable1 = \"$(VAR1)\"" > generated.c
(el signo @ no está aquí para tener el comando echo mostrada por marca).
EDIT: No sé cuál es su intención aquí, pero podría ser más fácil de pasar las variables Makefile al compilador como macro:
VAR="toco.conf"
CFLAGS = -DVAR='$(VAR)'
all:
gcc $(CFLAGS) prog.c
con ser prog.c:
#include <stdio.h>
int main(int ac, char **av)
{
printf("%s\n", VAR);
exit(0);
}
ver este [pregunta] (http://stackoverflow.com/questions/1327998/calling-sed-for-a-source-in-makefile-am) de cómo se puede usar sed en un archivo MAKE. – kgiannakakis