romez777 0 18 мая, 2010 Опубликовано 18 мая, 2010 · Жалоба Приветствую. Есть ли возможность собрать два разных модуля, исходники которых находятся в одной директории, средствами линуксового 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 0 20 мая, 2010 Опубликовано 20 мая, 2010 · Жалоба Слона-то я и не приметил :) Отвечаю сам себе, м.б. кому-то это также будет полезно. Для сборки двух и более модулей из одной директории достаточно перечислить соответствующие модули в теге 'obj-': obj-$(CONFIG_MYMODULE) := module1.o module2.o ..и также не забыть: module1-objs := $(MY_SRCDIR)/module1.o module2-objs := $(MY_SRCDIR)/module2.o Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться