2017-07-31 6 views
0

は私の問題であるメイクファイル、サブディレクトリを持つパターンルールここでの唯一の第1の依存で動作

SOURCES_FUNCTIONS=cJSON.c parallelisationUtilities.c 
$(BUILD_DIR)/%.o : $(SOURCE_DIR)/%.c  
    $(CC) $(CFLAGS) -c $< -o [email protected] $(IFLAGS) 

メイク:*** Aucunerèglefabriquerラcible«parallelisationUtilities.o»を注ぎ、nécessaireは«ビルド/ mainFunctionを注ぎます»。 SOURCES_FUNCTIONSにcJSON.c前parallelisationUtilities.cを配置することにより

Arrêt、私はcJSON.oと同じエラーを取得します。フォア必ず、何も不足しているファイルが存在しない。..

++ マイケル

答えて

1

あなたはメイクファイルの十分を示さなかった:あなたは、ターゲットの前提条件として、オブジェクト・ファイルを一覧表示されているものである最も重要な部分を残し。

私はあなたがこのような何かを持っている賭ける:それは最初のファイルのみに$(BUILD_DIR)を追加しますので、間違っている

xxxx: $(BUILD_DIR)/$(SOURCES_FUNCTIONS:.c=.o) 

$(SOURCES_FUNCTIONS:.c=.o)の拡大が得られます。

xxxx: $(patsubst %.c,$(BUILD_DIR)/%.o,$(SOURCES_FUNCTIONS)) 

BUILD_DIRプレフィックスとなるよう、すべてのファイル:あなたはこのようなものを使用する必要が

xxxx: $(BUILD_DIR)/cJSON.o parallelisationUtilities.o 

を。

0
$(BUILD_DIR)/$(EXEC_MAINFUNCTION): $(patsubst %.o,$(BUILD_DIR)/%.o,$(OBJECTS_FUNCTIONS)) $(patsubst %.o,$(BUILD_DIR)/%.o,$(OBJECTS_FUNCTIONS_NOT_TO_CLEAN)) $(patsubst %.o,$(BUILD_DIR)/%.o,$(OBJECT_MAINFUNCTION)) 
    $(CC) $^ -o [email protected] $(LDFLAGS) 

$(BUILD_DIR)/%.o : $(SOURCE_DIR)/%.c 
    $(CC) $(CFLAGS) -c $< -o [email protected] $(IFLAGS) 

ありがとうございました。

+0

もっと簡単なIMOは '$(addprefix $(BUILD_DIR)/、$(OBJECTS_FUNCTIONS)$(OBJECTS_FUNCTIONS_NOT_TO_CLEAN)$(OBJECT_MAINFUNCTION))' – MadScientist

関連する問題