0

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

1 に答える 1

0

それは実際にはヘビーヒッターではなくヘビーヒッターになるはずだった

于 2012-10-03T05:27:28.297 に答える