appleman4000
驱动牛犊
驱动牛犊
  • 注册日期2005-07-07
  • 最后登录2008-02-16
  • 粉丝0
  • 关注0
  • 积分78分
  • 威望16点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1263回复:1

请教各位,这个make文件是用什么工具编译的啊?

楼主#
更多 发布于:2005-08-06 16:35
  PROJ = USBLBK
PROJFILE = USBLBK.MAK
DEBUG = 1

PWBRMAKE  = pwbrmake
NMAKEBSC1  = set
NMAKEBSC2  = nmake
CC  = cl
CFLAGS_G  = /AL /BATCH /FR$*.sbr
CFLAGS_D  = /Od /Zi /Gi$(PROJ).mdt
CFLAGS_R  = /Ot
MAPFILE_D  = NUL
MAPFILE_R  = NUL
LFLAGS_G  = /NOI /STACK:16384       /BATCH
LFLAGS_D  = /CO /FAR /PACKC
LFLAGS_R  = /EXE /FAR /PACKC
LINKER       = link
ILINK  = ilink
LRF  = echo > NUL
BRFLAGS  = /o $(PROJ).bsc
BROWSE       = 1

OBJS  = LIST.obj LOW.obj PCI.obj PCIFIXUP.obj PCIIRQ.obj PCILOW.obj TEST.obj\
       EHCI.obj HCD.obj USB.obj HUB.obj PM.obj OHCI.obj UHCI.obj AMECAM.obj\
       GLOBAL.obj
SBRS  = LIST.sbr LOW.sbr PCI.sbr PCIFIXUP.sbr PCIIRQ.sbr PCILOW.sbr TEST.sbr\
       EHCI.sbr HCD.sbr USB.sbr HUB.sbr PM.sbr OHCI.sbr UHCI.sbr AMECAM.sbr\
       GLOBAL.sbr

all: $(PROJ).exe

.SUFFIXES:
.SUFFIXES: .obj .sbr .c

LIST.obj : LIST.C typedef.h List.h

LIST.sbr : LIST.C typedef.h List.h

LOW.obj : LOW.C typedef.h low.h List.h

LOW.sbr : LOW.C typedef.h low.h List.h

PCI.obj : PCI.C typedef.h low.h List.h pci.h pci_ids.h pm.h

PCI.sbr : PCI.C typedef.h low.h List.h pci.h pci_ids.h pm.h

PCIFIXUP.obj : PCIFIXUP.C typedef.h low.h List.h pci.h pci_ids.h pm.h

PCIFIXUP.sbr : PCIFIXUP.C typedef.h low.h List.h pci.h pci_ids.h pm.h

PCIIRQ.obj : PCIIRQ.C typedef.h low.h List.h pci.h pci_ids.h pm.h

PCIIRQ.sbr : PCIIRQ.C typedef.h low.h List.h pci.h pci_ids.h pm.h

PCILOW.obj : PCILOW.C typedef.h low.h pci.h List.h pci_ids.h pm.h

PCILOW.sbr : PCILOW.C typedef.h low.h pci.h List.h pci_ids.h pm.h

TEST.obj : TEST.C typedef.h low.h pci.h hcd.h usb.h ehci.h ohci.h uhci.h hub.h\
       amecam.h List.h pci_ids.h pm.h

TEST.sbr : TEST.C typedef.h low.h pci.h hcd.h usb.h ehci.h ohci.h uhci.h hub.h\
       amecam.h List.h pci_ids.h pm.h

EHCI.obj : EHCI.C typedef.h low.h List.h pci.h ehci.h hcd.h hub.h pci_ids.h\
       pm.h usb.h

EHCI.sbr : EHCI.C typedef.h low.h List.h pci.h ehci.h hcd.h hub.h pci_ids.h\
       pm.h usb.h

HCD.obj : HCD.C typedef.h low.h List.h pci.h hcd.h usb.h pci_ids.h pm.h hub.h

HCD.sbr : HCD.C typedef.h low.h List.h pci.h hcd.h usb.h pci_ids.h pm.h hub.h

USB.obj : USB.C typedef.h low.h List.h usb.h

USB.sbr : USB.C typedef.h low.h List.h usb.h

HUB.obj : HUB.C typedef.h low.h List.h usb.h hub.h

