make 안에서 '$'출력하는 방법
shell 상태에서는
cat ../../include/config.h | grep '^#define' | awk '/#define/{ print $2=Y" }'
하면
config.h에 있는 #define XXXX 가
XXXX="Y"
식으로 MACRO변수로 변환이 되는데
이걸
Makefile안에서
all : config
config :
cat ../../include/config.h | grep '^#define' | awk '/#define/{ print $2=Y" }'
식으로 하면
=Y
으로 됩니다.
하면
=Y
=Y
=Y
=Y
로만 나옵니다.
일단 #define을 원하는 대로 Make MACRO변수로 만들는 shell script를 호출하는 것으로 처리하긴 했는데,
바로 할 수는 없지는 궁금하네요.
config :
@cat ../../include/config.h | grep '^#define' | awk '/#define/{ print $$2"=Y" }'
또는
all : config
config :
@awk '/^#define/{ print $$2"=Y" }' config.h