Информация об изменениях

Сообщение Re[3]: А как заставить ddk собирать неиспользуемый код ? от 08.10.2018 8:17

Изменено 08.10.2018 8:41 smbdnew

Re[3]: А как заставить ddk собирать неиспользуемый код ?
Здравствуйте, okman, Вы писали:

O>Вместе с WDK 7 идет набор документации, самое полное описание там, скорее всего.

O>У MS есть тенденция вместе с обновлением своих тулкитов старую документацию прятать куда-то на задворки
O>или вообще убирать...

Всё что нашёл, только "PREfast for Drivers" и "Static Driver Verifier".
Меня интересует вот что — сейчас build command выглядит так

C:\Windows\System32\cmd.exe /k "C:\WinDDK\7600.16385.1\bin\setenv.bat C:\WinDDK\7600.16385.1\ chk x86 WIN7 no_oacr & cd /d $(ProjectDir) & build"
C:\Windows\System32\cmd.exe /k "C:\WinDDK\7600.16385.1\bin\setenv.bat C:\WinDDK\7600.16385.1\ chk x64 WIN7 no_oacr & cd /d $(ProjectDir) & build"
copy "$(ProjectDir)objchk_win7_x86\i386\drv.sys" "$(TargetDir)drv.sys" /y
copy "$(ProjectDir)objchk_win7_amd64\amd64\drv.sys" "$(TargetDir)drv64.sys" /y


Билд под х64 и х86 сразу. До этого момента устраивало, но теперь нужен третий — тоже х64, но еще с дополнительным макросом (#define).
Причём, желательно бы этот макрос обработать еще до компиляции в sources, что бы задать свой TARGETNAME на каждый тип билда, поскольку вторая x64 версия ляжет в ту же objXXX_win7_x64 (можно конечно переименовать после первого билда, но хочется что бы на выходе было 3 комплекта obj/sys/pdb без танцев с бубном).

Ну или как бы по другому реализовать бы задуманное?

upd. Пришла идея в голову использовать разные sources, получилось примерно так
project
    one.c
    two.c
    \build        \x64v2            makefile
            sources
        \x64            makefile
            sources

каждый выглядит примерно так
SOURCES = ..\entry.c ..\dispatch.c ..\routines.c


Но утилита в упор отказывается их видеть. ЧЯДНТ ?
Re[3]: А как заставить ddk собирать неиспользуемый код ?
Здравствуйте, okman, Вы писали:

O>Вместе с WDK 7 идет набор документации, самое полное описание там, скорее всего.

O>У MS есть тенденция вместе с обновлением своих тулкитов старую документацию прятать куда-то на задворки
O>или вообще убирать...

Всё что нашёл, только "PREfast for Drivers" и "Static Driver Verifier".
Меня интересует вот что — сейчас build command выглядит так

C:\Windows\System32\cmd.exe /k "C:\WinDDK\7600.16385.1\bin\setenv.bat C:\WinDDK\7600.16385.1\ chk x86 WIN7 no_oacr & cd /d $(ProjectDir) & build"
C:\Windows\System32\cmd.exe /k "C:\WinDDK\7600.16385.1\bin\setenv.bat C:\WinDDK\7600.16385.1\ chk x64 WIN7 no_oacr & cd /d $(ProjectDir) & build"
copy "$(ProjectDir)objchk_win7_x86\i386\drv.sys" "$(TargetDir)drv.sys" /y
copy "$(ProjectDir)objchk_win7_amd64\amd64\drv.sys" "$(TargetDir)drv64.sys" /y


Билд под х64 и х86 сразу. До этого момента устраивало, но теперь нужен третий — тоже х64, но еще с дополнительным макросом (#define).
Причём, желательно бы этот макрос обработать еще до компиляции в sources, что бы задать свой TARGETNAME на каждый тип билда, поскольку вторая x64 версия ляжет в ту же objXXX_win7_x64 (можно конечно переименовать после первого билда, но хочется что бы на выходе было 3 комплекта obj/sys/pdb без танцев с бубном).

Ну или как бы по другому реализовать бы задуманное?

upd. Пришла идея в голову использовать разные sources, получилось примерно так
project
    one.c
    two.c
    \build        \x64v2            makefile
            sources
        \x64            makefile
            sources

каждый выглядит примерно так
SOURCES = ..\one.c ..\two.c


Но утилита в упор отказывается их видеть. ЧЯДНТ ?