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 件のコメント:
コメントを投稿