chens
驱动牛犊
驱动牛犊
  • 注册日期2002-11-19
  • 最后登录2003-05-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:818回复:0

Windriver Kernel Plugin例子中的kptest.mak应如何修改才能生成kptest.sys?

楼主#
更多 发布于:2003-01-17 16:18

DRV_NAME  = kptest
BASEDIR=D:\\NTDDK
!ifdef WIN95
BINDIR     = WIN95
DRV_NM     = $(DRV_NAME).vxd
CVXDFLAGS  = -Zdp -Gs -c -DIS_32 -Zl -DDEBLEVEL=1 -DDEBUG -DWIN95  

-D__KERNEL__
AFLAGS     = -coff -DBLD_COFF -DIS_32 -W2 -Zd -c -Cx -DMASM6

-DDEBLEVEL=1 -DDEBUG
INCDIRS    =
!else
!ifndef BASEDIR
!ERROR set BASEDIR enviroment variable to the of NTDDK path. For

example: SET BASEDIR=C:\\NTDDK
!endif
BINDIR     = WINNT
DRV_NM     = $(DRV_NAME).sys
CVXDFLAGS  = -nologo -DWINVER=0x030A -D_X86_=1 -Di386=1 -DWINNT  

-D__KERNEL__ -DSTD_CALL -DCONDITION_HANDLING=1 -DWIN32_LEAN_AND_MEAN=1

-DNT_UP=1  -DNT_INST=0 -DWIN32=100 -D_NT1X_=100 -DNT_UP=1 -Dtry=__try

-Dleave=__leave -Dexcept=__except -Dfinally=__finally

-D_CRTAPI1=__cdecl -D_CRTAPI2=__cdecl  -Ditoa=_itoa  -Dstrcmpi=_strcmpi

 -Dstricmp=_stricmp  -Dwcsicmp=_wcsicmp  -Dwcsnicmp=_wcsnicmp  -DDBG=0

-DDEVL=1 -DFPO=1 -D_IDWBUILD /c /Zel /Zp8 /Gy /W3 /Gz /G4 /Oxs /Gf /Oy
INCDIRS    = -I. -I$(BASEDIR)\\inc -I$(BASEDIR)\\inc\\ddk

-I$(BASEDIR)\\inc\\crt
!endif
LIBDIR     = c:\\Windriver\\kerplug\\lib

OBJECTS= $(BINDIR)\\kptest.obj

all: direxist $(BINDIR)\\$(DRV_NM)

direxist:
        if not exist $(BINDIR)\\nul    md $(BINDIR)

$(BINDIR)\\kptest.obj: kptest.c
        cl $(CVXDFLAGS) $(INCDIRS) -Fo$@ %s

!ifndef WIN95
$(BINDIR)\\kptest.res: kptest.rc
    rc -l 409  -r -fo $@ -D_X86_=1 -Di386=1  -DSTD_CALL

-DCONDITION_HANDLING=1 -DWIN32_LEAN_AND_MEAN=1 -DNT_UP=1  -DNT_INST=0

-DWIN32=100 -D_NT1X_=100 -DNT_UP=1 -Dtry=__try -Dleave=__leave

-Dexcept=__except -Dfinally=__finally -D_CRTAPI1=__cdecl

-D_CRTAPI2=__cdecl  -Ditoa=_itoa  -Dstrcmpi=_strcmpi  

-Dstricmp=_stricmp  -Dwcsicmp=_wcsicmp  -Dwcsnicmp=_wcsnicmp  -DDBG=0

-DDEVL=1 -DFPO=1 -D_IDWBUILD $(INCDIRS) %s
!endif

!ifdef WIN95
$(BINDIR)\\$(DRV_NM): $(OBJECTS) kptest.def
        echo >NUL @<<$(DRV_NAME).crf
-MACHINE:i386 -DEBUG:NONE -PDB:NONE
-DEF:kptest.def -OUT:$@ -MAP:$(BINDIR)\\$(DRV_NAME).map
-VXD $(OBJECTS) $(LIBDIR)\\kp_95w.obj $(LIBDIR)\\kp_95.lib
-IGNORE:4039 -IGNORE:4078
<<
        link @$(DRV_NAME).crf
        cd $(BINDIR)
        mapsym $(DRV_NAME)
        cd ..
!else

$(BINDIR)\\$(DRV_NM): $(OBJECTS) $(BINDIR)\\kptest.res
        echo >NUL @<<$(DRV_NAME).crf
-MERGE:_PAGE=PAGE
-MERGE:_TEXT=.text
-SECTION:INIT,d
-OPT:REF
-RELEASE
-INCREMENTAL:NO
-FULLBUILD
-FORCE:MULTIPLE
-IGNORE:4001 -IGNORE:4037 -IGNORE:4039 -IGNORE:4065 -IGNORE:4070

-IGNORE:4078 -IGNORE:4087 -IGNORE:4089
-PDB:NONE
-debug:notmapped,FULL
-debugtype:coff
-version:3.51
-osversion:3.51
-MERGE:.rdata=.text
-align:0x20
-subsystem:native,3.51
-machine:i386
-base:0x10000
-entry:DriverEntry@8
-driver
$(LIBDIR)\\kp_nt.lib
$(BASEDIR)\\libfre\\i386\\ntoskrnl.lib
$(BINDIR)\\kptest.res
$(BINDIR)\\kptest.obj
-out:$@
<<
        link @$(DRV_NAME).crf
!endif

clean:
        -@del /Q $(BINDIR)\\*
执行nmake /f kptest.mak,出错,我该怎么改?
游客

返回顶部