【问题标题】:Preprocessing on the sources file of device driver设备驱动源文件的预处理
【发布时间】:2010-09-08 06:37:44
【问题描述】:
C_DEFINES=$(C_DEFINES) -D_PRODUCT_A
//C_DEFINES=$(C_DEFINES) -D_PRODUCT_B

#ifdef PRODUCT_A // <- I want to do doing like this in a sources file.
MOST_SOURCES= a.c b.c productA.c
#elif PRODUCT_B
MOST_SOURCES= a.c b.c productB.c
#endif

有正确的语法吗?

【问题讨论】:

    标签: windows device-driver nmake


    【解决方案1】:

    这不起作用,因为 nmake (build?) 只使用文件中的第一 SOURCES 行

    !IFDEF NEW_SRC
    SOURCES=src1.c src2.c src3.c
    !ELSE
    SOURCRS=src3.c src4.c src5.c
    !ENDIF
    

    但是,您可以包含以下环境变量:

    SOURCES=\
            purecall.c                  \
            driver_base.cpp             \
            capture.cpp                     \
            device.cpp                  \
            $(_rc_filename)                 
    

    或者你做类似的事情:

    makefile.inc
    --------------
    !IFDEF NEW_SRC
    MY_SRC=src1.c src2.c src3.c
    !ELSE
    MY_SRC=src3.c src4.c src5.c
    !ENDIF
    
    !IF [echo SOURCES=$(MY_SRC) > sources.inc]
    !ENDIF
    
    sources
    --------
    NTTARGETFILE0=
    TARGETNAME=mylib
    TARGETTYPE=LIBRARY
    .
    .
    .
    !include sources.inc
    
    
    mybuild.bat
    -------------
    build -Z0
    build -Zcef
    

    (取自OSR online邮件列表)

    【讨论】:

      猜你喜欢
      • 2011-07-19
      • 1970-01-01
      • 2012-05-26
      • 1970-01-01
      • 2021-09-25
      • 2013-10-29
      • 1970-01-01
      • 2012-07-30
      • 1970-01-01
      相关资源
      最近更新 更多