DDK - build с различными файлами sources

Тема в разделе "WASM.NT.KERNEL", создана пользователем gektor, 10 май 2011.

  1. gektor

    gektor New Member

    Публикаций:
    0
    Регистрация:
    12 авг 2009
    Сообщения:
    23
    Вроде примитивнейший вопрос - но не могу ничего найти. Есть ли у утилиты build из DDK аналог опции -f как у make? То есть, нужна возможность заставить работать build с различными файлами sources.
     
  2. izl3sa

    izl3sa New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2010
    Сообщения:
    164
    Адрес:
    Spb
    нет, он работает с sources в текущей директории + DIRS.
     
  3. katrus

    katrus New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    612
    gektor

    Мое корявое решение данной проблемы - несколько файлов sources. Компиляция производится с помощью bat скриптов:
    Код (Text):
    1. rem build_xp.bat
    2. setenv.bat ... x86 WXP
    3. copy sources_xp sources
    4. build
    Потенциально, можно попробовать писать makfile для компляции в ddk.
     
  4. katrus

    katrus New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    612
    Кстати, поднял старуй код, посмотрел его еще раз. К компиляции с bat файлами, копирующими sorces я пришел намучавшись с макропроцессором build. Например, я попробовал сдалеть что то типа:
    Код (Text):
    1. !IF "$(DDK_TARGET_OS)"=="WinXP"
    2. !INCLUDE sources_1
    3. !ELSE
    4. !INCLUDE sources_2
    5. !ENDIF
    Опытным путем проверил, что "$(DDK_TARGET_OS)" действительно равен "WinXP". В файле sources_1 есть строчка SOURCES = 1.cpp, а в sources_2 есть строчка SOURCES = 2.cpp. При компиляции в XP среде, build все равно упорно ищет файл 2.cpp. Нет ли между !IF и !INCLUDE какой "заковыки"?
     
  5. izl3sa

    izl3sa New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2010
    Сообщения:
    164
    Адрес:
    Spb
    билд система ддк довольно дубовая, шаг влево-вправо от документации - расстрел. Не советовал был.
     
  6. h0t

    h0t Member

    Публикаций:
    0
    Регистрация:
    3 апр 2011
    Сообщения:
    735
    Присоединяюсь)
     
  7. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    [оказалось бессмысленным]
     
  8. gektor

    gektor New Member

    Публикаций:
    0
    Регистрация:
    12 авг 2009
    Сообщения:
    23
    А нельзя ли "сконвертировать" файл sources в makefile и использовать nmake вместо build?
     
  9. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    Сконвертировать вряд ли, но можно makefile руками написать и среду настроить, чтобы с build не возиться. Некоторые так делают.
     
  10. JivotnoE

    JivotnoE New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2009
    Сообщения:
    10
    я через nmake из WDK собираю.
    katrus
    Есть source.inc где необходимые веши разруливаются по типу.
    Код (Text):
    1. !if $(_NT_TARGET_VERSION) == $(_NT_TARGET_VERSION_VISTA)
    2. C_DEFINES=$(C_DEFINES) -DBLABLA=1
    3. !ELSE
    4. !IF $(_NT_TARGET_VERSION) == $(_NT_TARGET_VERSION_WINXP)
    5. C_DEFINES=$(C_DEFINES) -DBLABLA=0      
    6. !else
    7. !error !!!-> NOT SUPPORTED OS VERSION <-!!!
    8. !ENDIF
    9. !ENDIF
    Попробуй разрулить TARGETTYPE и все что тебе нужно через него.
     
  11. gektor

    gektor New Member

    Публикаций:
    0
    Регистрация:
    12 авг 2009
    Сообщения:
    23
    JivotnoE

    Пробовал. Судя по всему между условной компиляцией (!IF !ELSE !END) и включением файлов (SOURCES=) есть конфликт. Банально не работает.