cURL / Mailing Lists / curl-users / Single Mail



From: David Byron <>
Date: Wed, 21 May 2003 10:07:22 -0700

I'm a fan of having makefiles so that if I run make, and then run it a
second time, it doesn't do anything the second time.

For me, that doesn't happen with src/Makefile.vc6.

I see two areas for change. One is that release and debug say they depend
on RELEASE_OBJS and DEBUG_OBJS respectively, but really don't. The linker
looks for e. g. main.obj for both release and debug. It never looks for
mainr.obj or maind.obj.

The other is that the name of the executable is the same for both release.
After changing the above, typing make twice still ends up invoking the
linker every time. I think what I want is to make the release target
.PHONY, but that's a GNU make thing. Not sure how to do that in nmake. If
the executables are named differently for debug and release, I know how to
fix it.

I can think of two ways to fix this, if folks are interested. One has
separate names for debug and release objects and executables that can be
built basically independently. You can say 'nmake' and 'nmake debug' and
they'll both happily produce output that doesn't step on each other all in
the same directory.

The other way has everything named the same. Then, nmake and nmake debug
should probably stick their output in separate directories or they could
step on each other. In other words, build everything with plain nmake.
Then, edit main.c. Type nmake debug and you'll get main.obj that's built
with debug, but everything else isn't. curl.exe might link, or it might
not, and it might not do what you want.

Do other people care about this, or have preferences for which way this
should work? I haven't looked at the unix makefiles closely enough to see
how they work. At first glance, I don't see any debug builds happening.

Thanks much.


David Byron         
6591 Dumbarton Circle         voice:(510)818-5550
Fremont, CA  94555            fax:(510)818-5510
This email is sponsored by: ObjectStore.
If flattening out C++ or Java code to make your application fit in a
relational database is painful, don't do it! Check out ObjectStore.
Now part of Progress Software.
Received on 2003-05-21