cube.c
은 폴더 큐브에 저장됩니다. makefile은 다음과 같습니다.메이크 파일에서 확장이 무시됩니까?
LDFLAGS=-lglut -lGLU
all: cube
다음 질문을 해결할 수있는 사람이 있습니까?
cube
은 cube.c를 의미합니까?cube
에 확장자가없는 이유는 무엇입니까.c
?all: cube
다음에 명령이없고LDFLAGES
이 사용되지 않습니다. 이런 식으로 왜 쓸 수 있습니까?
cube.c
은 폴더 큐브에 저장됩니다. makefile은 다음과 같습니다.메이크 파일에서 확장이 무시됩니까?
LDFLAGS=-lglut -lGLU
all: cube
다음 질문을 해결할 수있는 사람이 있습니까?
cube
은 cube.c를 의미합니까? cube
에 확장자가없는 이유는 무엇입니까 .c
?
all: cube
다음에 명령이없고 LDFLAGES
이 사용되지 않습니다. 이런 식으로 왜 쓸 수 있습니까?
큐브는 cube.c를 의미합니까? 왜 큐브에는 .c 확장자가 없습니까?
결과 실행 파일의 이름입니다.
줄 다음에 명령이 없습니다. 큐브 : LDFLAGES는 이 아닙니다.
LDFLAGS
는 (링커 실행 아니요 자동으로 이루어진다 형태 $(CC) $(CPPFLAGS) $(CFLAGS) -c
N의 레시피
없음 NC로부터 자동적으로 이루어진다 묵시적 규칙에 사용 보통
(ld)를 C 컴파일러를 통해 호출합니다.$(CC) $(LDFLAGS) n.o $(LOADLIBES) $(LDLIBS)
이 implicit rules를 참조하십시오 사용 된 정확한 조리법이다.
cube
은 실행 파일 자체입니다. make
에는 파일 .o
(CFLAGS
)을 사용하고 .o
파일 (LDFLAGS
사용)을 실행 파일에 연결하기위한 .c
파일을 컴파일하는 규칙이 내장되어있을 가능성이 높습니다. 따라서 LDFLAGS
을 제공하고 make
에 적어도 하나의 목표를 부여하고 그 목표는 일반적으로 all
라고합니다.
http://www.gnu.org/s/hello/manual/make/Implicit-Rules.html :
CC=cc CFLAGS= LDFLAGS=-lglut -lGLU all: cube cube: cube.o $(CC) $(LDFLAGS) cube cube.o cube.o: cube.c $(CC) $(CFLAGS) -c cube.c
는 GNU이 설명서에는 묵시적 규칙에 대한 섹션이 있는지 확인 : 사용자가 명시 적으로
make
추론 할 수있는 규칙을 작성하는 경우,이 같은이있을 것이다
어디서 이러한 암시 적 규칙을 찾을 수 있습니까? 나는 튜토리얼을 읽었지만 모두 명시적인 명령을 사용한다. – Sean
http://www.gnu.org/software/make/manual/html_node/Catalogue-of-Rules.html#Catalogue-of-Rules – user885074