HUB.sbr : HUB.C typedef.h low.h List.h usb.h hub.h

PM.obj : PM.C typedef.h low.h List.h pm.h

PM.sbr : PM.C typedef.h low.h List.h pm.h

OHCI.obj : OHCI.C typedef.h low.h List.h pci.h ohci.h hcd.h hub.h pci_ids.h\
       pm.h usb.h

OHCI.sbr : OHCI.C typedef.h low.h List.h pci.h ohci.h hcd.h hub.h pci_ids.h\
       pm.h usb.h

UHCI.obj : UHCI.C typedef.h low.h List.h pci.h uhci.h hcd.h hub.h pci_ids.h\
       pm.h usb.h

UHCI.sbr : UHCI.C typedef.h low.h List.h pci.h uhci.h hcd.h hub.h pci_ids.h\
       pm.h usb.h

AMECAM.obj : AMECAM.C typedef.h low.h List.h usb.h amecam.h

AMECAM.sbr : AMECAM.C typedef.h low.h List.h usb.h amecam.h

GLOBAL.obj : GLOBAL.C typedef.h low.h pci.h hcd.h usb.h ehci.h ohci.h uhci.h\
       hub.h amecam.h List.h pci_ids.h pm.h

GLOBAL.sbr : GLOBAL.C typedef.h low.h pci.h hcd.h usb.h ehci.h ohci.h uhci.h\
       hub.h amecam.h List.h pci_ids.h pm.h


$(PROJ).bsc : $(SBRS)
       $(PWBRMAKE) @<<
$(BRFLAGS) $(SBRS)
<<

$(PROJ).exe : $(OBJS)
!IF $(DEBUG)
       $(LRF) @<<$(PROJ).lrf
$(RT_OBJS: = +^
) $(OBJS: = +^
)
$@
$(MAPFILE_D)
$(LLIBS_G: = +^
) +
$(LLIBS_D: = +^
) +
$(LIBS: = +^
)
$(DEF_FILE) $(LFLAGS_G) $(LFLAGS_D);
<<
!ELSE
       $(LRF) @<<$(PROJ).lrf
$(RT_OBJS: = +^
) $(OBJS: = +^
)
$@
$(MAPFILE_R)
$(LLIBS_G: = +^
) +
$(LLIBS_R: = +^
) +
$(LIBS: = +^
)
$(DEF_FILE) $(LFLAGS_G) $(LFLAGS_R);
<<
!ENDIF
       $(LINKER) @$(PROJ).lrf
       $(NMAKEBSC1) MAKEFLAGS=
       $(NMAKEBSC2) $(NMFLAGS) -f $(PROJFILE) $(PROJ).bsc


.c.obj :
!IF $(DEBUG)
       $(CC) /c $(CFLAGS_G) $(CFLAGS_D) /Fo$@ $<
!ELSE
       $(CC) /c $(CFLAGS_G) $(CFLAGS_R) /Fo$@ $<
!ENDIF

.c.sbr :
!IF $(DEBUG)
       $(CC) /Zs $(CFLAGS_G) $(CFLAGS_D) /FR$@ $<
!ELSE
       $(CC) /Zs $(CFLAGS_G) $(CFLAGS_R) /FR$@ $<
!ENDIF


run: $(PROJ).exe
       $(PROJ).exe $(RUNFLAGS)

debug: $(PROJ).exe
       CV $(CVFLAGS) $(PROJ).exe $(RUNFLAGS)
readilen
驱动牛犊
驱动牛犊
  • 注册日期2007-03-16
  • 最后登录2012-12-18
  • 粉丝0
  • 关注0
  • 积分637分
  • 威望78点
  • 贡献值0点
  • 好评度63点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-03-16 22:32
在Microsoft VC++ 没出现之前,在linux下编程,makefile可是个非常不错的东东,
简而言之 就是批处理命令,他把各种编译命令的参数 文件,都写进makefile ,
编译时侯,只需要更改几个常量,然后一个make 或nmake命令 就搞定,自动分析那个文件改变了,随之要重新编译引用这个改变文件的所有的其他文件,使程序员摆脱 一行一行敲命令的繁琐状态,现在用途仍然很广,特别在没有集成开发环境时候,用上一用,很是得意,
游客

返回顶部