When I created makefile, I wrote
test: main.o 1.o
gcc -o test main.o 1.o
main.o: main.c a.h
gcc -c main.c
1.o: 1.c a.h
gcc -c 1.c
but I don't get why I use -o in the first line and -c in the second, third line.
What's the difference between them?