Its better to create your Makefile with fake targets for that sort of
thing.
You can then type:
make clean to remove all temp files
make all to do a total debug build
make flash to make the shipped result (yes it goes in a flash)
I don't trust processes that have different paths for
"development" and "manufacturing" targets. I prefer to have a
debug parm or equate that includes debug code, and delete all
generated code before building for manufacturing.
I use a combination of make files and batch files. There are some things
that make just doesn't do well. For these, a batch file that runs make
works better.
Make can be written like a batch file. Again, I don't like
different processes or paths through processes.
A GUI with only one button:
-------------------
! !
! ------- !
! ! DO IT ! !
! ------- !
! !
I sorta did that when I was designing FPGAs, though there were
several "DO IT" buttons (synthesize, place-n-route, burn prom,...).
I've only ever worked on one project that used purchased CVS tools. It
got totally screwed up. We had one "programmer" who would "get" a file,
copy it to his Mac and then "put" it back unchanged. Later he would "get"
the file and over write it from his Mac and "put" the new version. This
totally screwed things for everyone.
No software in the world will solve an out-of-control process.
OTOH, I don't understand how he "put" it back unchanged. CVS
doesn't update unchanged modules. At least with our version of CVS
this would work fine. If two people work on the same module and
make different changes it'll flag it as an issue and try to piece
the thing back together, showing what it did.
Since then it has been more like this:
Dave: I need to work on XYZ.A51
Ken: Ok here's a CD with it on
..... time passes ...
Dave: I'm done with XYZ.A51. Here's the changed version.
This along with making a full backup of the source at all important points
and always putting our names and the dates in the comments has worked well
for us.
That's the nice thing about CVS. If I want to build Version 002
(we're now on 021), I simply tell CVS to that I wish to check out
version 002. I expect it's a lot of work to set up for a one-man
shop, but it is invaluable when there are hundreds. I talked with
an engineer in a one-man shop that has everything under CVS control
with another computer across country mirroring the CVS repository.