2014-04-29 60 views
1

必需條紋執行如下生成文件,匿名rm命令在Makefile最後

PCS=$(wildcard $(PC)/*.pc) 
SRCS=$(PCS:$(PC)/%.pc=$(SRC)/%.cpp) 
OBJS=$(SRCS:$(SRC)/%.cpp=$(OBJ)/%.o) 

f2db : $(OBJS) 
    $(CC) $(INCS) $(LIBS) $(FLAGS) $(OBJS) f2db.cpp -o [email protected] 

$(OBJ)/%.o : $(SRC)/%.cpp 
    $(CC) $(INCS) $(FLAGS) -c $< -o [email protected] 

$(SRC)/%.cpp : $(PC)/%.pc 
    $(PROC) $< CODE=CPP CPP_SUFFIX=cpp INCLUDE=inc INCLUDE=/usr/include 
    mv $(PC)/*.cpp $(SRC) 

在使用gmake命令調用所有是如預期,除了在最後的刪除命令。最後兩行輸出如下

gmake: warning: Clock skew detected. Your build may be incomplete. 
rm src/fileName.cpp 

使用的工具在Solaris OS中使用GNU Make 3.80,爲什麼會發生這種情況?

回答

1

時鐘歪斜警告很可能是因爲您正在建立的目錄是使用類似NFS等的遠程系統進行掛載的,並且遠程文件系統的時鐘與本地系統時鐘不同步。無論如何,這與rm命令無關。

rm命令正在發生,因爲src/fileName.cppintermediate file,中間文件在構建完成後被make刪除。

如果你不希望他們被刪除,只是聲明他們作爲規則的先決條件,使他們沒有中間不再:

f2db : $(OBJS) $(SRCS) 
+0

感謝你,因爲工作 – Dinesh