| C, C++のコンパイル | |
|---|---|
| %.o: %.c | $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c -o $@ $< |
| %.o: %.cc | $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c -o $@ $< |
| %.o: %.C | $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c -o $@ $< |
| %.o: %.cpp | $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c -o $@ $< |
| リンク | |
| %: %.o | $(CC) $(LDFLAGS) $(TARGET_ARCH) $^ $(LOADLIBES) $(LDLIBS) -o $@ |
| C, C++ソースから実行バイナリまで一気通貫 | |
| %: %.c | $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH) $^ $(LOADLIBES) $(LDLIBS) -o $@ |
| %: %.cc | $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH) $^ $(LOADLIBES) $(LDLIBS) -o $@ |
| %: %.C | $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH) $^ $(LOADLIBES) $(LDLIBS) -o $@ |
| %: %.cpp | $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH) $^ $(LOADLIBES) $(LDLIBS) -o $@ |
| おまけ1 | |
| %.ln: %.c | $(LINT) $(LINTFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -C$* $< |
| おまけ2 | |
| %.p: %.web | $(TANGLE) $< |
| %.tex: %.web | $(WEAVE) $< |
| %.c: %.w | $(CTANGLE) $< - $@ |
| %.tex: %.w | $(CWEAVE) $< - $@ |
ちなみに、これらのルールで使用するデフォルトのツールは以下の通り。
CC = cc
CXX = g++
LINT = lint
TANGLE = tangle
WEAVE = weave
CTANGLE = ctangle
CWEAVE = cweave
0 件のコメント:
コメントを投稿