2012-02-16 49 views
0

我有這樣的:需要做多次爲了工作

include makefile_vars.mk 

# Target 
TARGET := $(OBJ)/$(TARGETNAME) 

# Move objects to ../Obj 
OBJECTS := $(addsuffix .obj,$(SOURCES)) 
override OBJECTS := $(OBJECTS:$(SRC)/%.obj=$(OBJ)/%.obj) 

# Objects o 
OBJ_INC_DIRS := $(sort $(dir $(OBJECTS))) 

# Target 
all: $(TARGET) 

$(TARGET): $(OBJECTS) 

# Objects 
$(OBJ)/%.c.obj: $(SRC)/%.c | $(OBJ_INC_DIRS) 
    @echo Compiling $(<F) ... 

$(OBJ)/%.a66.obj: $(SRC)/%.a66 | $(OBJ_INC_DIRS) 
    @echo Compiling $(<F) ... 

$(OBJ_INC_DIRS): 
    mkdir -p [email protected] 

我第一次啓動它,它說我沒有規則,使目標MyFile.c.obj,當再次運行(無需修改任何內容),找到規則並繼續編譯。

我在做什麼錯?

回答

1

我不知道這會工作,但我會提出$(OBJ_INC_DIRS)訂單隻能從模式規則前提的:

$(OBJECTS) : | $(OBJ_INC_DIRS) 

$(OBJ)/%.c.obj: $(SRC)/%.c 
    @echo Compiling $(<F) ... 

... 
+0

作品!謝謝:) – 2012-02-16 09:46:51

+0

@Arnaud,不客氣:-) – 2012-02-16 10:58:13