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

  • From: timr@xxxxxxxxx
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Tue, 23 May 2006 21:34:44 -0700

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/

Other related posts: