makefile 隱含規則
Compiling C programs
n.o:n.c
$(CC) -c $(CPPFLAGS) $(CFLAGS)
Compiling C++ programs
n.cc:
n.C:
$(CXX) -c $(CPPFLAGS) $(CXXFLAGS)
target: $(OBJS)
$(CC) $(LDFLAGS) $(OBJS) $(LOADLIBES) $(LDLIBS)
1.關於命令的變量。
AR
函數庫打包程序。默認命令是“ar”。
AS
彙編語言編譯程序。默認命令是“as”。
CC
C語言編譯程序。默認命令是“cc”。
CXX
C++語言編譯程序。默認命令是“g++”。
CPP
C程序的預處理器(輸出是標準輸出設備)。默認命令是“$(CC) –E”。
RM
刪除文件命令。默認命令是“rm –f”。
2.下面的這些變量都是相關上面的命令的參數。如果沒有指明其默認值,那麼其默認值都是空。
ARFLAGS
函數庫打包程序AR命令的參數。默認值是“rv”。
ASFLAGS
彙編語言編譯器參數。(當明顯地調用“.s”或“.S”文件時)。
CFLAGS
C語言編譯器參數。
CXXFLAGS
C++語言編譯器參數。
COFLAGS
RCS命令參數。
CPPFLAGS
C預處理器參數。( C 和 Fortran 編譯器也會用到)。
LDFLAGS
鏈接器參數。(如:“ld”)