Да, вы можете использовать перенаправление оболочки для записи переменных в исходный файл:
VAR1=foobar
all:
@echo "char *variable1 = \"$(VAR1)\"" > generated.c
(здесь знак @ не должен отображать команду echo с помощью make).
РЕДАКТИРОВАТЬ: я не знаю, каково ваше намерение здесь, но может быть проще передать переменные Makefile в компилятор как макрос:
VAR="toco.conf"
CFLAGS = -DVAR='$(VAR)'
all:
gcc $(CFLAGS) prog.c
с prog.c, равным:
#include <stdio.h>
int main(int ac, char **av)
{
printf("%s\n", VAR);
exit(0);
}