私はmakeファイルを書くことに比較的慣れていないので、いくつかのポインタを使うことができました。私が達成しようとしているのはおそらくかなり基本的なことですが、Web を検索した後、その方法を理解できません。
オブジェクト ファイルのセットを src ディレクトリからビルド ディレクトリにコンパイルしたいのですが、私の素朴な考えは、ソース ファイルのセットをマクロとして定義し、マクロ修飾子を使用してオブジェクト ファイルのマクロを作成することでした (これらがオブジェクト ファイル マクロを作成するための現在のスキームは次のようになります。
SRCDIR = /some/dir/
BUILDDIR = /some/dir/
CSRC = \
$(SRCDIR)f1.c \
$(SRCDIR)f2.c \
OSRC = $(CSRC,.c=.o,F,<$(BUILDDIR))
all:
@echo $(OSRC)
all ルールは、オブジェクト ファイル マクロが正しく設定されているかどうかを確認するために単純に挿入されます。残念ながらそうではなく、空です。交換する
OSRC = $(CSRC,.c=.o,F,<$(BUILDDIR))
に
OSRC = $(CSRC:.c=.o)
オブジェクトファイルのマクロを提供しますが、適切なディレクトリは提供しません。したがって、ファイルを変更して必要なものを取得する方法についての洞察をいただければ幸いです。(私は GNU Make 3.82 を使用しています)