0

特別なフラグを使用するための専用ルールを持つファイルが必要です。今私は使用します

$(OBJDIR)/%.$(OE): special_file.c
    $(ECHO) "Compiling file $< => $@" 
    $(CC)  $(CFLAGS) $(CFLAGS_SPECIAL) $(DEFINES) $(INCLUDE) $< -o $@

$(OBJDIR)/%.$(OE): %.c $(OBJDIR)
    $(ECHO) "Compiling file $< => $@" 
    $(CC)  $(CFLAGS) $(DEFINES) $(INCLUDE) $< -o $@

しかし、special_file.c では機能しません。パスが不明のようですが、特別なルールをコメントしてすべてのファイルを作成させると、ファイルは正常にコンパイルされます。

1つのファイルだけのルールにmakeを流用するには?

よろしくお願いします。

4

2 に答える 2

3

ターゲット固有の変数値を使用する必要があります:

$(OBJDIR)/special_file.$(OE): CFLAGS += --specific_flags
$(OBJDIR)/special_file.$(OE): special_file.c

$(OBJDIR)/%.$(OE): %.c $(OBJDIR)
    $(ECHO) "Compiling file $< => $@" 
    $(CC)  $(CFLAGS) $(DEFINES) $(INCLUDE) $< -o $@
于 2013-07-31T15:18:09.273 に答える