私はこの既製のmakefileを使用しています。アプリケーションに追加した2つのファイルにheavyhitter.oとheavyhitter.hを追加しようとしましたが、動作させることができません。私はmetadata_record.hとmetadata_record.oを問題なく追加しましたが、同じ領域に追加しているので、以前は機能したのかわかりませんが、現在は機能していません。
CC = $(shell if test -f /opt/local/bin/gcc-mp-4.7; then \
エコーgcc-mp-4.7; それ以外の場合はgccをエコーします。fi)
CFLAGS = -std = gnu99 -g -W -Wall -O0 -gstabs -Iglib-2.0 -lglib-2.0
TESTS = $(patsubst%.c、%、$(sort $(wildcard test [0-9] [0-9] [0-9] .c)))
%.o:%。cm61.hメモリ.hmetadata_record.hheavyhitters.h
$(CC)$(CFLAGS)-o $ @ -c $
すべて:$(TESTS)hhtest
@echo"***'makecheck'または'makecheck-all'を実行して作業を確認してください。"
test%:test%.o m61.o memory.o Metadata_record.o Heavyhitters.o
$(CC)$(CFLAGS)-o $ @ $ ^
test017:test017-help.o
hhtest:hhtest.o m61.o memory.o Metadata_record.o Heavyhitters.o
$(CC)$(CFLAGS)-o $ @ $ ^ -lm
チェック:$(TESTS)$(patsubst%、check-%、$(TESTS))
@echo "***すべてのテストが成功しました!"
すべてチェック:$(TESTS)
@ x = true; $(TESTS);のiの場合 $(MAKE)チェックを行う-$$ i || x = false; 終わり; \
$$xの場合; 次にecho"***すべてのテストが成功しました!"; fi; $$ x
check-test%:test%
@test -d out || mkdir out
@rm -f out / test$*。fail
@ -sh -c "./$^> out / test $*。output2>&1"> / dev / null 2>&1; true
@perl compare.pl out / test$*。outputtest$*。ctest$ *
綺麗:
rm -f $(TESTS)hhtest * .o
rm -rf out
MALLOC_CHECK_ = 0
MALLOC_CHECK_をエクスポートします
.PRECIOUS:%。o
.PHONY:すべてのクリーンチェックチェック-%準備チェック