役に立ちましたか?

解決 2

問題の回避策を見つけました。これにより、少なくとも安心して作業できます。

問題は、 $(wildcard)関数を使用してソースファイルを収集したことです。ただし、私のクリーンルールはディレクトリを削除するだけです。収集する必要はありません。したがって、基本的にソースファイルを収集する必要があるMakefileの一部を条件ステートメントに入れます。

# The clean rule is always parsed
clean:
    rm -rf $(OUTPUT_DIRECTORY)

# The compile rule is only interpreted if we did not invoke 'make clean'. We
# can test the value of $(MAKECMDGOALS) for that:
ifeq ($(filter $(MAKECMDGOALS),clean),)

SOURCE_FILES := $(wildcard ...)

compile:
    g++ $(SOURCE_FILES) ...

endif
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top