Переход в требуемую папку

Для перехода в другую папку используется команда cd, аналогичная используемой в командной строке Windows. Аргументом команды является путь к папке относительно текущего каталога. Для обозначения каталога, содержащего текущий каталог (т.е. родительского) используется “..” (две точки).

Например:

Команда “CD Folder” перейдет в подкаталог Folder текущего каталога

Команда “CD..” перейдет в родительский каталог текущего каталога

Команда “CD..\Sibling” перейдет в “соседний” каталог (т.е. расположенный в родительском каталоге для текущего).

Папка в которой находятся файлы с исходным кодом драйвера также должна содержать два файла: makefile и sources.

Makefile является стандартным, и модифицировать его не рекомендуется. Он ссылается на другой файл makefile.def, находящийся в одной из директорий DDK и содержащий настройки для сборки драйверов.

Пример файла makefile:

# # DO NOT EDIT THIS FILE!!! Edit.\sources. if you want to add a new source # file to this component. This file merely indirects to the real make file # that is shared by all the driver components of the Windows NT DDK # !INCLUDE $(NTMAKEENV)\makefile.def

Source файл служит для указания компилируемых файлов и для задания некоторых настроек.

Пример файла source:

# Имя файла драйвера без расширения TARGETNAME=Mydriver # Путь к файлу драйвера из текущей директории # допускается использование специальных макросов, например $(BASEDIR), # по умолчанию указывает на корневую директорию DDK TARGETPATH=Path # Тип выходного файл: драйвер TARGETTYPE=DRIVER # Список дополнительных библиотек # разделитель – “ ” (пробел), переход на новую строку - "\" (обратный слеш) TARGETLIBS=Library1.lib Library2.lib> \ Library3.lib # Список имен компилируемых файлов # разделитель - " ", переход на новую строку - "\" SOURCES=File1. c File2.c \ File3.c

Символ “#” используется для комментирования.

Фактически файл задает значения некоторым переменным. Следует отметить, что между именем переменной и знаком равно не следует ставить пробел.

Основные требуемые имена переменных и их смысл указаны в примере.

Приведенных примеров файлов достаточно для компилирования Legacy драйвера режима ядра (состоящего из 3-х исходных файлов и включающего три библиотеки). (Для драйвера WDM, к примеру, требуется явное указание типа).

Следует упомянуть о возможности использования еще одного типа файлов – dirs.

Данные файлы служат для указания своих подкаталогов, в которых нужно произвести компиляцию. Таким образом, можно запускать компиляцию в директории с файлом dirs, при этом последовательно будет произведен поиск dirs-файлов во всех подкаталогах и т.д. до обнаружения source-файлов, которые укажут файлы, требующие компиляции.

Пример dir-файла

DIRS=SubFolder1 SubFolder2 \ SubFolder3

Полную информацию о средах сборки можно найти в DDK Documentation:

Widows DDK->Driver Developments Tools->The Build Utility.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: