私はこの既製の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:すべてのクリーンチェックチェック-%準備チェック