[wdmaudiodev] Re: BUILD.EXE from WDK 5365 now build using 2 makefiles.

  • From: Kenny Ong <fluffy_ko@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Wed, 24 May 2006 02:30:30 -0700 (PDT)

> That's not true. It would use "makefile" automatically, if present, as
it was supposed be in every leaf directory, and it would happily do 
nothing if there was no makefile present:

  I believe you are running the BUILD.EXE in an empty folder (i.e. with no 
sources file), and that explaint why the BUILD.EXE doesn't complaint about 
missing makefile... Try running in a valid source folder (fresh) with no 
makefile present, and you will see what i mean.
   
  > The WDK is apparently encoding this knowledge into the "build" command
itself, instead of relying on the user to copy that file everywhere.

  Agreed, but the problem with the WDK's BUILD.EXE is that it will include both 
the makefiles if i choose to use a custom makefile (i.e. "-nmake /f 
makefile.nt").
   
  Ultimately what i'm expecting is that the BUILD.EXE should not include the 
default makefile (either the makefile that reside in the source folder, or the 
makefile from the WDK's Bin folder) when i specify the "/f" parameter.
   
   
  Thanks!
  Kenny Ong.
   
  
timr@xxxxxxxxx wrote:
  On Tue, May 23, 2006 at 02:24:36AM -0700, Kenny Ong wrote:
> 
> When using the WDK 5365, i notice that there are some behaviour changed 
>with the BUILD.EXE...
> Previously when you try to invoke the BUILD.EXE without specifying
> any makefile (i.e. /f makefile), it will generate a missing makefile
> errormessage.

That's not true. It would use "makefile" automatically, if present, as
it was supposed be in every leaf directory, and it would happily do 
nothing if there was no makefile present:

C:\tmp>mkdir empty

C:\tmp>cd empty

C:\tmp\empty>build
BUILD: Adding /Y to COPYCMD so xcopy ops won't hang.
BUILD: Object root set to: ==> objfre_wxp_x86
BUILD: Compile and Link for i386
BUILD: Loading C:\DDK\3790~1.183\build.dat...
BUILD: Computing Include file dependencies:
BUILD: Saving C:\DDK\3790~1.183\build.dat...
BUILD: Done

C:\tmp\empty>

> But this time round in WDK 5365 it doesn't, instead it
> automatically append the MAKEFILE.DEF (\\5365\Bin folder) to be the
> default makefile used in NMAKE.
> i.e. nmake BUILDMSG=Stop. -i /f d:\WINDDK\5365\bin\makefile.def ...
> 
> This may seems to resolve the problem of not having or forget to
> include any makefile, but it may also creates problem if you specify
> your own makefile (i.e. BUILD.EXE -nmake "-f makefile.nt"):
> 
> e.g. only 1 makefile (MAKEFILE.NT)
> nmake BUILDMSG=Stop. /f makefile.nt -i /f d:\WINDDK\5365\bin\makefile.def ...
> 
> e.g. 2 makefiles reside in the project folder (MAKEFILE.NT and MAKEFILE)
> nmake BUILDMSG=Stop. /f makefile.nt -i /f d:\MyProj\Driver\makefile ...
> 
> Could this be a bug in the BUILD.EXE? Or is there any argument that i can 
> pass to BUILD.EXE to ignore the default makefile?

I suspect you were simply getting away with a usage that they never
intended to support. In *EVERY* DDK sample driver, and in every DDK
driver I've ever built or seen, every build directory has a file called 
"makefile" that contains exactly one non-comment line:

!INCLUDE $(NTMAKEENV)\makefile.def

The WDK is apparently encoding this knowledge into the "build" command
itself, instead of relying on the user to copy that file everywhere.
-- 
- Tim Roberts, timr@xxxxxxxxx
Providenza & Boeklheide, Inc.
******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/



                
---------------------------------
Yahoo! Messenger with Voice. PC-to-Phone calls for ridiculously low rates.

Other related posts: