curl-library
RE: Proposed VC6 Makefiles patches 1/3 (.\Makefile)
From: ArcosCom <samueldg_at_arcoscom.com>
Date: Thu, 7 Oct 2004 10:48:22 +0200
Date: Thu, 7 Oct 2004 10:48:22 +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 15Received on 2004-10-07