3389|0

72

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

没有标准的Sources文件 怎么看这个MAKEFILE文件 是怎么样生成.sys文件的 ? [复制链接]

如题 比较困惑!!!
望达人指点 万分感激!!!
由于刚刚看关于驱动开发方面的东东

MAKEFILE文件如下:
#
# Windows Driver Development Kit Makefile
#

# Windows Driver Development Kit base path
DDK = C:\WINDDK\3790.1830

!IFDEF WINDDK_3790_1830
DDK = $(WINDDK_3790_1830)
!ENDIF

BASENAME = svd
OS = wxp
ARCH = i386
MACHINE = IX86
DEFS = -D_X86_ -Di386
CC = $(DDK)\bin\x86\cl.exe
LD = $(DDK)\bin\x86\link.exe

CFLAGS = -nologo $(CFLAGS) \
-EHs-c- -Zp8 -GS -Gy -cbstring -Gz -Gm- \
-GR- -GF -W3 -Wp64 -FI$(DDK)\inc\$(OS)\warning.h \
-I$(DDK)\inc\$(OS) -I$(DDK)\inc\ddk\$(OS) \
-I$(DDK)\inc\ddk\wdm\$(OS) -I$(DDK)\inc\crt \
-I..\..\SVD -I..\..

DEFS = $(DEFS) -DNT4_DRIVER -DSTD_CALL -DCONDITION_HANDLING=1 \
-DNT_UP=1 -DNT_INST=0 -DWIN32=100 -D_NT1X_=100 \
-DWINNT=1 -D_WIN32_WINNT=0x0400 -DWIN32_LEAN_AND_MEAN=1 -DDEVL=1 \
-D_UNICODE -DLITTLE_ENDIAN -DFPO=0 -D_DLL=1 -D_IDWBUILD

LINK_OPTS = -nologo -machine:$(MACHINE) \
-MERGE:_PAGE=PAGE -MERGE:_TEXT=.text -SECTION:INIT,d \
-INCREMENTAL:NO -FORCE:MULTIPLE -RELEASE -FULLBUILD \
-IGNORE:4001,4037,4039,4065,4070,4078,4087,4089,4096 -NODEFAULTLIB \
-MERGE:.rdata=.text -MAP:$(BASENAME).map -svd -align:0x20 \
-subsystem:native -base:0x10000 -entry:DriverEntry

# Cryptography Objects
OBJECTS = RijndaelCryptograpy.obj RijndaelKeySchedule.obj RijndaelTable.obj \
Serpent.obj SHA1.obj Whirlpool.obj NTDriver.obj \
CRC.obj Cryptography.obj Endian.obj GfMul.obj PKCS5.obj Volumes.obj \
SVD.res
# NTVolume.obj

LIBS = $(DDK)\lib\$(OS)\$(ARCH)\ntoskrnl.lib \
$(DDK)\lib\$(OS)\$(ARCH)\hal.lib \
$(DDK)\lib\$(OS)\$(ARCH)\bufferoverflowK.lib

# Debug
CFLAGS = $(CFLAGS) -Gs -Z7 -Od -Oi -Oy-
DEFS = $(DEFS) -DDBG=1 -D_DEBUG -DDEBUG -DRDRDBG -DSRVDBG -DDBG_MESSAGES=1
LINK_OPTS = -debug $(LINK_OPTS)
COPYRELEASE =

!ENDIF

CFLAGS = $(CFLAGS) $(DEFS)

all: $(BASENAME).sys
       
{..}.c{}.obj :
        @$(CC) -c $(CFLAGS) $<

{..\..\SVD}.c{}.obj :
        @$(CC) -c $(CFLAGS) $<
               
{..}.rc{}.res :
        @echo SVD.rc
        @rc -r -fo SVD.res $<

$(BASENAME).sys : $(OBJECTS) $(LIBS)
        @echo Linking...
        @echo $(BASENAME).sys
        @$(LD) $(LINK_OPTS) $(OBJECTS) $(LIBS) -out:$(BASENAME).sys
        @$(COPYRELEASE)
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表