make file issue : always spits out "Nothing to be done for `make.w'."
I have 3 files Head.cpp , Head.h and Hello.cpp . I am trying to build a make for the compilation process. My makefile is make.w
Hello : Head.o Hello.o
g++ -o Head.o Hello.o
Head.o : Head.cpp
g++ -o Head.cpp
Hello.o: Hello.cpp
g++ -o Hello.cpp
every time I type the command make make.w - I get " Nothing to make fot ma开发者_Go百科ke.w" . I dont get why this is happening and how to resolve the same.
Since you are calling the make with a non-default make file which is makefile or Makefile you need to use the -f option as:
make -f make.w
^^
Looks like you are currently calling it as:
make make.w
which does not work. It tell make to make the target make.w in the default makefile.
Also When converting from .c to .o you need to use the -c compiler flag which tells the compiler to just compile but don't link. Also when using -c you don't need -o, the compiler will generate the <filename>.o for you.
Head.o : Head.cpp
g++ -c Head.cpp
^^
Hello.o: Hello.cpp
g++ -c Hello.cpp
^^
And finally you are missing the name of the executable Hello on the compile line:
Hello : Head.o Hello.o
g++ -o Head Head.o Hello.o
^^^^
make make.w means "Make target make.w in default makefile named Makefile".
You want to specify your makefile, so you want make -f make.w
You need a -f in front of the makefile name.
make -f make.w
You may want to specify the target to be built as well
make -f make.w Hello
加载中,请稍侯......
精彩评论