यह मेरा Makefile है:क्यों सोचते हैं कि लक्ष्य अद्यतित है?
REBAR=./rebar
REBAR_COMPILE=$(REBAR) get-deps compile
all: compile
compile:
$(REBAR_COMPILE)
test:
$(REBAR_COMPILE) skip_deps=true eunit
clean:
-rm -rf deps ebin priv doc/*
docs:
$(REBAR_COMPILE) doc
ifeq ($(wildcard dialyzer/sqlite3.plt),)
static:
$(REBAR_COMPILE) build_plt analyze
else
static:
$(REBAR_COMPILE) analyze
endif
मैं make compile
कई बार चलाने के लिए और प्राप्त
[email protected]:~/workspace/gm-controller/lib/erlang-sqlite$ make compile
./rebar get-deps compile
==> erlang-sqlite (get-deps)
==> erlang-sqlite (compile)
हालांकि कर सकते हैं, make test
चल किसी कारण से हमेशा देता
[email protected]:~/workspace/gm-controller/lib/erlang-sqlite$ make test
make: `test' is up to date.
भले ही फ़ाइलें हैं संकलित नहीं सवाल यह है, क्यों?
समान आदेश चल रहा है सीधे काम करता है:
[email protected]:~/workspace/gm-controller/lib/erlang-sqlite$ ./rebar get-deps compile skip_deps=true eunit
==> erlang-sqlite (get-deps)
==> erlang-sqlite (compile)
Compiled src/sqlite3_lib.erl
Compiled src/sqlite3.erl
==> erlang-sqlite (eunit)
...
मेरे पास बिल्ड नामक एक निर्देशिका थी और दूसरा जिसे lib कहा जाता था। अंत में, ये सही लक्ष्य नाम नहीं हैं। ओह ..... बनाते हैं। – MattD
* जहां 'all',' test', और 'clear' आपके मेकफ़ाइल लक्ष्य नाम हैं – ThorSummoner
एक और समाधान लेबल बदल रहा है। अपने मामले में, 'test_rule' या कुछ अलग के लिए 'test' बदलें। – auraham