Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: сборка двух модулей из одной директории
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Linux
romez777
Приветствую.

Есть ли возможность собрать два разных модуля, исходники которых находятся в одной директории, средствами линуксового make'a ? Поясню, у меня есть есть makefile такого содержания:


MY_SRCDIR := ../../../../../my_sources/

obj-$(CONFIG_MYMODULE) := module1.o

ifneq ($(wildcard $(src)/$(MY_SRCDIR)/),)
EXTRA_CFLAGS += -I$(src)/$(MY_SRCDIR)
module1-objs := $(MY_SRCDIR)/module1.o
else
module1-objs := $(MY_SRCDIR)/module1.o
endif

ifneq ($(KERNELRELEASE),)
# kbuild part of makefile
else
# Normal makefile
KERNELDIR := ../../../../../linux/linux-2.6
all:
$(MAKE) -C $(KERNELDIR) M=`pwd`

clean:
$(MAKE) -C $(KERNELDIR) M=`pwd` clean
endif

clean-files += $(MY_SRCDIR)/*.o $(MY_SRCDIR)/.*.o.cmd
#

Если добавить еще один obj-$(CONFIG_MYMODULE) := module2.o то компилируется только module2.ko, т.е. make подхватывает последнее определение модуля

Читал 'Documentation/kbuild/makefiles.txt' но к сожалению просветления не принесло.
Как объяснить в makefile'e чтобы собирались два разных модуля?

Спасибо!
romez777
Слона-то я и не приметил smile.gif
Отвечаю сам себе, м.б. кому-то это также будет полезно. Для сборки двух и более модулей из одной директории достаточно перечислить соответствующие модули в теге 'obj-':

obj-$(CONFIG_MYMODULE) := module1.o module2.o

..и также не забыть:

module1-objs := $(MY_SRCDIR)/module1.o
module2-objs := $(MY_SRCDIR)/module2.o
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.