[dywang@dyw219 make1]$ grep ^# main.c #include <stdlib.h> #include "a.h" [dywang@dyw219 make1]$ grep ^# 2.c #include <stdio.h> #include "a.h" #include "b.h" [dywang@dyw219 make1]$ grep ^# 3.c #include "b.h" #include "c.h"
main.o: main.c a.h 2.o: 2.c a.h b.h 3.o: 3.c b.h c.h
[dywang@dyw219 make1]$ gcc -MM main.c 2.c 3.c main.o: main.c a.h 2.o: 2.c a.h b.h 3.o: 3.c b.h c.h
[dywang@dyw219 make1]$ gcc -MM main.c 2.c 3.c >> makefile
[dywang@dyw219 make1]$ cat makefile main: main.o 2.o 3.o main.o: main.c a.h 2.o: 2.c a.h b.h 3.o: 3.c b.h c.h
[dywang@dyw219 make1]$ make cc -c -o main.o main.c cc -c -o 2.o 2.c cc -c -o 3.o 3.c cc main.o 2.o 3.o -o main
[dywang@dyw219 make1]$ ./main 2222