cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: Proposed VC6 Makefiles patches 1/3 (.\Makefile)

From: Samuel Díaz García <samueldg_at_arcoscom.com>
Date: Thu, 07 Oct 2004 10:44:18 +0200

Daniel Stenberg writes:

On Wed, 6 Oct 2004, Samuel Díaz García (ArcosCom) wrote:
In general I don't have many comments about these changes as I'm not using
MSVC myself. I would appreciate if some MSVC user would comment Samuel's
patches.

+vc-clean:
+ cd lib
+ nmake -f Makefile.vc6 cfg=release distrib
+ nmake -f Makefile.vc6 cfg=release-ssl distrib
+ nmake -f Makefile.vc6 cfg=release-zlib distrib
+ nmake -f Makefile.vc6 cfg=release-ssl-zlib distrib

...
Why is the clean target named distrib?

 

Because it was the name that I see in one of the Makefiles, I don't know why
it was named "distrib", I only preserve the same as I could see.

Why do you need to invoke nmake a huge amount of times when the distrib
action in the makefile removes files by wildcard and thus you run the same
commands here very many times.

 

The initial design of lib/makefile.vc6 makes the diferent targets using the
CFG parameter, not as targets properly, for each CFG the makefiles build in
diferent subdirectory and I didn't see a reason to change that.

Because you can clean the diferent objs of libcurl independent deleting
directories as /lib/release-xxxxx or /lib/debug-xxxxx and its content, when
you need a clean make of some configs of libcurl was more easy "remove all".

+vc-all:
+ cd lib
+ nmake -f Makefile.vc6 cfg=release
+ nmake -f Makefile.vc6 cfg=release-ssl
+ nmake -f Makefile.vc6 cfg=release-zlib

Similarly here. Wouldn't it be easier and nicer if the Makefile itself has a
"all" target that builds everything, rather than invoking make a large
number of times? That is after all how Makefiles ususally are written.

 

The root Makefile, as I can see, is "multienvironment", and the common
targets as all, clean, etc... are for linux, not for Windows. If you use
nmake with "all" config (for example) then you make nothing and see some
errors because "all" is trying to execute scripts for linux.

The root Makefile (for VC6 and in the original design) is to make a libcurl
and a curl using that build of libcurl, and I don't change that purpose,
only adds new type of configs for libcurl. The root makefile invoques the
specific makefiles for libcurl and curl to do the purpose.

By design the libcurl makefile.vc6 can build into subdirectories, but the
curl makefile.vc6 only build in the src subdirectory. I haven't changed the
original idea, because I am only interested in one libcurl config under
windows for production purposes and curl only to test libcurl functions
parameters (to trace calls into libcurl.dll), and as the work can be used
for more developers, I extend it to more configs.

If there are some "nmake" experts for there, I invite them to optimice much
more the makefiles for VC6, in other words, I have prepared them into a
"works for me an others" state and I know that them (the makefiles) have to
be optimiced, but I have no much time to revise all posibilities and
configs.

A few notes on patches in general (for the future):
o Please attach them in mails rather than just pasting it, so that line
 wrapping doesn't risk ruining them.

Sorry, I don't know that you can attach files to the list, in other lists
you can't.
o Please concatenate them into a single file, no need to send many mails for
 one patch.
o Please make sure they use forward (unix-style) slashes in the diff -u
output
so that I (or whoever does the job) can apply them easily using patch on
 linux/unix.

 

Sorry again, I'm novice using these "linux tools", I will have more care
next time.

-- 
    Daniel Stenberg -- http://curl.haxx.se -- http://daniel.haxx.se
     Dedicated custom curl help for hire: http://haxx.se/curl.html 
 
Samuel Díaz Garcí­a
Director Gerente
ArcosCom Wireless, S.L.L. 
mailto:samueldg_at_arcoscom.com
http://www.arcoscom.com
móvil: 651 93 72 48
tlfn/fax: 956 70 13 15 
Received on 2004-10-07