Windows程序员与Makefile的情缘

      作为一个Windows下的程序员,我们一般习惯使用VisualStudio IDE作为自己的开发工具,作为一个大的工程,通常包含很多Project,为了使得编译的自动化,也常常采用makefile的方式编译。

      下面是我初步研究了某Windows驱动程序,结合《寒江独钓Windows内核安全编程》的source code的编译过程来讲述,如何在Visual Studio2008中配置,内核驱动开发的过程。

      

 

      1.首先按照VisualStudio2008,以及WDK。

      2.新建一个Project,取名为“First”,Solution名称为“KernelModeDriverDevelopment”。“Project Type”选择“Visual C++|Win32”,选择”Win32 Console Application”。下一步,单击“Application Settings”,选择“Console application”,勾选“Empty project”。完成。

      3.将source code拷贝到响应的目录下。这里将first相关的文件“first.c”拷贝到Project “First”目录下。

      4.在First目录下,创建一个“makefile”

如下:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@@@@@@@@@文件名为makefile@@@@@@@@@@@@@@@@@@@@

!IF 0

Copyright (C) Microsoft Corporation, 1999 - 2002

Module Name:

    makefile.

Notes:

    DO NOT EDIT THIS FILE!!!  Edit ./sources. if you want to add a new source
    file to this component.  This file merely indirects to the real make file
    that is shared by all the components of Windows NT (DDK)

!ENDIF

!INCLUDE $(NTMAKEENV)/makefile.def

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

     5在First目录下,创建一个“source”文件

      内容如下:

      TARGETNAME=first
      TARGETTYPE=DRIVER
      SOURCES=first.c
      TARGETPATH=obj

     6,然后就写编译所需的BATCH文件。在在First目录下,创建一个“first_build.bat”的文件

     内容如下:

     @echo on
     @echo build version is %1 for %2
     @echo off

     if "%4"=="/a" call my_clean %1 %2
     pushd
     set BASEDIR=../../Tools/6001.18002/
     popd

     pushd.
     call %BASEDIR%/bin/setenv.bat %BASEDIR% %1 %2
     popd

     @echo on
     build

     注意,上面的BASEDIR是与所安装的WDK路径相关联的。

    同样创建一个“first_clean.bat”的文件

    if exist Debug rd /s /q Debug
    if exist Release rd /s /q Release
    if exist obj%1_%2_x86 rd /s /q obj%1_%2_x86

     7.设置Project。

     右击First这一Project,选择“Properties”,选择“Configuration  Type”为“Makefile”。

     单击“NMake”,设置“Build Command Line”为“first_build.bat chk WXP”;设置“Rebuild All Commd Line”为“first_build.bat chk WXP”;设置“Clean Command Line”为“first_clear.bat”.

 

     OK,应该可以build成功啦。

     开始你的Windows内核编程之旅吧!

    

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值