I have a Makefile that looks like this
CXX = g++ -O2 -Wall
all: code1 code2
code1: code1.cc utilities.cc
$(CXX) $^ -o $@
code2: code2.cc utilities.cc
$(CXX) $^ -o $@
What I want to do next is to include clean target so that every time
I run make it will automatically delete the existing binary files of code1 and code2 before creating the new ones.
I tried to put these lines at the very end of the makefile, but it doesn’t work
clean:
rm -f $@
echo Clean done
What’s the right way to do it?
In makefile language
$@means “name of the target”, sorm -f $@translates torm -f clean.You need to specify to
rmwhat exactly you want to delete, likerm -f *.o code1 code2