Hi List!
Having three different clean targets in all the .nmake files doesn't
make any real sense and provides a permanent cause of trouble and confusion.
The differences in:
-clean
-maintainer-clean
-distclean
... sounds all very much over-engineered to me.
To be honest I don't even know what the different target differ on and
what they are intended for (and I guess most other Windows developers
won't know either).
... and to be honest I don't really want to know. My experience is
simple: Everything else than distclean doesn't work under some
circumstances and will cause a lot more work than it will save
Remember on Windows, someone building from the sources *is* a developer
(unlike Unix systems where it could be an educated user as well). If we
enforce every developer to provide all required tools, it's pretty
simpler to provide a single clean target which simply removes *all*
intermediate and target files - so after that you simply build from
scratch reliably.
So removing a lot of optionality in the Win32 build process and
documenting only a single target well is far better than providing a lot
of options which doesn't work at all combinations (and will never be
tested under all combinations) - and of course will never be documented
well - e.g. the maintainer-clean target was *never* documented for the
Windows platforms *at all*.
We should simply have a single clean target which is doing the job.
Everything else is just adding new complexity without gaining a lot more
comfort from it. Calling a maintainer-clean target just to know if it
doesn't work having to call the distclean target anyway just to make
sure, doesn't make a lot of sense (and in the long run won't save any
time IMHO).
So we should simply:
- remove the clean and maintainer-clean targets
- rename the distclean target into the "one and only" clean target
This will make the clean process a lot more robust and a lot less
confusing ...
Regards, ULFL