Let's make one thing straight - the clean target shouldn't remove the target binary. The distclean one should.