2
나는 GNU makefile에 어리석은 문제가있다. C 프로그램을 빌드하는 데 두 개의 목표를 정의하려고합니다. 하나는 디버깅 상태이고 다른 하나는 디버깅 상태가 아닙니다.Makefile 명령어의 변수 설정
runNoDebug: setNoDeb objs runMe
runDebug: setDeb objs runMe
setNoDeb:
{EXPORT} MyDEBUG= -O3
setDeb:
{EXPORT} MyDEBUG="-DDEBUG=1 -g"
objs: cFiles
$(CC) -o [email protected] $^ $(cFiles) $(CFLAGS) $(LIBS) $(MYDEBUG)
runme: objs
./oo
메이크 에러이 실행에 발생하는 디버깅을 설정하는 명령은 에러를 일으키는 서브 쉘을 실행한다. "내보내기"가 추가되면 해당 서브 쉘에 변수가 정의됩니다.
개체를 생성하는 동안이 변수를 makefile에서 정의하고 싶습니다.
가능합니까? 또는 "objs : cFiles"대상을 복제해야합니까?
의 중복 가능성 [내가 디버그 및 릴리스 내 메이크 파일을 구성하는 방법을 빌드?] (http://stackoverflow.com/questions/1079832/how-can-i-configure-my-makefile- 디버그 및 릴리스 빌드 용) – Mark