make만 했다하면 .o가 이미 있다고 투덜투덜 대므로,
생성한 파일 .o zoo를 제거하는 것만 만들어 보자.
zoo: main.o dog.o cat.o tiger.o
gcc -o zoo main.o dog.o cat.o tiger.o
main.o: main.c
gcc -c main.c
dog.o: dog.c dog.h
gcc -c dog.c
cat.o: cat.c cat.h
gcc -c cat.c
tiger.o: tiger.c tiger.h
gcc -c tiger.c
clean:
rm -r *.o
rm -r zoo
make clean 하면 된다. make 한후 ls로 .o 및 zoo가 생성되는지 확인 make clean 한 이후에 ls로 .o 및 zoo가 사라지는지 확인 이제 좀 나아졌다.
뭔가 전문가 스럽다.
위의 잇점이외에 메시지를 보면 도움이 된다. 어느 부분에서 에러가 나는지.
zoo: main.o dog.o cat.o tiger.o
echo "Linking objects to create zoo..."
gcc -o zoo main.o dog.o cat.o tiger.o
main.o: main.c
echo "Compiling main.c into main.o..."
gcc -c main.c
dog.o: dog.c dog.h
echo "Compiling dog.c into dog.o..."
gcc -c dog.c
cat.o: cat.c cat.h
echo "Compiling cat.c into cat.o..."
gcc -c cat.c
tiger.o: tiger.c tiger.h
echo "Compiling tiger.c into tiger.o..."
gcc -c tiger.c
clean:
echo "Cleaning up object files and executable..."
rm -r *.o
rm -r zoo