複数の静的ライブラリを含むプロジェクトを開発しています。私がそれらを構築する方法は常に同じです。これらのルールをすべてのライブラリで再利用し、各ライブラリでコピー&ペーストを行わないようにする方法を知りたいです。'foo'ライブラリを構築する例を次に示します。
# inputs
#
FOO_LIB_NAME := libfoo.a
FOO_SRC_DIR := $(SRC_DIR)/foo
FOO_SRC_FILES := \
foo_file1.cc \
subdir/foo_file2.cc \
subdir/foo_file3.cc \
...
FOO_CFLAGS :=
# rules
#
FOO_SRC_FILES := $(addprefix $(FOO_SRC_DIR)/,$(FOO_SRC_FILES))
FOO_OBJ_FILES := $(subst .cc,.o,$(FOO_SRC_FILES))
$(FOO_LIB_NAME): $(FOO_OBJ_FILES)
$(AR) rc $@ $^
$(FOO_OBJ_FILES): %.o: %.cc
$(CXX) $(COMMON_CFLAGS) $(FOO_CFLAGS) $< -o $@
さらに、以前のコードの抜粋についてコメントがあれば、喜んでお知らせします。私はMakefileを書くのはまったく新しいです。
前もって感謝します