0
すべてのコードファイルがサブディレクトリcode/
にあるように私のプロジェクトを編成しました。メインディレクトリに1つ、サブディレクトリにcode/
という2つのMakefileがあります。ファイルが作成されるフォルダをMakefileに設定するにはどうすればよいですか?
メインディレクトリ内のMakefileが(that postに小道具を)含まれています。私は今、メインからmake
を実行している場合は
exe: $(OBJECTS)
$(CC) $(CFLAGS) -o [email protected] $^ -fopenmp -lpng
%.o: %.c
$(CC) $(CFLAGS) -c $<
:code/
サブディレクトリに
# .PHONY rule means that project_code is not a file that needs to be built
.PHONY: project_code
project_code:
$(MAKE) -C $(CODE_DIR)
clean:
$(MAKE) -C $(CODE_DIR) clean
all: exe
Makefileはのようなものが含まれていますディレクトリのexe
ファイルはcode/
サブディレクトリに作成されますが、メインディレクトリに置いておきたいと思います。私の質問:これをどのように達成できますか?
最初は 'export ...'を理解できませんし、 '@ $(CC) '' $(CC) 'の代わりに....?しかし、あなたは間違いなく私を助けました、それは私が必要なインスピレーションでした! – Alf
'export'は通常、一つのmakeが他のMakefileから呼び出される大きなビルドシステムで使われます。 'export'はすべてのネストされたmake呼び出しで変数を利用できるようにします。ターゲットの '@' beforeコマンドは、コマンドの 'echo'(デフォルトではprintコマンドを実行前に行い、 '@'はこのプリントをオフにします) –
明確な説明のためにありがとう:) – Alf