2013-06-11 1 views
0

Makefile을 사용하여 SDL 프로그램을 컴파일 중입니다. 일반적으로 나는과 같이 gcc 내 SDL 프로젝트를 컴파일 할 수GNU make shell 함수에서 인수에 인수를 전달하는 방법은 무엇입니까?

# gcc -c test.c `sdl-config --cflags` 
# gcc -o test test.o `sdl-config --libs` 
# ./test 

을 나는 문제 그러나 내 메이크에 sdl-config을 실행하는 데 문제가 있습니다.

CFLAGS := $(shell sdl-config --cflags) 
LDFLAGS := $(shell sdl-config --libs) 

test : test.o 
    gcc $(CFLAGS) $(LDFLAGS) -o test test.o 
test.o: 

을하지만이 sdl-config 사용 라인 다시보다는 각각의 출력을 점점 계속 : 이것은 내가 가지고있는 것입니다. 인수 (--cflags--libs)가 sdl-config으로 전달되지 않은 것 같습니다.

shell 함수에 인수를 전달하는 방법은 무엇입니까? 저의 최종 목표를 달성하기위한 더 좋은 방법이 있습니까?

답변

1

당신이하고있는 일이 정확합니다. 명령 줄에서 "sdl-config --cflags"를 실행하면 작동합니까? 아니면 사용 줄이 있습니까? 스크립팅 문제를 디버그하는 가장 좋은 방법은 쉘 프롬프트에서 스크립트를 실행하는 것입니다. 그것이 거기서 작동한다면 make에서도 작동 할 것입니다.

+0

커맨드 라인에서'sdl-config --cflags'를 실행하면 사용 라인이 아닌 올바른 출력을 얻습니다. 나는 실제 메이크 파일에서'make '를 버리는 숨겨진 캐릭터가 있는지 궁금하다 - 나는 그것을 살펴볼 것이다. –

+0

동일하게 보입니다. 'make' 명령은'gcc'에 도달하기 전에 CFLAGS의 값을 스스로 볼 수있게할까요? –

+0

죄송합니다. 오타되었습니다! '--clags'보다는'--clags'를 썼습니다. –

관련 문제