Skip to content

compile_module_ru

Serge Vakulenko edited this page Aug 26, 2015 · 2 revisions

Компиляция модулей uOS

Система состоит из набора модулей, которые компилируются независимо, в отдельных подкаталогах. При сборке пользователь указывает в файле target.cfg список модулей, которые необходимы для данного конкретного проекта.

Параметры модуля

Параметры конкретного модуля содержатся в его каталоге в файле module.cfg. Необходимо определить:

  • VPATH - список каталогов с исходными текстами модуля
  • OBJS - список объектных файлов модуля

Модуль получает параметры:

  • MODULEDIR - имя каталога с текстами модуля
  • ARCH - архитектура процессора для сборки
  • TARGET - путь к рабочему каталогу компиляции
  • OS - путь к текстам uOS
  • MODULE - название компилируемого модуля

Также модулю доступны все переменные, установленные в файле target.cfg. Таким образом, можно параметры компиляции всех модулей держать в одном месте, изменяя их при необходимости при сборке конкретной системы.

Пример:

VPATH  = $(MODULEDIR) $(MODULEDIR)/$(ARCH)

OBJS    = halt.o itake.o irelease.o lock.o lsignal.o ltry.o\
          main.o tcreate.o tdelete.o texit.o tname.o tprio.o\
          tsetprio.o tstack.o twait.o lgroup.o machdep.o\
          tprivate.o tsetprivate.o tyield.o

Для сборки модуля вызывается утилита make, используя общий скрипт uos/sources/module.cfg.

You can’t perform that action at this time.