makefile 變數實例一

  1. 複製 makefile 成 makefile1,並設定 CC CFLAGS OBJS 三個變數。若要改變編譯器命令,只需改變 CC 變數,改變編譯旗標變數 CFLAGS 就能統一變更編譯選項,OBJS 變數指定所有的 .o 檔。
    [dywang@dyw219 make1]$ cp makefile makefile1
    [dywang@dyw219 make1]$ vim makefile1
    [dywang@dyw219 make1]$ cat makefile1
    CC = gcc
    CFLAGS = -Wall
    OBJS = main.o 2.o 3.o
    
    main: $(OBJS)
    main.o: main.c a.h
    	$(CC) $(CFLAGS) -c main.c
    2.o: 2.c a.h b.h
    	$(CC) $(CFLAGS) -c 2.c
    3.o: 3.c b.h c.h
    	$(CC) $(CFLAGS) -c 3.c
    clean:
    	rm -f $(OBJS)
    
  2. 執行結果:
    [dywang@dyw219 make1]$ make -f makefile1 clean main
    rm -f main.o 2.o 3.o
    gcc -Wall -c main.c
    gcc -Wall -c 2.c
    gcc -Wall -c 3.c
    gcc   main.o 2.o 3.o   -o main