多重目標項目

  1. 可在 makefile 中建立多個目標項目,並於 make 時指定目標項目。例如:增加 clean 目標項目,移除不想要的目的檔,clean 冒號之後是空白,目標項目永遠會被認為過期,所以它的法則一定會被執行。
    [dywang@dyw219 make1]$ vim 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
    clean:
    	rm -f main main.o 2.o 3.o
    
  2. 測試目標項目 clean:
    [dywang@dyw219 make1]$ make clean 
    rm -f main main.o 2.o 3.o
    [dywang@dyw219 make1]$ ls
    2.c  3.c  a.h  b.h  c.h  main.c  makefile
    
  3. 再 make 建立 main 目標檔 
    [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
    
  4. 此時 main main.o 2.o 3.o 等目標檔已存在,make 可先清除目標檔再編譯程式 main。
    [dywang@dyw219 make1]$ make clean main
    rm -f main main.o 2.o 3.o
    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