make utility에 대한 질문입니다...
글쓴이: selic / 작성시간: 화, 2004/09/07 - 12:42오후
장황하게 써야 겠네요..흠..
[main.c]
extern void bar(void);
extern void car(void);
int main(void)
{
bar();
car();
return(0);
}
[bar.c]
#include <stdio.h>
void bar(void)
{
printf("good bye, my love.\n);
}
[car.c]
#include <stdio.h>
void car(void)
{
printf("hello.\n);
}
이렇게 세개의 .c를 만든후..
Makefile를 만들어서
foo: main.o bar.o car.o
gcc -o foo main.o bar.o car.o
main.o: main.c
gcc -c main.c
bar.o: bar.c
gcc -c bar.c
car.o: car.c
gcc -c car.c
이렇게 해서 저장한후...
해당 폴더에서 #make 를 입력하면..-_- 링크가 되어야 하구...
foo가 생겨서 실행해야 하는데..으윽..
#make 하면
makefile2: ***missing separator. 멈춤
이라고 나오는데...제 생각엔 makefile의 2번째줄이 잘못되었어..
인데.. 해답을 모르겠습니다.
Forums:
텝(tab)으로 띄우셨는지요?
foo: main.o bar.o car.o
(TAB)gcc -o foo main.o bar.o car.o
main.o: main.c
(TAB)gcc -c main.c
bar.o: bar.c
(TAB)gcc -c bar.c
car.o: car.c
(TAB)gcc -c car.c
명령줄에 TAB을 띄우지 않으면 안되는걸로 알고 있습니다.
OTL 즐!!!! (좌절 금지!!!)
감사합니다...
두개의 질문을 했는데...정말 빠르고..정확한..
답변 감사드립니다...
꾸벅...
Re: 텝(tab)으로 띄우셨는지요?
아시겠지만,
는
로 간단히 할 수 있습니다.
사실... 위 두 문장은 필요하지도 않습니다. Make 내장 룰에 이미 포함되어 있으니까요.
따라서 원래 Makefile 은 그냥 다음 두줄로 끝낼 수 있습니다.
make 의 내장 룰을 보고 싶으시면
make -p -f - < /dev/null 2> /dev/null
로 확인하시면 되겠습니다.
즐겁게 살아 볼까나~*
저 물어볼것이 있습니다.
freezm7님의 글 중
make -p -f - < /dev/null 2> /dev/null
부분을 해봤는데요.
make: *** No rule to make target `2'. Stop.
이런 메세지가 나오네요.
저두 make는 초보라서 어떻게 해야할지 잘 모르겠습니다.
답변 부탁드립니다.
OTL 즐!!!! (좌절 금지!!!)
ulra님, 사악한 C 쉘을 버리고 본 쉘을 쓰세요. :-)mak
ulra님, 사악한 C 쉘을 버리고 본 쉘을 쓰세요. :-)
make와는 별 상관이 없구요, ulra님 쓰시는 쉘이 2>를 인식 못 하는 것 같네요.
--feanor
답변 감사드립니다. ^^
근데 어떻게 아셨나요? 제가 csh 을 쓰는 것을.... ^^;;
감사드리고요.
csh 이 사악하다고 하셨는데, 시간이 나시면 이유 좀 알려주시면
안될까요? ^^;;;
좋은 하루 되세요.
OTL 즐!!!! (좌절 금지!!!)
댓글 달기